一、概要
I/O系统由I/O设备、设备控制器、I/O通道和总线组成。
1)设备管理的对象:
1.I/O设备
2.设备控制器
3.I/O通道
2)设备管理的功能
1.完成用户提出的I/O请求
2.提高I/O速度
3.改善I/O设备的利用率
3)设备管理的基本任务
1.缓冲区管理
2.设备分配
3.设备处理
4.虚拟设备
5.实现设备的独立性
二、I/O系统
1)I/O设备
2)设备控制器:
作用:是控制设备进行数据传送的设备部件。它与CPU通过三种信号连接,包括数据信号、地址信号、控制信号。
功能:接受和识别命令、控制数据交换、设备状态收集和报告、地址识别、数据缓冲、差错控制。
组成:设备控制器与处理机的接口、设备控制器与设备的接口、I/O逻辑
数据的传输过程:CPU、内存、设备控制设备 (两两之间双向)
3)I/O通道:
作用:是设备控制器和CPU之间的部件。
通道的工作过程:初始化、通道和设备的启动、数据传送、通道程序的结束
类型:字节多路通道、数组选择通道、数组多路通道
4)总线 基本概念及分类:
概念:一组能为多个部件共享的公共信息传送线路,是将计算机微处理器与内存芯片以及与之通信的设备连接起来的硬件通道。
三、I/O控制方式
1)作用:用于实现CPU对外部设备的控制
2)程序I/O控制方式:轮询方式,CPU主动,效率很低,速度很慢,以字节为单位
3)中断驱动程序:CPU被动,设备主动,速度慢
4)DMA控制方式:
解决的问题:速度慢,浪费CPU资源
DMAC代替CPU控制数据传输
特点: 以块为单位,在设备(控制器)和内存间传输数据
5)I/O通道控制方式:
解决的问题:进一步提高速I/O通道代替CPU控制数据传输
特点:多个数据块传送、在通道和内存之间传输数据
四、缓冲管理
1)作用:缓和CPU和I/O设备速度不匹配的矛盾
减少对CPU的中断频率,放宽对中断响应时间的限制
提高CPU和I/O设备之间的并行性
2)单缓冲:I/O设备和CPU之间只有一个缓冲区。当I/O设备向缓冲区输入时,CPU不能读取缓冲区,反之亦然。
存在的问题:输入、输出速度慢,设备的利用率低。表现在I/O设备和处理器不能并行工作。
3)双缓冲(缓冲对换):也称循环对换。
存在的问题:当速度不匹配时,效果退化到但缓冲机制的程度。
解决办法:增加缓冲区个数,按照循环链的方式组织缓冲区。
4)循环缓冲
5)缓冲池:
组成:空缓冲队列emq、输入队列inq、输出队列outq
专用缓冲区:hin/sin/hout/sout
缓冲区的工作方式:收容输入、提取输入、收容输出、提取输出
五、设备分配
1)设备分配中的数据结构:逻辑设备表(LUT)、系统设备表(SDT)、设备控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)
2)设备分配算法:先来先服务算法、优先级高者优先
3)设备分配的安全性:安全分配方式、不安全分配方式、和"死锁"部分的资源分配一致
设备独立性:
1)用户编制程序使用的设备与实际使用的设备无关
2)逻辑设备名
3)物理设备名
六、设备处理
设备驱动程序:
概念:设备驱动程序时驱动物理设备和DMA控制器或I/O控制器等直接进行I/O操作的子程序的集合。它们负责设置相应设备有关寄存器的值,启动设备进行I/O操作,指定操作的类型和数据流。
功能:接受用户的I/O请求、取出请求队列中队首请求,将相应设备分配给它、启动设备工作,完成指定的I/O操作、处理来自设备的中断
设备处理方式:为每类设备设置一个进程、在整个系统中设置一个I/O进程、不设置专门的I/O进程。
设备驱动程序的处理过程:
1.将抽象要求转换为具体要求
2.检查I/O请求的合法性
3.读出和检查设备的状态
4.传送必要的参数
5.方式的设置
6.启动I/O设备
中断处理程序的处理过程:
1.唤醒阻塞的驱动程序进程
2.保护被中断的进程的CPU环境
3.分析中断原因、转入相应的设备中断处理程序
4.进行中断处理。
5.恢复被中断的进程现场。
七、磁盘存储器管理
1)数据的组织和格式:
磁盘的类型:
固定头磁盘:刚性磁臂,使用于大容量磁盘
移动头磁盘:移动磁臂,使用于中小型磁盘设备。
2)磁盘I/O访问时间:
磁盘I/O时间由数据在磁盘上的物理记录的位置决定
物理记录的位置:柱面号、磁头号(盘面号)、扇区号
总时间=柱面定位(寻道)时间+旋转延迟时间+数据传送时间
3)磁盘I/O调度策略
1.先进先出算法
2.优先级算法
3.后进先出算法
4.短时间优先算法
5.扫描算法(电梯算法)
6.循环扫描
7.N步扫描算法
8.双队列扫描算法