库函数与系统函数的关系

你有没有想过,当你在文本编辑器里面,潇洒的写下一行printf("hello world!");,这字符串是怎么显示到屏幕上的,,
不管过程是如何实现的,最终显示的我们的显示器,这是硬件的实现,,似乎没有听说过C标准函数printf可以直接操作硬件的,,
printf也好,还是其他的什么操作都是我们应用了一门编程语言在文本编辑器里面写下的一行行的代码,,
这些代码对应到最后再硬件上的实现是向下进行了一层层的调用的
printf做的是一种输出,即文件操作,会有一个文件描述符的向下调用
Linux的系统API分为以下几层
应用层:也即用户空间0-3G里面属于用户能访问的那些,这里调用write(fd,“hello world!”, s),可以进行空间的转换,进入系统内核空间
系统层:能对3-4G这段内核空间进行操作,这里调用sys_write(),进入内核维护了一些驱动,可以调用内核的设备驱动函数
内核层:调用设备驱动函数
硬件层:设备驱动函数驱动显示器进行字符显示

浙公网安备 33010602011771号