5、IO模块
1、IO设备分类:
按信息交换的单位:
- 块设备:传输快,可寻址
- 字符设备:传输慢,不可寻址,中断驱动方式
2、IO控制器的功能:
- 接受和识别CPU发出的命令
- 向CPU报告设备状态
- 数据交换
- 地址识别
3、两种寄存器编址方式:
- 内存映像IO:对内存操作的指令操作控制器
- 寄存器独立编址:需设置专门的指令操作控制器
4、IO控制方式:
- 程序直接控制方式:轮询
- 中断驱动方式
- DMA方式
- 通道控制方式:硬件,弱化的CPU
分析角度:
- 完成一次读写操作的流程
- CPU干预频率
- 数据的传送单位
- 数据的流向
- 优缺点
5、IO软件层次结构:
- 用户层软件:库函数,假脱机技术
- IO核心子系统
- 设备独立性软件:系统调用,设备的分配与回收,缓冲区管理
- 设备驱动程序
- 中断处理程序
- 硬件:机械,电子
6、假脱机技术:缓解速度的矛盾,脱离主机的控制进行的IO操作
- 把独占设备改造成共享设备(打印机)
7、设备的分配与回收:
- 设备的固有属性:独占、共享、虚拟
- 设备的分配算法
- 安全性:
- 安全方式:无死锁
- 不安全方式:有死锁
- Data Structure:
- DCT:设备控制表
- COCT:控制器控制表
- CHCT:通道控制表
- SDT:系统设备表
- LUT:逻辑设备表
8、缓冲区管理:
- 利用内存作为缓冲区
- 单缓冲:
- 设备-T-缓冲区-M-工作区-C-处理
- 平均耗时:Max(C,T)+M
- 双缓冲:
- 通信中,实现同一时刻的双向传输
- 平均耗时:Max(T,C+M)
- 循环缓冲区:
- 缓冲池:
- 三个队列:
- 空缓冲队列
- 输入队列
- 输出队列
- 四种工作缓冲区
- 三个队列: