输入输出系统
- IO系统的层次结构
- 用户层IO软件
- 设备独立性软件
- 设备驱动程序
- 中断处理程序
- 对IO设备的控制方式
- 使用轮询的可编程IO方式
cpu不停地检查设备的状态,以字节为单位,非中断方式,利用率低 - 使用中断的可编程IO方式
添加CPU中断,提高了CPU的利用率 - 直接存储器访问方式
以数据块为单位,放宽响应时间 - IO通道控制方式
以数据块组成的一组数据块为单位,大幅度提高CPU的利用率
- 使用轮询的可编程IO方式
- 设备分配
- 设备分配中的数据结构
1:设备分配表DCT,2:控制器控制表,通道控制表,系统设备设备表 - 设备分配需要考虑的因素
1:设备的固有属性,2:独占设备得分配策略,3:设备的分配算法,4:设备分配中的安全性 - 独占设备的分配程序
- 设备分配中的数据结构
用户层的IO软件
- (假脱机)Spooling系统的构成
- 输入井和输出井
- 输入缓冲区和输出缓冲区
- 输入进程和输出进程
- 井管理程序
缓冲区管理
- 为生产者和消费者设置的专用缓冲区
- 单缓冲区
- 双缓冲区
- 环形缓冲区
- 公用缓冲池
用于管理多个缓冲区 - 缓冲区溢出
缓冲区溢出是指当计算机向缓冲区内填充数据时超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上。主要原因是程序中没有仔细检查用户输入的参数。