6 IO设备
6.1 什么是I/O设备
I/O就是输入输出
将数据输入计算机,或者接受计算机的输出数据
打印机、显示器、鼠标、键盘
6.1.1 分类
6.1.2 小结
6.2 IO控制器
6.2.1概念
6.2.2 I/O控制器的组成
6.2.3 内存映像I/O 与 寄存器独立编址
6.2.4 小结
6.3 I/O控制方式
6.3.1 程序直接控制方式
6.3.2 中断驱动方式
6.3.3 DMA方式
6.3.4 通道控制方式
6.3.5 小结
6.4 I/O软件层次结构
6.4.1 用户层软件
6.4.2 设备独立性软件
- 向上层提供统一的调用接口(比如read/write 系统调用)
- 设备的保护(设备被看作一种特殊的文件 linux中的/boot/sda 就代表着一块硬盘)
- 差错处理
- 设备的分配与回收
- 数据缓冲区管理
- 建立逻辑设备名到物理设备名的映射关系;根据设备类型选择调用相应的驱动程序
6.4.3 设备驱动程序
6.4.4 中断处理程序
6.4.5 小结
6.5 I/O核心子系统
6.6 假脱机技术(SPOOLing)
6.6.1 输入井和输出井
6.6.2输入进程和输出进程
6.6.3 共享打印机原理分析
6.6.4 小结
6.7 设备的分配与回收
6.7.1 设备分配时应考虑的因素
6.7.2 静态分配和动态分配
静态:进程运行前为其分配全部所需资源,运行结束后归还资源 —— 破坏了请求和保持条件,不会发生死锁
动态:进程运行过程中动态申请设备资源
6.7.3 设备分配管理中的数据结构
6.7.3.1 设备控制表 DCT
6.7.3.2 控制器控制表 COCT
6.7.3.3 通道控制表 CHCT
6.7.3.4 系统设备表
6.7.4 设备分配的步骤
改进方法:建立逻辑设备名