printf对应一段操作外设的程序,先创建内存缓冲区将格式化输出储存,然后用write写入
1 | int fd = open("/dev/xxx");//打开显示器对应的设备驱动文件,也是系统调用函数 |
注:这里的fd也就是文件描述符,显示器对应的就是文件描述符1:标准输出(stdout)。关于什么是文件描述符,感兴趣可参见https://zhuanlan.zhihu.com/p/108744787
不论设备都是open,read,write,close,操作系统都为用户提供统一接口(系统调用)
最终都是执行int 0X80陷入到内核,执行sys_write,然后一个字符一个字符将缓冲区的数据写入到外设的设备文件中,显卡将文字显示到显示器上