1、第七章第七章设备管理设备管理7.1 基本功能基本功能与进程管理的接口与进程管理的接口 应提供读应提供读/写等接口命令,并把进程的要写等接口命令,并把进程的要 求转达给设备驱动机构求转达给设备驱动机构 设备分配设备分配 必须按照一定的算法把一个必须按照一定的算法把一个I/O设备分配设备分配 给对该类设备提出请求的进程,若该进给对该类设备提出请求的进程,若该进 程未分配到所请求的设备,则进入等待程未分配到所请求的设备,则进入等待 队列队列 第1页,共22页。第七章第七章设备管理设备管理7.1 基本功能基本功能并行操作并行操作 通道与通道之间,通道与通道与通道之间,通道与CPU之间的并行操作之间的并
2、行操作 I/O控制控制 要构造相应的通道程序,启动通道,对通道发来的要构造相应的通道程序,启动通道,对通道发来的 中断请求及时响应和处理中断请求及时响应和处理 缓冲区管理缓冲区管理 第2页,共22页。第七章第七章设备管理设备管理7.2 直接输入直接输入/输出输出由用户程序直接控制由用户程序直接控制CPU与外围设备之间的与外围设备之间的数据传送称为直接输入数据传送称为直接输入/输出输出 图图7-1 直接输入输出的体系结构直接输入输出的体系结构 设备控制器控制寄存器i状态寄存器i数据寄存器i总 线设备i主存CPU第3页,共22页。第七章第七章设备管理设备管理7.2 直接输入直接输入/输出输出 4条
3、供直接输入输出的指令条供直接输入输出的指令:SIO device,register TIO device IN device,register OUT device,register 第4页,共22页。第5页,共22页。第七章第七章设备管理设备管理7.2 直接输入直接输入/输出输出存储器映射存储器映射(memory-mapped)I/O 技术技术 在在MS-DOS中中128KB显示主存就显示主存就 是是memory-mapped I/O 技术的一技术的一 个很好的例子个很好的例子 第6页,共22页。第七章第七章设备管理设备管理7.3 间接输入间接输入/输出输出图图7-2 间接输入输出的体系结构
4、间接输入输出的体系结构 设 备 控 制 器控 制 寄 存 器i状 态 寄 存 器i地 址 寄 存 器i长 度 计 数 器i数 据 寄 存 器i总 线设 备i主存C PU第7页,共22页。第七章第七章设备管理设备管理7.3 间接输入间接输入/输出输出对于间接输入对于间接输入/输出,系统只需提供输出,系统只需提供2条指令:条指令:TIO device SIO device registers CPU继续做它的事情继续做它的事情第8页,共22页。第七章第七章设备管理设备管理7.3 间接输入间接输入/输出输出控制寄存器直接从主存存取控制寄存器直接从主存存取(Direct Memory Access)数
5、据,需要挪用数据,需要挪用CPU的周期的周期 第9页,共22页。图图7-3 间接输出的并行工作情况间接输出的并行工作情况 CPU主存主存设备控制器设备控制器I/O设备设备CPU从主存读取控制信息从主存读取控制信息 (粗黑线)(粗黑线)1CPU主存主存设备控制器设备控制器I/O设备设备CPU把控制信息送设备控制器把控制信息送设备控制器2CPU主存主存设备控制器设备控制器I/O设备设备CPU执行其它命令,同时,设备执行其它命令,同时,设备控制器从主存读数据控制器从主存读数据 (粗黑线)(粗黑线)3第10页,共22页。CPU主存主存设备控制器设备控制器I/O设备设备CPU执行其它命令,同时,执行其它
6、命令,同时,设备控制器把数据送设备控制器把数据送I/O设备设备 (粗黑线)(粗黑线)4CPU主存主存设备控制器设备控制器I/O设备设备重复重复35CPU主存主存设备控制器设备控制器I/O设备设备重复重复46图图7-3 间接输出的并行工作情况间接输出的并行工作情况 第11页,共22页。第七章第七章设备管理设备管理7.4 中断控制下的输入输出中断控制下的输入输出7.4.1 设备状态及其变换设备状态及其变换图图7-4 设备状态图设备状态图闲置中断修复中断中断加电就绪SIO忙失败去电第12页,共22页。第七章第七章设备管理设备管理7.4.2 输入输出的数据结构输入输出的数据结构第13页,共22页。系系
7、 统统 控控 制制 块块S S C C B B 进进 程程 控控 制制 块块P P C C B B 当 前P C B 下 一P C B P C B 就 绪 队 列 进 程 名 P C B 等 待I/O 表 被 中 断 的P S W 设 备 控 制 块 中 断 寄 存 器 设 备 控 制 块 个 数 主 存 基 址 自 由 空 间 块 主 存 长 度 进 程 外 存 地 址 设设 备备 控控 制制 块块D D C C B B 自自 由由 空空 间间 块块F F S S B B 设 备 地 址 下 一 块 设 备 特 性 本 块 长 度 设 备 状 态 输 入/输 出 块 队 列 服 务 例 程
8、入 口 点1,2,中中 断断 向向 量量 表表 中 断 事 件 或 设 备 标 识 符 旧P S W 等 保 存 地 址 中 断 处 理 入 口 新P S W I/O 设 备 地 址 被 中 断 的P S W 新P S W 及 处 理 入 口 输输 入入/输输 出出 块块 I I O O B B 下 一 输 入/输 出 块 对 应 的P C B 进 程 活 动 标 记 状 态 信 息 存 放 地 址 I/O 操 作 代 码 缓 冲 区 地 址 缓 冲 区 长 度 其 他 特 性 1 1 中 断 处 理 程 序入 口1,2,服 务 例 程入 口1,2,程 序 代 码,状态 数 据,I/O缓 冲
9、等 主存 图图7-5 支持支持I/O的数据结构的数据结构 第14页,共22页。第七章第七章设备管理设备管理7.4.2 输入输出的数据结构输入输出的数据结构设备控制块设备控制块(DCB)输入输出块输入输出块(IOB)中断向量中断向量 第15页,共22页。下面是某输入输出设备下面是某输入输出设备DCB:Device address 3Device characteristics Serial access Non sharable Indirect I/O controller Block size of 80 bytes Device status Read/busy/failedIOB que
10、ue第16页,共22页。Null or pointer to last node of a circular queue of pending I/O operationsEntry poit tableAddress of interrupt subsystem module for handing interruputs for this type of device;Address of the service routine for reading the device;Address of the service routine for writing the device;Addr
11、ess of the service routine for rewinding the device;Address of the service routine for non-standard operations;第17页,共22页。第七章第七章设备管理设备管理7.4.3 输入输出过程的实现算法输入输出过程的实现算法第18页,共22页。图图7-6 模块及数据结构之间的关系模块及数据结构之间的关系I/O 中断设备控制器I/O 设备当前进程IO_IHSCBDCBIOB 队列DEVICE_IHINITIATE_IOIOB 队列DCBSCBWAIT_IOFREE_MEMORYGET_MEMOR
12、YSC_IH中断向量表进程调度中断向量表 系统调用输入输出指令 第19页,共22页。第七章第七章设备管理设备管理7.4.4 IOB队列调度队列调度 FIFO 请求次序:请求次序:1 2 3 4 5 6 7 8 9 10 11 12 磁盘柱面:磁盘柱面:19 376 205 134 18 56 192 396 29 3 19 40 磁头移动的总距离为磁头移动的总距离为1604柱面柱面 最短寻找时间优先最短寻找时间优先SSTF(Shortest Seek Time First)调度次序改为:调度次序改为:4,7,3,6,12,9,1,11,5,10,2,8,磁头移动的,磁头移动的 总距离为总距离为700柱面柱面 第20页,共22页。第七章第七章设备管理设备管理7.4.4 IOB队列调度队列调度扫描算法扫描算法(Scan)因其磁头的移动与电梯升降道理相似,故也称因其磁头的移动与电梯升降道理相似,故也称 电梯算法电梯算法 循环扫描法循环扫描法C-scan(Circular scan)N-scan(New scan)算法算法 第21页,共22页。第七章第七章设备管理设备管理7.5 通道环境下的输入输出通道环境下的输入输出第22页,共22页。