5.1.1 IO设备的概念和分类
按使用特性分类:人机交互类外部设备(鼠标、键盘、打印机等,用于人机交互,数据传输速度慢);存储设备(移动硬盘、光盘等,数据传输速度快);网络通信设备(调制解调器、路由器等,用于网络通信,数据传输速度介于上述二者之间)
按传输速率分类:低速设备(鼠标、键盘等,传输速率为每秒几个到几百字节);中速设备(激光打印机等,传输速率为每秒数千个到上万个字节);高速设备(磁盘等,传输速率为每秒数千字节到千兆字节的设备)
按信息交换的单位分类:块设备(如磁盘等,数据传输的基本单位是“块”,传输速率较高,可寻址,即对它可随机地读/写任一块);字符设备(鼠标键盘等,数据传输的基本单位是字符,传输速率较慢,不可寻址,在输入/输出时常采用中断驱动方式)
5.1.2 IO控制器
一个I/O控制器可能会对应多个设备;
数据寄存器、控制寄存器、状态寄存器可能有多个(如每个控制/状态寄存器对应一个具体的设备),且这些寄存器都要有相应的地址,才能方便CPU操作。有的计算机会让这些寄存器占用内存地址的一部分,成为内存映像I/O;另一些计算机则采用I/O专用地址,即寄存器独立编址。
5.1.3 IO控制方式
程序直接控制方式
中断驱动方式
DMA方式
若想读入多个离散的块,CPU要发送多次命令。
通道控制方式
5.1.4 IO软件层次结构
为何不同的设备需要不同的设备驱动程序?不同设备的内部硬件特性不同,这些特性只有厂家才知道,因此厂家须提供与设备相对应的驱动程序,CPU执行驱动程序的指令序列,来完成设置设备寄存器,检查设备状态等工作。
中断处理程序和设备驱动程序都需要和硬件直接打交道。
5.1.5 输入输出应用程序接口&设备驱动程序接口
5.2.1 IO核心子系统
5.2.2 假脱机技术
脱机:脱离主机的控制进行输入/输出操作。
(因为还有用户进程)
5.2.3 设备的分配与回收
只有设备、控制器、通道三者都分配成功时,这次设备分配才算成功,之后便可启动I/O设备进行数据传送。
5.2.4 缓冲区管理
结论:采用单缓冲策略,处理一块数据平均耗时MAX(C,T)+M
结论:采用双缓冲策略,处理一个数据块的平均耗时为MAX(T,C+M)
习题随便总结一下
共享设备是指一段时间内允许多个进程同时访问的设备≠同一时间内;共享设备必须是可寻址的和可随机访问的设备;
在设备控制器中用于实现设备控制功能的是I/O逻辑,而接口是用来传输信号的。
设备的固有属性决定了设备的使用方式;设备独立性可以提高设备分配的灵活性和设备的利用率;设备安全性可以保证分配设备时不会导致永久阻塞,设备分配时一般不需要考虑及时性。
系统按照设备类型配置设备驱动程序≠设备数量。
该章习题写的稀巴烂,还没写完...弃坑