3.22系统IO与显示器和键盘

date comments categories tags permalink title
2020/3/6
true
操作系统
内存
换入换出
3.22
I/O与显示器和键盘

操作系统把一切外设都映射为文件,被称作设备文件(相对于我们常见的磁盘文件)

3.22系统IO与显示器和键盘

而常见的设备文件又分为三种:

  • 字符设备 如键盘,鼠标,串口等(以字节为单位顺序访问)
  • 块设备 如磁盘驱动器,磁带驱动器,光驱等(均匀的数据库访问)
  • 网络设备 如以太网,无线,蓝牙等(格式化报文交换)

以printf("hello world");为例说明这行代码是如何在控制台输出字符的. 3.22系统IO与显示器和键盘

这里的sys_write第一个参数是从父进程(shell)拷贝而来.

3.22系统IO与显示器和键盘

从上图可以看出,每个进程(PCB)都有一个自己的file_table,存放inode

3.22系统IO与显示器和键盘

3.22系统IO与显示器和键盘

3.22系统IO与显示器和键盘

3.22系统IO与显示器和键盘

如上面图中所示,通过一系列函数的调用,最终在内存的指定位置(显存)写入了我们要打印的字符(包括字符的属性),然后光标移动一个字符(pos+=2);

键盘相对简单,操作系统收到来自键盘的信号,把信号与ascii码表进行对比,从而得到用户的输入内容。当然这个过程一般会回显在显示器上,不再赘述。