I-O设备的概念和分类
IO设备
IO设备分类
按使用特性
按传输速率
按信息交换的单位分类
IO设备小结
IO控制器(IO设备的电子部件)
通过电子部件来控制机械部件,IO控制器是CPU和IO设备机械部件之间的中介
IO控制器的组成示意图(内存映像,寄存器独立编制)
一个IO控制器可能对应多个设备
IO控制方式
程序直接控制方式(轮询,程序不断循环)
示意图
中断驱动方式
DMA方式(直接存储器存储)
DMA控制器组成示意图
通道控制方式
CPU告诉通道,执行的任务清单,通道自己查看任务清单
IO控制方式小结
每个阶段的优点都是解决了上个阶段的缺点
降低CPU干预频率
IO软件层次结构
用户层软件
与用户交互的接口
设备独立性软件(逻辑设备表LUT)
主要实现的功能有6个
逻辑设备名(如打印时的打印机1,打印机2),逻辑设备表(主要实现的功能即逻辑设备表作用)
设备驱动程序
不同设备的内部硬件特性不同(如寄存器中的0,1代表意义不同)
中断处理程序
IO软件层次结构小结
IO核心子系统
IO调度
设备保护
假脱机技术(SPOOLING技术)
即用软件技术实现脱机技术
脱机技术:脱离主机的控制进行的输入输出操作
SPOOLING技术可以把一台物理设备虚拟成逻辑上的多台设备,可将独占式设备改造成共享设备
输入井输出井
共享打印机原理分析
假脱机技术小结
设备的分配与回收
设备分配时应考虑的因素
设备的固有属性
设备分配的安全性
静态分配和动态分配
静态分配:进程运行前为其分配全部所需资源
动态分配:进程运行过程中
设备分配管理中的数据结构
设备控制表DCT
控制器控制表COCT
通道控制表CHCT
系统设备表
设备分配的步骤及改进(逻辑设备表)
设备的分配与回收小结
设备回收时就是把那些数据结构改回来了
静态分配就是破坏了死锁的必要条件(请求和保持)
缓冲区管理
缓冲区及其作用
大多数是利用内存作为缓冲区
CPU快速的把要输出的数据放入缓冲区(然后CPU去忙别的),然后慢速的IO设备慢慢从缓冲区取走数据
当缓冲区数据非空时,不能向缓冲区传入数据,只能把缓冲区数据传出;当缓冲区为空时,可以往缓冲区传入数据,但必须把缓冲区冲满以后,才能把缓冲区数据传出
单缓冲
缓冲区充满才能把缓冲区数据传出
双缓冲
OS在主存中为该用户进程分配两个缓冲区
单双缓冲在通信时的区别
循环缓冲
缓冲池
放满了各种各样缓冲区的池子