I/O系统的组成 第七章设备管理 IO系统的结构 设备是指计算机系统中除cPU,内存 微机型O系统 和系统控制台以外的所有设备。 I/O设备通过设备控制器连接到总线 上,CPU通过设各控制器与相应的设 设备管理程序是用于对这类设备进行 备进行通信。 控制和管理的一组程序 上机型IO系统 设备管理是OS中最复杂且与硬件紧 具有通道的IO系统结构:IO设备 密相关的部分。 设备控制器、IO通道、计算机 >设备的类别 从资源分配角度 按使用特性 独享设备 存储设备 共享设备 I/O设各 虚拟设备:通过 SPOOLING技术把独享 终端设备 设备改造为共享设备,以提高利用率 机设备 >按信息组织方式 按从属关系 字符设备 系统设备 块设备 用户设备 >设备分类的目的:简化设备管理程序 设备控制器 设备控制器是一个可编址设备,分 为字符设备扫 控制器和块设备控制器 CPU与设备间的接 功能 接收和识别命令:命令寄存器和译码器 一数据交换:数据寄存器 设备状态的了解和报告:状态寄存器 地址识别:地址寄存器 Figure 11. Typieal I/o Device Data Rates
1 第七章 设备管理 设备是指计算机系统中除CPU,内存 和系统控制台以外的所有设备。 设备管理程序是用于对这类设备进行 控制和管理的一组程序。 设备管理是OS中最复杂且与硬件紧 密相关的部分。 操 作 系 统 | 设 备 管 理 2 CUIT 徐虹 7. 1 I/O系统的组成 ¾I/O系统的结构 ¾微机型I/O系统 ¾I/O设备通过设备控制器连接到总线 上,CPU通过设备控制器与相应的设 备进行通信。 ¾主机型I/O系统 ¾具有通道的I/O系统结构:I/O设备、 设备控制器、I/O通道、计算机 操 作 系 统 | 设 备 管 理 3 CUIT 徐虹 ¾设备的类别 ¾按使用特性 ¾存储设备 ¾I/O设备 ¾终端设备 ¾脱机设备。 ¾按从属关系 ¾系统设备 ¾用户设备 操 作 系 统 | 设 备 管 理 4 CUIT 徐虹 ¾从资源分配角度 ¾独享设备 ¾共享设备 ¾虚拟设备:通过SPOOLING技术把独享 设备改造为共享设备,以提高利用率。 ¾按信息组织方式 ¾字符设备 ¾块设备 ¾设备分类的目的:简化设备管理程序 操 作 系 统 | 设 备 管 理 5 CUIT 徐虹 操 作 系 统 | 设 备 管 理 6 CUIT 徐虹 ¾设备控制器 设备控制器是一个可编址设备,分 为字符设备控制器和块设备控制器,是 CPU与设备间的接口。 ¾功能 ¾接收和识别命令:命令寄存器和译码器 ¾数据交换:数据寄存器 ¾设备状态的了解和报告:状态寄存器 ¾地址识别:地址寄存器
设备控制器的组成 设备管理程序的设计目标 设各控制器与处理机的接口 数捐线〔数捐寄存器、控制状态寄存器) 方便性:提供友好透明的用户接口 地址线 作系统 并行性:提高设备的利用率和系统效率 控制线 均衡性:使用外存设备作为虚拟设备 一设备控制器与设备的接口 >独立性:与设备无关性 状态信号 /O逻辑:实现对设备的控制 设备管理的基本功能 7.2数据传送(I/O)控制方式 >提供和进程管理系统的接口 进行设备分配 选择和衡量控制方式的原则 >实现设备之间,设备与CPU等之间的并 度高且安全 行操作 系统开销小 进行缓冲区管理 作系统|设备管 使IO设备尽量忙,CPU等待时间 >程序直接控制方式 >工作原理 图发读命令 由用户进程直接控制内存或CPU与外设 的状态」 间的信息传送 优点:控制简单硬件要求少 缺点 CPU与外围设各只能串行工作 设备间不能并行操作 安全性差 压完了 完域下条指令
2 操 作 系 统 | 设 备 管 理 7 CUIT 徐虹 ¾设备控制器的组成 ¾设备控制器与处理机的接口 ¾数据线(数据寄存器、控制/状态寄存器) ¾地址线 ¾控制线 ¾设备控制器与设备的接口 ¾数据信号 ¾控制信号 ¾状态信号 ¾I/O逻辑:实现对设备的控制 操 作 系 统 | 设 备 管 理 8 CUIT 徐虹 ¾设备管理程序的设计目标 ¾方便性:提供友好透明的用户接口 ¾并行性:提高设备的利用率和系统效率 ¾均衡性:使用外存设备作为虚拟设备 ¾独立性:与设备无关性 操 作 系 统 | 设 备 管 理 9 CUIT 徐虹 ¾设备管理的基本功能 ¾提供和进程管理系统的接口 ¾进行设备分配 ¾实现设备之间,设备与CPU等之间的并 行操作 ¾进行缓冲区管理 操 作 系 统 | 设 备 管 理 10 CUIT 徐虹 7. 2 数据传送(I/O)控制方式 ¾选择和衡量控制方式的原则: ¾速度高且安全 ¾系统开销小 ¾使I/O设备尽量忙,CPU等待时间 少 操 作 系 统 | 设 备 管 理 11 CUIT 徐虹 ¾程序直接控制方式 ¾工作原理 ¾由用户进程直接控制内存或CPU与外设 间的信息传送。 ¾优点:控制简单硬件要求少 ¾缺点: ¾CPU与外围设备只能串行工作 ¾设备间不能并行操作 ¾安全性差。 操 作 系 统 | 设 备 管 理 12 CUIT 徐虹 向I/O控制器发读命令 读I/O控制器的状态 检查状态 从I/O控制器中读入字 向存储器中写字 传送完成 完成下条指令 出错 未完 未 就 绪 ¾ 控 制 流 程
中断方式 中断的分类与优先级 中断的概念 一中断的分类:外中断,内中断(陷入) 中断源,中断请求,中断响应 中断的优先级 开中断,关中断 系>软中断 >中断屏蔽 一软中斷是 程之间用来模拟硬中断的 一种信号還讯方式 中断源发中段请求成软中断信号后,CPU 或接收进程在适当的时机自动进行中断处 立的功能 >中断处理过程 中断方式的处理过程 CPU检查响应中断的条件是否滴足 CPU与设备(控制I)间有中断请求线且 如CPU响应中断,关中斷 设备控制器的控制状态寄存器中有相应的 中断允许位 系>特点: 分析中斷原因,调用中断处理子程序 CPU利用率提高,能支持多道程序和设备 一执行中断处理子程序 并行工作 退出中断,恢复现场 数据传送过程中,中断次数较多;可能出 开中断,CP继续执行 现数据丢失现象 DMA方式 肉设备发 STARI指◆ 接收CPU发来的 将中新允许位t 在外围设备和内存之间开辟直接的数据 交换通路。信息的传送方向,传送的源 地址和目的地址及传送长度都由CP控 /数舞寄存 其它透程执 特点 收到中新情号? 数据传输的基本单位是数据块 一数据直接从设备到内存 中新处灌 一仅在传送开始和结束时才需CPU 控制器发中断情号 被中新选和执行 送过程在控制器的控制下完成下预,传
3 操 作 系 统 | 设 备 管 理 13 CUIT 徐虹 ¾中断方式 ¾中断的概念 ¾中断源,中断请求,中断响应 ¾开中断,关中断 ¾中断屏蔽 操 作 系 统 | 设 备 管 理 14 CUIT 徐虹 ¾中断的分类与优先级 ¾中断的分类:外中断,内中断(陷入) ¾中断的优先级 ¾软中断 ¾软中断是通讯进程之间用来模拟硬中断的 一种信号通讯方式。 ¾中断源发中段请求或软中断信号后,CPU 或接收进程在适当的时机自动进行中断处 理或完成软中断信号对应的功能。 操 作 系 统 | 设 备 管 理 15 CUIT 徐虹 ¾中断处理过程 ¾CPU检查响应中断的条件是否满足 ¾如CPU响应中断,关中断 ¾保护现场 ¾分析中断原因,调用中断处理子程序 ¾执行中断处理子程序 ¾退出中断,恢复现场 ¾开中断,CPU继续执行 操 作 系 统 | 设 备 管 理 16 CUIT 徐虹 ¾中断方式的处理过程 ¾CPU与设备(控制ID)间有中断请求线且 设备控制器的控制状态寄存器中有相应的 中断允许位。 ¾特点: ¾CPU利用率提高,能支持多道程序和设备 并行工作。 ¾数据传送过程中,中断次数较多;可能出 现数据丢失现象 操 作 系 统 | 设 备 管 理 17 CUIT 徐虹 设备 接收CPU发来的 START指令 数据—>寄存器 N 满? Y 控制器发中断信号 CPU 向设备发START指令, 将中断允许位置1 调度程序调度其它进程 其它进程执行 N 收到中断信号? Y 中断处理 被中断进程执行 操 作 系 统 | 设 备 管 理 18 CUIT 徐虹 ¾DMA方式 ¾在外围设备和内存之间开辟直接的数据 交换通路。信息的传送方向,传送的源 地址和目的地址及传送长度都由CPU控 制。 ¾特点 ¾数据传输的基本单位是数据块 ¾数据直接从设备到内存 ¾仅在传送开始和结束时才需CPU干预,传 送过程在控制器的控制下完成
Alternative DMA Configurations Alternative DMA Configurations Data LInes 作系统|设备理2 Interrupt e IA bus Alternative DMA Configurations Typical DMA Block Digram >DMA控制器的组成 与中断的区别 DMA的四类寄存器:命令状态寄存器CR 内存地址寄存器MAR、数据寄存器DR和 数据传送不由CPU控制完成 数据计数器 缺点 工作过程 使控制过程复杂化,可能产生内存地址 一多个DMA控制器的同时使用很不经济
4 操 作 系 统 | 设 备 管 理 19 CUIT 徐虹 操 作 系 统 | 设 备 管 理 20 CUIT 徐虹 操 作 系 统 | 设 备 管 理 21 CUIT 徐虹 操 作 系 统 | 设 备 管 理 22 CUIT 徐虹 操 作 系 统 | 设 备 管 理 23 CUIT 徐虹 ¾DMA控制器的组成 ¾DMA的四类寄存器:命令/状态寄存器CR、 内存地址寄存器MAR、数据寄存器DR和 数据计数器DC。 ¾工作过程 操 作 系 统 | 设 备 管 理 24 CUIT 徐虹 ¾与中断的区别 ¾中断处理的时间不同 ¾数据传送不由CPU控制完成 ¾缺点 ¾使控制过程复杂化,可能产生内存地址 冲突 ¾多个DMA控制器的同时使用很不经济
通道控制方式 >多通路1O系统 通道是一个独立于CPU的专管O控制 单通路1O系统 的处理机,它控制设备与内存直接进 一多通路I/O系统 行数据交换。通道的启动由CPU发指 通道程序 令执行 通道程序,并与设备控 器来共同 IO设备的控制的。通道程 序是由一 通道指令所构成。 字节多路通道 一数组选择通道 >工作过程 数组多路通道 例.一个进程的大小为5个贝面,为它分配了四个物理换 缓冲管理 当虚页4发生快风时 个物理块将被换出?并解释原因 页号块号加蒙时闻访同时间访闻位R修改位M 缓冲技术 引入原因: 提高CPU,通道,IO设备的并行能 11130 0226 162 改善CPU和O设备间速度不匹配的 3320 可减少中断CPU的次数,放宽CP对 11.IFO算法 2LRU算法 3. CLOCK算法 硬件缓冲器和软件级冲 单缓冲和双缓冲 rating system 单缓冲 vO Devlce 设:数据从磁盘一>冲区T 数据从缓冲区一用户区M CPU计算时间 则:对数据的处理时间为max(C,T+M 如无缓冲区,处理时间为:T+ vO Device j百 1/0 Buffering Schemes (input)
5 操 作 系 统 | 设 备 管 理 25 CUIT 徐虹 ¾通道控制方式 ¾通道是一个独立于CPU的专管I/O控制 的处理机,它控制设备与内存直接进 行数据交换。通道的启动由CPU发指 令执行。 ¾通道类型 ¾字节多路通道 ¾数组选择通道 ¾数组多路通道 操 作 系 统 | 设 备 管 理 26 CUIT 徐虹 ¾多通路I/O系统 ¾单通路I/O系统: ¾多通路I/O系统: ¾通道程序 ¾通道是通过执行通道程序,并与设备控制 器来共同实现对I/O设备的控制的。通道程 序是由一系列的通道指令所构成。 ¾工作过程 操 作 系 统 | 设 备 管 理 27 CUIT 徐虹 例.一个进程的大小为5个页面,为它分配了四个物理块。当前 每个块的情况如下表所示(都为十进制数,且从0开始计数 。)。当虚页4发生缺页时,使用下列的页面置换算法,哪 一个物理块将被换出?并解释原因. 页号 块号 加载时间 访问时间 访问位R 修改位M 2 0 60 161 0 1 1 1 130 160 0 0 0 2 26 162 1 0 3 3 20 163 1 1 11. IFO算法 2. LRU算法 3. CLOCK算法 操 作 系 统 | 设 备 管 理 28 CUIT 徐虹 7.3 缓冲管理 ¾缓冲技术 ¾引入原因: ¾提高CPU,通道,I/O设备的并行能 力。 ¾改善CPU和I/O设备间速度不匹配的 情况。 ¾可减少中断CPU的次数,放宽CPU对 中断的响应时间。 ¾硬件缓冲器和软件缓冲 操 作 系 统 | 设 备 管 理 29 CUIT 徐虹 ¾单缓冲和双缓冲 ¾单缓冲 ¾设:数据从磁盘—>缓冲区 T ¾ 数据从缓冲区—>用户区 M ¾ CPU计算时间 C ¾则:对数据的处理时间为 max(C,T)+M ¾如无缓冲区,处理时间为:T+C 操 作 系 统 | 设 备 管 理 30 CUIT 徐虹
双缓冲 循环缓冲 系统处理时间:max(C,T) 用几个缓冲区组成一个环形缓冲区 C进程同步 i赶上 Nextg:系统受计算限制所 有级冲区装濟据,输入进程阻塞 vo DevIce Nex赶上 Nexti系统受I/O限制:所有 缓冲区为空,输出进程阻骞 d) Cireular buffering 1O Buffering Schemes (input 缓冲池 工作缓冲区 >缓冲池的结构 收容输入级冲区hn;用于收容设备输入 巴输入和输出多级冲器结合起来,形成 的数据 能用于输入,又能用于输出的级冲器 一提取输入缓冲区sin用于提取设备输入 称为级冲池 的数据 一空白缓冲队列emqF(emq),L(emq) 收容输出缓冲区hou;用于收容CPU输 装清输入数据的缓冲队列inqF(inq 出的数据 装满输出数据的缓冲队列 out F(outg) 一提取输出级冲区sout;用于提取CPU输 出的据
6 操 作 系 统 | 设 备 管 理 31 CUIT 徐虹 ¾双缓冲 ¾ 系统处理时间:max(C,T) ¾ 当CT :CPU进行处理 ¾两台计算机进行通信,配备双缓冲,实现 双向数据传送。 操 作 系 统 | 设 备 管 理 32 CUIT 徐虹 ¾循环缓冲 ¾用几个缓冲区组成一个环形缓冲区, 供输入/出共同使用。 ¾工作原理 ¾Nextg:指向装数据的缓冲区; ¾Nexti:指向空缓冲区; ¾Current:正在使用的缓冲区单元。 操 作 系 统 | 设 备 管 理 33 CUIT 徐虹 操 作 系 统 | 设 备 管 理 34 CUIT 徐虹 ¾缓冲区的使用 ¾Getbuf 过程(获取缓冲的过程) ¾Releasebuf过程(释放缓冲的过程) ¾进程同步 ¾Nexti 赶上 Nextg:系统受计算限制:所 有缓冲区装满数据,输入进程阻塞。 ¾Nextg赶上Nexti:系统受I/O限制:所有 缓冲区为空,输出进程阻塞。 操 作 系 统 | 设 备 管 理 35 CUIT 徐虹 ¾缓冲池 ¾缓冲池的结构 ¾把输入和输出多缓冲器结合起来,形成一 个既能用于输入,又能用于输出的缓冲器, 称为缓冲池。 ¾空白缓冲队列emq F(emq),L(emq) ¾装满输入数据的缓冲队列inq F(inq), L(inq) ¾装满输出数据的缓冲队列outg F(outg) L(outg) 操 作 系 统 | 设 备 管 理 36 CUIT 徐虹 ¾工作缓冲区 ¾收容输入缓冲区hin ;用于收容设备输入 的数据 ¾提取输入缓冲区sin ;用于提取设备输入 的数据 ¾收容输出缓冲区hout ;用于收容CPU输 出的数据 ¾提取输出缓冲区sout ;用于提取CPU输 出的数据
752 get-buf(tpe, number):从某种类型的 对缓冲池的操作 队列中获得一缓冲区 take-buf(type):从三种级冲区 每种队列设量用于互斥的信号量MS(type)=1 队列中按一定的选取规则取出一个 郐种队列设量描述资源数目的信号量 缓冲区 dd-buf (type,n ):把指定 编号的缓冲区,挂在指定队列的未 wait(RS(type)); B(number)= take-buf (type) put-buf(type, number)用于释放某个 缀冲池工作过程 的或已装满数据的工作缓冲区并 收容输入hin输入进程输入 将它挂再指定队列的末尾 Procedure put-buf (int type 收春输出m计算进程输出 wait(Ms(type)); add-buf(type, number) 提取输入sin计算进程输入 Signal (Ms(type)) Signal (rs(type)) 一提取输出sout输出进程输出 put-buf(emg, sout)r 7.4设备分配 臣>设备管理中的数据结构 设备控制表(DCT):每台设备一张 当某进程向系统提出O请 一设备标识符 设备分配 设备类型 配给它。为确保CPU与设 能进行通 设备地址成设备号 讯,还应分配相应的控制器和通道 一设备状态 等特队列指针 重复执行的次教和时间 I/O控制器指针
7 操 作 系 统 | 设 备 管 理 37 CUIT 徐虹 ¾对缓冲池的操作 ¾take-buf(type):从三种缓冲区 队列中按一定的选取规则取出一个 缓冲区。 ¾add-buf (type,number ):把指定 编号的缓冲区,挂在指定队列的未 尾。 操 作 系 统 | 设 备 管 理 38 CUIT 徐虹 ¾get-buf (type,number ):从某种类型的 队列中获得一缓冲区 每种队列设置用于互斥的信号量MS (type) = 1 每种队列设置描述资源数目的信号量RS (type) = n Procedure get-buf (int type ) begin wait (RS(type)) ; wait (MS(type)); B(number) = take-buf (type) Signal (MS(type)) ; end 操 作 系 统 | 设 备 管 理 39 CUIT 徐虹 ¾put-buf (type,number):用于释放某个 不再需要的或已装满数据的工作缓冲区并 将它挂再指定队列的末尾。 Procedure put-buf (int type ) Begin wait (MS(type)) ; add-buf(type, number) ; Signal (MS(type)) ; Signal (RS(type)) ; end 操 作 系 统 | 设 备 管 理 40 CUIT 徐虹 ¾缓冲池工作过程 ¾收容输入 hin 输入进程输入 ¾hin = get-buf (emq) ¾put-buf (inq, hin): ¾收容输出 hout 计算进程输出 ¾hout = get-buf (emq) : ¾put-buf (outq, hout): ¾提取输入 sin 计算进程输入 ¾sin = get-buf (inq) : ¾put-buf (emq, sin): ¾提取输出 sout 输出进程输出 ¾sout = get-buf (outq) : ¾put-buf (emq, sout): 操 作 系 统 | 设 备 管 理 41 CUIT 徐虹 7. 4 设备分配 ¾ 当某进程向系统提出I/O请求后,设备分配 程序按照一定的策略,把所要求的设备分 配给它。为确保CPU与设备之间能进行通 讯,还应分配相应的控制器和通道。 操 作 系 统 | 设 备 管 理 42 CUIT 徐虹 ¾设备管理中的数据结构 ¾设备控制表(DCT): 每台设备一张 ¾设备标识符 ¾设备类型 ¾设备地址或设备号 ¾设备状态 ¾等待队列指针 ¾重复执行的次数和时间 ¾I/O控制器指针
>系统设备表SDT:整个系统一张 控制器表COCT每个控制器一张 记录系统中所拥有的全部O设备的情况 反映IO控制器的使用状态和通道的连 反映系统中设备资源的状态 接情况 一DCT指针,指向有关设备的设备控制器 控制器标识 正在使用设备的进程标识 作系统 控制器状态 CHCI指针 一设备驱动程序入口 控制器等待队列队首指针 控制器等待队列队尾指针 >通道控制衰CHCT每个通道一张 设备分配原则 一通道标识符 设备的固有属性 通道状态 设备分配策略 通道等特队列首 通道等待队列尾 控制器表首址 作系统|设备管 设备分配算法 一先请求先分配 一优先级高者先分配 设备分配中的安全性 一个进程只能提出一个O请求 多请求方式 设备独立性 >设备独立性软件 应用程序独立于使用的物理设备,在 一执行所有设备的公有操作 应用程序中使用逻辑设备名称来请求 设备的分配与回收 使用某类设备。系统在执行时,是使 逻辑设各到物理设各的映射 用物理设备名称 >逻辑设备的引入 辍冲管邏 差情控制 为提高系统的可适应性和可扩展性,使 向用户层(取文件层)软件提供统一的接 户程序与实际物理设备无关。 逻辑设备的特性是该类物理设备的特性 的抽象
8 操 作 系 统 | 设 备 管 理 43 CUIT 徐虹 ¾系统设备表 SDT :整个系统一张 ¾记录系统中所拥有的全部I/O设备的情况, 反映系统中设备资源的状态。 ¾DCT指针,指向有关设备的设备控制器 表 ¾正在使用设备的进程标识 ¾设备驱动程序入口 操 作 系 统 | 设 备 管 理 44 CUIT 徐虹 ¾控制器表 COCT 每个控制器一张: 反映I/O控制器的使用状态和通道的连 接情况 ¾控制器标识 ¾控制器状态 ¾CHCT指针 ¾控制器等待队列队首指针 ¾控制器等待队列队尾指针 操 作 系 统 | 设 备 管 理 45 CUIT 徐虹 ¾通道控制表 CHCT 每个通道一张 ¾通道标识符 ¾通道状态 ¾通道等待队列首 ¾通道等待队列尾 ¾控制器表首址 操 作 系 统 | 设 备 管 理 46 CUIT 徐虹 ¾设备分配原则 ¾设备的固有属性 ¾设备分配策略 ¾静态分配: ¾动态分配: ¾设备分配算法 ¾先请求先分配 ¾优先级高者先分配 ¾设备分配中的安全性 ¾一个进程只能提出一个I/O请求 ¾多请求方式 操 作 系 统 | 设 备 管 理 47 CUIT 徐虹 ¾设备独立性 ¾应用程序独立于使用的物理设备,在 应用程序中使用逻辑设备名称来请求 使用某类设备。系统在执行时,是使 用物理设备名称。 ¾逻辑设备的引入 ¾为提高系统的可适应性和可扩展性,使 用户程序与实际物理设备无关。 ¾逻辑设备的特性是该类物理设备的特性 的抽象。 操 作 系 统 | 设 备 管 理 48 CUIT 徐虹 ¾设备独立性软件 ¾执行所有设备的公有操作 ¾设备的分配与回收 ¾逻辑设备到物理设备的映射 ¾保护 ¾缓冲管理 ¾差错控制 ¾向用户层(或文件层)软件提供统一的接 口
逻辑设备表T( Logical Unit Table)引>设备分配程序 联系逻辑设备的名称和物理设备名称的 分配设备 映象表 在进行设备分配时,通常是先将系统所 m>分配控制器 里设备分配给要求该设备的进程 作系统 分配通道 然后再把进程提出LO请求时之逻辑设备 名称填入PAT的该物理设备表目中,称逻 算法描 辑设备已连接到相应的物理设备上了。 仅适用于单路的IO系统:只有一条還路 与内存相连 UT的设量方法:整个系统一张取每个 改进 增加设备独立性 多通路 进来的O求 查DCT,找COC指片 控制器忙 查DCT,该设备忙? 给P分 升取进 F款分略入LO队列 作系统|设备管 查COgT找到CHCI 进程P造中? 通道忙? P遗道 检查安全性 分道 该设害分P t启动LO SPOOLing技术 工作原理 SPOOLing系统 例:输入方式 多台外设通过還道或DMA器件和主机与外 信号后 存连接起来,实现脱机I/O功能 SPOOLING系统的组成 存输入井 入光毕 输入井和输出井 特点 输入级冲区和输出缓冲区 提高O遠度 轴入程序和输出程序:每个程序包括读过 将独占设备改造为共享设备 程和写过程 实现了虚拟设备功能。 请求操作队列表
9 操 作 系 统 | 设 备 管 理 49 CUIT 徐虹 ¾逻辑设备表LUT(Logical Unit Table) ¾联系逻辑设备的名称和物理设备名称的 映象表。 ¾在进行设备分配时,通常是先将系统所 拥有的物理设备分配给要求该设备的进程, 然后再把进程提出I/O请求时之逻辑设备 名称填入PAT的该物理设备表目中,称逻 辑设备已连接到相应的物理设备上了。 ¾LUT的设置方法:整个系统一张或每个 用户一张。 操 作 系 统 | 设 备 管 理 50 CUIT 徐虹 ¾设备分配程序 ¾分配设备 ¾分配控制器 ¾分配通道 ¾算法描述 ¾仅适用于单路的I/O系统:只有一条通路 与内存相连. ¾改进 ¾增加设备独立性 ¾多通路 操 作 系 统 | 设 备 管 理 51 CUIT 徐虹 进程P来的I/O请求 搜索SDT找到DCT指针 查DCT,该设备忙? n y 按分配策略选取进程 P按分配策略入I/O队列 n 进程P被选中? P进程等待设备 y n 检查安全性 y 该设备分配给P 操 作 系 统 | 设 备 管 理 52 CUIT 徐虹 查DCT,找到COCT指针 y 控制器忙? P等待控制器 n 给P分配控制器 查COCT找到CHCT指针 y 通道忙? P等待通道 n 分配通道 启动I/O 操 作 系 统 | 设 备 管 理 53 CUIT 徐虹 ¾SPOOLing技术 ¾SPOOLing系统 ¾多台外设通过通道或DMA 器件和主机与外 存连接起来,实现脱机I/O功能。 ¾SPOOLING 系统的组成 ¾输入井和输出井。 ¾输入缓冲区和输出缓冲区。 ¾输入程序和输出程序:每个程序包括读过 程和写过程 ¾请求操作队列表。 操 作 系 统 | 设 备 管 理 54 CUIT 徐虹 ¾工作原理 ¾例:输入方式 : ¾在系统输入模块收到作业请求输入信号后,输 入管理模块中的读进程负责将信息从输入装置 读入缓冲区。当缓冲区满时,由写进程写到外 存输入井中。重复执行,直到作业输入完毕。 ¾特点 ¾提高I/O速度 ¾将独占设备改造为共享设备 ¾实现了虚拟设备功能
请求输入 7.5设备处理 信息→级冲区 它是驱动物理设备和DMA控制器成LO控 制器等宜接进行O操作的子程序的集合 冲区滴取结束标志 是IO进程与设备控制器之间的還信程序 区 收上层敦件发来的抽买求,把它化为具 结束? 将由设备控制器发来的信号传送给上层教件 调中断处理程序,结来捡入 设备驱动程序的功能 设备开关表DST:管理设各驱动程序,并给 >设备驱动程序的特点 出相应设备的各种操作程序的入口地址。 它主要是在请求I/O的进程与设备控制 将接收到的抽象要求转换为具体要求 器之间的一个通信程序 系一检查用户1O请求的合法性,了解O设备的状态,传 递有关,设设备的工作方式 系>驱动程序与IO设备的特性紧密相关 发出O命令,启动分民到的O设备,完成指定的 与1/O控制方式紧密相关 O操作 及时响应由控制器或理道发来的中斷请求,再根撰其 E与硬件紧密相关,用汇编写,圆化 对于设有還道的计算机系统,孤动程序还能根据用 户的山O请求,自动地构成通道程序 处理过程 将抽象要求转换为具体要求 检查IO请求的合法性 设备分类 读出和检查设备的状态 I/O控制方式 传送必要的参数 中断技术 备)工作方式的设置 缓冲技术 启动IO设备 设备分配原则和算法 设备驱动程序
10 操 作 系 统 | 设 备 管 理 55 CUIT 徐虹 请求输入 信息 Æ 缓冲区 N 缓冲区满或结束标志 Y 缓冲区 Æ 磁盘 N 结束? Y 调中断处理程序,结束输入 操 作 系 统 | 设 备 管 理 56 CUIT 徐虹 7.5 设备处理 ¾ 它是驱动物理设备和DMA控制器或I/O控 制器等直接进行I/O操作的子程序的集合, 是I/O进程与设备控制器之间的通信程序。 ¾ 主要任务: ¾接收上层软件发来的抽象要求,把它转化为具 体要求后,发送给设备控制器,启动设备去执 行 ¾将由设备控制器发来的信号传送给上层软件。 操 作 系 统 | 设 备 管 理 57 CUIT 徐虹 ¾设备驱动程序的功能 设备开关表DST:管理设备驱动程序,并给 出相应设备的各种操作程序的入口地址。 ¾将接收到的抽象要求转换为具体要求 ¾检查用户I/O请求的合法性,了解I/O设备的状态,传 递有关参数,设置设备的工作方式 ¾发出I/O命令,启动分配到的I/O设备,完成指定的 I/O操作 ¾及时响应由控制器或通道发来的中断请求,再根据其 中断类型调用相应的中断处理程序进行处理 ¾对于设置有通道的计算机系统,驱动程序还能根据用 户的I/O请求,自动地构成通道程序。 操 作 系 统 | 设 备 管 理 58 CUIT 徐虹 ¾设备驱动程序的特点 ¾它主要是在请求I/O的进程与设备控制 器之间的一个通信程序 ¾驱动程序与I/O设备的特性紧密相关 ¾与I/O控制方式紧密相关 ¾与硬件紧密相关,用汇编编写,固化 在ROM中 操 作 系 统 | 设 备 管 理 59 CUIT 徐虹 ¾处理过程 ¾将抽象要求转换为具体要求 ¾检查I/O请求的合法性 ¾读出和检查设备的状态 ¾传送必要的参数 ¾工作方式的设置 ¾启动I/O设备 操 作 系 统 | 设 备 管 理 60 CUIT 徐虹 小结 ¾设备分类 ¾I/O控制方式 ¾中断技术 ¾缓冲技术 ¾设备分配原则和算法 ¾设备驱动程序