I/O设备
I/O设备的分类
I/O设备的机械部件主要用来执行具体的I/O操作
I/O设备的电子部件通常是一块插入主板扩充槽的印刷电路板
CPU无法直接控制I/O设备的机械部件,因此I/O设备还要有一个电子部件作为CPU和I/O设备机械部件之间的中介,用于实现CPU对设备的控制。
I/O控制器的功能
I/O控制器的组成
I/O逻辑:负责接收和识别CPU的各种命令,并负责对设备发出命令。
CPU与控制器的接口:用于实现CPU与控制器之间的通信。CPU通过控制线发出命令;通过地址线指名要操作的设备;通过数据线来取出数据,或放入数据。
控制器与设备的接口:用于实现控制器与设备之间的通信。
一个I/O控制器可能对应多个设备,相对应的数据寄存器、控制寄存器、状态寄存器可能有多个,且这些寄存器要有相应的地址,才能方便CPU的工作。
内存映像I/O v.s. 寄存器独立编址
程序直接控制方式
完成一次读/写操作的流程(轮询)
CPU干预的频率
中断驱动方式
DMA方式
通道控制方式
用户层软件
设备独立性软件
设备驱动程序
中断处理程序
I/O系统:属于操作系统的内核部分,包括设备独立性软件、设备驱动程序(硬件相关)、中断处理程序(硬件相关)。
假脱机技术(SPOOLing技术):用户层软件
I/O调度、设备保护、设备的分配与回收、缓冲区管理:设备独立性软件
I/O调度:用某种算法确定一个好的顺序来处理各个I/O请求
设备保护:在UNIX系统中,设备被看作一种特殊的文件,每个设备也会有相应的FCB。当用户请求访问某个设备时,系统会根据FCB中记录的信息来判断该用户是否有相应的访问权限。
脱机输入/输出技术
假脱机技术–SPOOLing技术
设备的固有属性
设备的分配算法
设备分配中的安全性
静态分配和动态分配
设备分配管理中的数据结构
设备分配的步骤
设备分配步骤的改进
缓冲区的作用
单缓冲
双缓冲
使用单/双缓冲区在通信时的区别
循环缓冲区
缓冲池