《操作系统原理5.ppt》由会员分享,可在线阅读,更多相关《操作系统原理5.ppt(91页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第五章第五章 设备管理设备管理 设设备备是是指指计计算算机机系系统统中中除除CPU,内内存存和系统控制台以外的所有设备。和系统控制台以外的所有设备。设设备备管管理理程程序序是是用用于于对对这这类类设设备备进进行行控制和管理的一组程序。控制和管理的一组程序。设设备备管管理理是是OS中中最最复复杂杂且且与与硬硬件件紧紧密密相关的部分。相关的部分。CUIT1/16/2023 10:565.1I/O系统的组成系统的组成I/O系统的结构系统的结构微机型微机型I/O系统系统:I/O设备通过设备控制器设备通过设备控制器连接到总线上,连接到总线上,CPU通过设备控制器与相通过设备控制器与相应的设备进行通信。应
2、的设备进行通信。操作系统|设备管理CUIT1/16/2023 10:56主机型主机型I/O系统系统具有通道的具有通道的I/O系统结构:系统结构:I/O设备、设备、设备控制器、设备控制器、I/O通道、计算机通道、计算机5.1I/O系统的组成系统的组成操作系统|设备管理CUIT1/16/2023 10:56设备的类别设备的类别按从属关系按从属关系系统设备系统设备用户设备用户设备从资源分配角度从资源分配角度独享设备独享设备共享设备共享设备虚拟设备:通过虚拟设备:通过SPOOLING技术把独享设备改技术把独享设备改造为共享设备,以提高利用率。造为共享设备,以提高利用率。按信息组织方式按信息组织方式字符
3、设备字符设备块设备块设备设备分类的目的:简化设备管理程序设备分类的目的:简化设备管理程序5.1I/O系统的组成系统的组成操作系统|设备管理CUIT1/16/2023 10:56操作系统|设备管理CUIT1/16/2023 10:56设备控制器设备控制器设设备备控控制制器器是是一一个个可可编编址址设设备备,分分为为字字符符设设备备控控制制器器和和块块设设备备控控制制器器,是是CPU与设备间的接口。与设备间的接口。功能功能接收和识别命令:命令寄存器和译码器接收和识别命令:命令寄存器和译码器数据交换:数据寄存器数据交换:数据寄存器设备状态的了解和报告:状态寄存器设备状态的了解和报告:状态寄存器地址识
4、别:地址寄存器地址识别:地址寄存器5.1I/O系统的组成系统的组成操作系统|设备管理CUIT1/16/2023 10:56设备控制器的组成设备控制器的组成设备控制器与处理机的接口设备控制器与处理机的接口数据线(数据寄存器、控制数据线(数据寄存器、控制/状态寄存器)状态寄存器)地址线地址线控制线控制线设备控制器与设备的接口设备控制器与设备的接口数据信号数据信号控制信号控制信号状态信号状态信号I/O逻辑:实现对设备的控制逻辑:实现对设备的控制 5.1I/O系统的组成系统的组成操作系统|设备管理CUIT1/16/2023 10:56设备管理程序的设计目标设备管理程序的设计目标方便性:提供友好透明的用
5、户接口方便性:提供友好透明的用户接口并行性:提高设备的利用率和系统效率并行性:提高设备的利用率和系统效率均衡性:使用外存设备作为虚拟设备均衡性:使用外存设备作为虚拟设备独立性:与设备无关性独立性:与设备无关性设备管理的基本功能设备管理的基本功能提供和进程管理系统的接口提供和进程管理系统的接口进行设备分配进行设备分配实现设备之间,设备与实现设备之间,设备与CPU等之间的并行操等之间的并行操作作进行缓冲区管理进行缓冲区管理5.1I/O系统的组成系统的组成操作系统|设备管理CUIT1/16/2023 10:565.2 数据传送(数据传送(I/O)控制方式控制方式选择和衡量控制方式的原则:选择和衡量控
6、制方式的原则:速度高且安全速度高且安全系统开销小系统开销小使使I/O设备尽量忙,设备尽量忙,CPU等待时间等待时间少少操作系统|设备管理CUIT1/16/2023 10:56程序直接控制方式程序直接控制方式工作原理工作原理由用户进程直接控制内存或由用户进程直接控制内存或CPU与外设与外设间的信息传送。间的信息传送。优点:控制简单硬件要求少优点:控制简单硬件要求少缺点:缺点:CPU与外围设备只能串行工作与外围设备只能串行工作设备间不能并行操作设备间不能并行操作安全性差。安全性差。5.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CUIT1/16/2023 10:56向I/O控制
7、器发读命令读I/O控制器的状态检查状态从I/O控制器中读入字向存储器中写字传送完成完成下条指令出错未完未就绪控控制制流流程程5.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理中断方式中断方式中断的概念中断的概念中断源,中断请求,中断响应中断源,中断请求,中断响应开中断,关中断开中断,关中断中断屏蔽中断屏蔽(向(向CPU)保护保护CPU现场现场识别中断源识别中断源恢复恢复CPU现场现场5.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CUIT1/16/2023 10:56中断的分类与优先级中断的分类与优先级中断的分类:外中断,内中断(陷入)中断的分类:外中断,
8、内中断(陷入)中断的优先级中断的优先级软中断软中断软中断是通讯进程之间用来模拟硬中断的软中断是通讯进程之间用来模拟硬中断的一种信号通讯方式。一种信号通讯方式。中断源发中段请求或软中断信号后,中断源发中段请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处或接收进程在适当的时机自动进行中断处理或完成软中断信号对应的功能。理或完成软中断信号对应的功能。5.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CUIT1/16/2023 10:56中断处理过程中断处理过程CPU检查响应中断的条件是否满足检查响应中断的条件是否满足如如CPU响应中断,关中断响应中断,关中断保护现场保
9、护现场分析中断原因,调用中断处理子程序分析中断原因,调用中断处理子程序执行中断处理子程序执行中断处理子程序退出中断,恢复现场退出中断,恢复现场开中断,开中断,CPU继续执行继续执行5.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CUIT1/16/2023 10:56中断方式的处理过程中断方式的处理过程CPU与设备(控制与设备(控制ID)间有中断请求线且间有中断请求线且设备控制器的控制状态寄存器中有相应的设备控制器的控制状态寄存器中有相应的中断允许位。中断允许位。特点:特点:CPU利用率提高,能支持多道程序和设备利用率提高,能支持多道程序和设备并行工作。并行工作。数据传送过程
10、中,中断次数较多;可能出数据传送过程中,中断次数较多;可能出现数据丢失现象现数据丢失现象5.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CUIT1/16/2023 10:56 设备设备接收接收CPU发来的发来的START指令指令数据数据寄存器寄存器N满?满?Y控制器发中断信号控制器发中断信号 CPU向设备发向设备发START指令,指令,将中断允许位置将中断允许位置1调度程序调度其它进程调度程序调度其它进程其它进程执行其它进程执行N收到中断信号?收到中断信号?Y中断处理中断处理被中断进程执行被中断进程执行5.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CU
11、IT1/16/2023 10:56DMA方式方式在外围设备和内存之间开辟直接的数据在外围设备和内存之间开辟直接的数据交换通路。信息的传送方向,传送的源交换通路。信息的传送方向,传送的源地址和目的地址及传送长度都由地址和目的地址及传送长度都由CPU控控制。制。特点特点数据传输的基本单位是数据块数据传输的基本单位是数据块数据直接从设备到内存数据直接从设备到内存仅在传送开始和结束时才需仅在传送开始和结束时才需CPU干预,传干预,传送过程在控制器的控制下完成。送过程在控制器的控制下完成。5.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CUIT1/16/2023 10:565.2数据
12、传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CUIT1/16/2023 10:565.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CUIT1/16/2023 10:565.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CUIT1/16/2023 10:56操作系统|设备管理 DR 数据寄存器,暂时存放设备内存间传送的信息。MAR 内存地址寄存器。DC 传送字(节)数寄存器。CR 命令/状态寄存器。接收从CPU发来的 I/O命令、控制信息、设备状态。主机-控制器接口 控制器-块设备接口DMA控制器的组成控制器的组成DRMARDCCRI/O控控制
13、制逻逻辑辑命令命令系统总线系统总线DMADMA控制器控制器控制器控制器。CPUCPU内存内存count磁磁盘盘源地址源地址数据数据5.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理DMA 方式的工作流程DMA工作过程设置设置CR和和DC初值初值启动启动DMA传送命令传送命令挪用存储器周期挪用存储器周期传送数据字(节)传送数据字(节)存储器地址增存储器地址增1DC减减1DC=0N继续执行进程继续执行进程准备传送下一准备传送下一数据字数据字Y请求中断请求中断 CPUCPU命令命令 CR CR 内存始址内存始址 MARMAR要读数据字数要读数据字数 DC DC 磁盘地址磁盘地址 I
14、/OI/O控制逻辑控制逻辑5.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CUIT1/16/2023 10:56与中断的区别与中断的区别中断处理的时间不同中断处理的时间不同数据传送不由数据传送不由CPU控制完成控制完成缺点缺点使控制过程复杂化,可能产生内存地址使控制过程复杂化,可能产生内存地址冲突冲突多个多个DMA控制器的同时使用很不经济控制器的同时使用很不经济5.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CUIT1/16/2023 10:56通道控制方式通道控制方式通道是一个独立于通道是一个独立于CPU的专管的专管I/O控制控制的处理机,它控制设备与
15、内存直接进的处理机,它控制设备与内存直接进行数据交换。通道的启动由行数据交换。通道的启动由CPU发指发指令执行。令执行。通道类型通道类型字节多路通道字节多路通道数组选择通道数组选择通道数组多路通道数组多路通道5.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CUIT1/16/2023 10:56通道程序通道程序通道是通过执行通道程序,并与设备控制器来共通道是通过执行通道程序,并与设备控制器来共同实现对同实现对I/O设备的控制的。通道程序是由一系列设备的控制的。通道程序是由一系列的通道指令所构成。的通道指令所构成。操作码。操作码。内存地址内存地址计数计数通道程序结束位通道程序结
16、束位P记录结束标志记录结束标志R5.2数据传送(数据传送(I/O)控制方式控制方式操作系统|设备管理CUIT1/16/2023 10:565.3 缓冲管理缓冲管理缓冲技术缓冲技术引入原因:引入原因:提高提高CPU,通道,通道,I/O设备的并行能设备的并行能力。力。改善改善CPU和和I/O设备间速度不匹配的设备间速度不匹配的情况。情况。可减少中断可减少中断CPU的次数,放宽的次数,放宽CPU对对中断的响应时间。中断的响应时间。硬件缓冲器和软件缓冲硬件缓冲器和软件缓冲操作系统|设备管理CUIT1/16/2023 10:56对于字符设备对于字符设备对于字符设备对于字符设备字节缓冲:字节缓冲:字节缓冲
17、:字节缓冲:每个每个每个每个I/OI/OI/OI/O缓冲区缓存一个字符或一个字节缓冲区缓存一个字符或一个字节缓冲区缓存一个字符或一个字节缓冲区缓存一个字符或一个字节可用于键盘输入等可用于键盘输入等可用于键盘输入等可用于键盘输入等行缓冲:行缓冲:行缓冲:行缓冲:每个每个每个每个I/OI/OI/OI/O缓冲区缓存一个字符串或长度可变的缓冲区缓存一个字符串或长度可变的缓冲区缓存一个字符串或长度可变的缓冲区缓存一个字符串或长度可变的多个字节多个字节多个字节多个字节可用于显示输出、打印输出等可用于显示输出、打印输出等可用于显示输出、打印输出等可用于显示输出、打印输出等对于块设备对于块设备对于块设备对于块
18、设备块缓冲:块缓冲:块缓冲:块缓冲:每个每个每个每个I/OI/OI/OI/O缓冲区缓存固定长度的多个字节(即缓冲区缓存固定长度的多个字节(即缓冲区缓存固定长度的多个字节(即缓冲区缓存固定长度的多个字节(即一块数据)一块数据)一块数据)一块数据)可用于磁盘、磁带等输入输出可用于磁盘、磁带等输入输出可用于磁盘、磁带等输入输出可用于磁盘、磁带等输入输出5.3缓冲管理缓冲管理操作系统|设备管理CUIT1/16/2023 10:56单缓冲和双缓冲单缓冲和双缓冲单缓冲单缓冲设:数据从磁盘设:数据从磁盘缓冲区缓冲区T数据从缓冲区数据从缓冲区用户区用户区MCPU计算时间计算时间C则:对数据的处理时间为则:对数
19、据的处理时间为max(C,T)+M如无缓冲区,处理时间为:如无缓冲区,处理时间为:T+C5.3缓冲管理缓冲管理操作系统|设备管理CUIT1/16/2023 10:565.3缓冲管理缓冲管理操作系统|设备管理CUIT1/16/2023 10:56双缓冲双缓冲系统处理时间:系统处理时间:max(C,T)当当CT:CPU进行处理进行处理两台计算机进行通信,配备双缓冲,实现双向两台计算机进行通信,配备双缓冲,实现双向数据传送。数据传送。5.3缓冲管理缓冲管理操作系统|设备管理CUIT1/16/2023 10:56循环缓冲循环缓冲用几个缓冲区组成一个环形缓冲区,用几个缓冲区组成一个环形缓冲区,供输入供输
20、入/出共同使用。出共同使用。工作原理工作原理Nextg:指向装数据的缓冲区;指向装数据的缓冲区;Nexti:指向空缓冲区;指向空缓冲区;Current:正在使用的缓冲区单元。正在使用的缓冲区单元。5.3缓冲管理缓冲管理操作系统|设备管理CUIT1/16/2023 10:565.3缓冲管理缓冲管理操作系统|设备管理CUIT1/16/2023 10:56缓冲区的使用缓冲区的使用Getbuf过程(获取缓冲的过程过程(获取缓冲的过程)Releasebuf过程(释放缓冲的过程)过程(释放缓冲的过程)进程同步进程同步Nexti赶上赶上Nextg:系统受计算限制:所系统受计算限制:所有缓冲区装满数据,输入进
21、程阻塞。有缓冲区装满数据,输入进程阻塞。Nextg赶上赶上Nexti:系统受系统受I/O限制:所有限制:所有缓冲区为空,输出进程阻塞。缓冲区为空,输出进程阻塞。5.3缓冲管理缓冲管理操作系统|设备管理CUIT1/16/2023 10:56缓冲池缓冲池缓冲池的结构缓冲池的结构把输入和输出多缓冲器结合起来,形成一把输入和输出多缓冲器结合起来,形成一个既能用于输入,又能用于输出的缓冲器,个既能用于输入,又能用于输出的缓冲器,称为缓冲池。称为缓冲池。空白缓冲队列空白缓冲队列emqF(emq),),L(emq)装满输入数据的缓冲队列装满输入数据的缓冲队列inqF(inq),),L(inq)装满输出数据的
22、缓冲队列装满输出数据的缓冲队列outgF(outg)L(outg)5.3缓冲管理缓冲管理操作系统|设备管理CUIT1/16/2023 10:56工作缓冲区工作缓冲区收容输入缓冲区收容输入缓冲区hin;用于收容设备输入用于收容设备输入的数据的数据提取输入缓冲区提取输入缓冲区sin;用于提取设备输入用于提取设备输入的数据的数据收容输出缓冲区收容输出缓冲区hout;用于收容用于收容CPU输输出的数据出的数据提取输出缓冲区提取输出缓冲区sout;用于提取用于提取CPU输输出的数据出的数据5.3缓冲管理缓冲管理操作系统|设备管理CUIT1/16/2023 10:56对缓冲池的操作对缓冲池的操作take-
23、buf(type):):从三种缓冲区队列中按一从三种缓冲区队列中按一定的选取规则取出一个缓冲区。定的选取规则取出一个缓冲区。add-buf(type,number):把指定编号的缓把指定编号的缓冲区,挂在指定队列的未尾。冲区,挂在指定队列的未尾。get-buf(type):从某种类型的队列队首摘下从某种类型的队列队首摘下一缓冲区一缓冲区put-buf(type,number):用于释放某个不再用于释放某个不再需要的或已装满数据的工作缓冲区并将它挂再需要的或已装满数据的工作缓冲区并将它挂再指定队列的末尾。指定队列的末尾。5.3缓冲管理缓冲管理操作系统|设备管理CUIT1/16/2023 10:5
24、6get-buf(type,number):从某种类型的从某种类型的队列中获得一缓冲区队列中获得一缓冲区每种队列设置用于互斥的信号量每种队列设置用于互斥的信号量MS(type)=1每种队列设置描述资源数目的信号量每种队列设置描述资源数目的信号量RS(type)=nProcedureget-buf(inttype)begin wait(RS(type);wait(MS(type);B(number)=take-buf(type)Signal(MS(type);end5.3缓冲管理缓冲管理操作系统|设备管理CUIT1/16/2023 10:56put-buf(type,number):用于释放某个
25、用于释放某个不再需要的或已装满数据的工作缓冲区并不再需要的或已装满数据的工作缓冲区并将它挂再指定队列的末尾。将它挂再指定队列的末尾。Procedureput-buf(inttype)Beginwait(MS(type);add-buf(type,number);Signal(MS(type);Signal(RS(type);end5.3缓冲管理缓冲管理操作系统|设备管理CUIT1/16/2023 10:56缓冲池工作过程缓冲池工作过程收容输入收容输入hin输入进程输入输入进程输入hin=get-buf(emq)put-buf(inq,hin):提取输入提取输入sin计算进程输入计算进程输入si
26、n=get-buf(inq):put-buf(emq,sin):收容输出收容输出hout计算进程输出计算进程输出hout=get-buf(emq):put-buf(outq,hout):提取输出提取输出sout输出进程输出输出进程输出sout=get-buf(outq):put-buf(emq,sout):5.3缓冲管理缓冲管理操作系统|设备管理缓冲池管理方式输输入入输输出出设设备备数数据据处处理理程程序序hinsoutsinhoutinqemqoutqputbuf(inq,hin)putbuf(emq,sout)getbuf(inq)getbuf(emq)putbuf(emq,sin)get
27、buf(outq)getbuf(emq)putbuf(outq,hout)提取提取输入输入提取提取输出输出收容收容输入输入收容收容输出输出典型的典型的缓冲池管理缓冲池管理收容收容输入输入getbuf(emq)hinputbuf(inq,hin)提取提取输入输入getbuf(inq)sinputbuf(emq,sin)5.3缓冲管理缓冲管理操作系统|设备管理CUIT1/16/2023 10:565.4I/O软件软件I/O软件分低层与高层,低层主要实现与硬件相关的操作,软件分低层与高层,低层主要实现与硬件相关的操作,并可屏蔽硬件的具体操作。高层则主要向用户提供一个简并可屏蔽硬件的具体操作。高层则主
28、要向用户提供一个简洁、友好和规范的接口。洁、友好和规范的接口。I/O软件的基本目标:软件的基本目标:1、与具体设备无关;、与具体设备无关;2、统一命名;、统一命名;3、对错误的处理;、对错误的处理;4、缓冲技术;、缓冲技术;5、设备的分配与释放;、设备的分配与释放;6、I/O控制方式;控制方式;操作系统|设备管理CUIT1/16/2023 10:565.4I/O软件软件I/O系统的层次结构:只要层次间的接口不变,对每个层系统的层次结构:只要层次间的接口不变,对每个层次中的软件的修改都不会引起下层或高层代码的变更,次中的软件的修改都不会引起下层或高层代码的变更,仅最低层才会涉及到硬件的具体特性。
29、仅最低层才会涉及到硬件的具体特性。(1)用户层软件;实现与用户交互的接口,用户可直)用户层软件;实现与用户交互的接口,用户可直接调用在用户层提供的、与接调用在用户层提供的、与I/O操作相关的库函数。操作相关的库函数。(2)设备独立性软件;负责实现与设备驱动器的统一)设备独立性软件;负责实现与设备驱动器的统一接口、设备命名、设备保护以及设备分配与释放,同接口、设备命名、设备保护以及设备分配与释放,同时为设备管理和数据传送提供必要的存储空间。时为设备管理和数据传送提供必要的存储空间。(3)设备驱动程序;与硬件处理相关。负责具体实现)设备驱动程序;与硬件处理相关。负责具体实现系统对设备发出的操作指令
30、,驱动系统对设备发出的操作指令,驱动I/O设备工作的驱动设备工作的驱动程序。程序。(4)中断处理程序;)中断处理程序;操作系统|设备管理CUIT1/16/2023 10:565.4I/O软件软件中断处理程序:主要与硬件相关,因此主要放在操作系中断处理程序:主要与硬件相关,因此主要放在操作系统的底层进行,系统的其余部分尽可能少与之发生联系。统的底层进行,系统的其余部分尽可能少与之发生联系。中断处理程序的过程:中断处理程序的过程:1、唤醒被阻塞的驱动(程序)进程;、唤醒被阻塞的驱动(程序)进程;2、保护被中断进程的、保护被中断进程的CPU环境;环境;3、转入相应的设备处理程序;、转入相应的设备处理
31、程序;4、中断处理;、中断处理;5、恢复被中断进程的现场。、恢复被中断进程的现场。操作系统|设备管理CUIT1/16/2023 10:56它是驱动物理设备和它是驱动物理设备和DMA控制器或控制器或I/O控控制器等直接进行制器等直接进行I/O操作的子程序的集合,操作的子程序的集合,是是I/O进程与设备控制器之间的通信程序。进程与设备控制器之间的通信程序。主要任务:主要任务:接收上层软件发来的抽象要求,把它转化为具接收上层软件发来的抽象要求,把它转化为具体要求后,发送给设备控制器,启动设备去执体要求后,发送给设备控制器,启动设备去执行行将由设备控制器发来的信号传送给上层软件。将由设备控制器发来的信
32、号传送给上层软件。5.4I/O软件软件设备驱动程序:是设备驱动程序:是I/O进程与设备控制器之间的进程与设备控制器之间的通信程序。通信程序。操作系统|设备管理CUIT1/16/2023 10:56设备驱动程序的功能设备驱动程序的功能接收独立性软件传来的参数,将接收到的抽象接收独立性软件传来的参数,将接收到的抽象要求转换为具体要求要求转换为具体要求检查用户检查用户I/O请求的合法性,了解请求的合法性,了解I/O设备的状设备的状态,传递有关参数,设置设备的工作方式态,传递有关参数,设置设备的工作方式发出发出I/O命令,启动分配到的命令,启动分配到的I/O设备,完成指设备,完成指定的定的I/O操作操
33、作及时响应由控制器或通道发来的中断请求,再及时响应由控制器或通道发来的中断请求,再根据其中断类型调用相应的中断处理程序进行根据其中断类型调用相应的中断处理程序进行处理处理对于设置有通道的计算机系统,驱动程序还能对于设置有通道的计算机系统,驱动程序还能根据用户的根据用户的I/O请求,自动地构成通道程序。请求,自动地构成通道程序。5.5设备处理设备处理操作系统|设备管理CUIT1/16/2023 10:56设备驱动程序的特点设备驱动程序的特点它主要是在请求它主要是在请求I/O的进程与设备控制的进程与设备控制器之间的一个通信程序器之间的一个通信程序驱动程序与驱动程序与I/O设备的特性紧密相关设备的特
34、性紧密相关与与I/O控制方式紧密相关控制方式紧密相关与硬件紧密相关,用汇编编写,固化与硬件紧密相关,用汇编编写,固化在在ROM中中驱动程序应允许可重入驱动程序应允许可重入驱动程序不允许系统。但可允许对某驱动程序不允许系统。但可允许对某些内核过程的调用。些内核过程的调用。5.5设备处理设备处理操作系统|设备管理CUIT1/16/2023 10:56设备独立性设备独立性应用程序独立于使用的物理设备,在应用程应用程序独立于使用的物理设备,在应用程序中使用逻辑设备名称来请求使用某类设备。序中使用逻辑设备名称来请求使用某类设备。系统在执行时,是使用物理设备名称。系统在执行时,是使用物理设备名称。逻辑设备
35、的引入逻辑设备的引入为提高系统的可适应性和可扩展性,使为提高系统的可适应性和可扩展性,使用户程序与实际物理设备无关。用户程序与实际物理设备无关。逻辑设备的特性是该类物理设备的特性逻辑设备的特性是该类物理设备的特性的抽象。的抽象。5.4设备分配设备分配设备独立性软件:使应用程序独立于具体使用设备独立性软件:使应用程序独立于具体使用的物理设备,也称设备无关性。的物理设备,也称设备无关性。操作系统|设备管理CUIT1/16/2023 10:56设备独立性软件设备独立性软件执行所有设备的公有操作执行所有设备的公有操作设备的分配与回收设备的分配与回收逻辑设备到物理设备的映射逻辑设备到物理设备的映射保护保
36、护缓冲管理缓冲管理差错控制差错控制提供独立于设备的逻辑块提供独立于设备的逻辑块向用户层(或文件层)软件提供统一的接向用户层(或文件层)软件提供统一的接口口5.4设备分配设备分配操作系统|设备管理CUIT1/16/2023 10:56逻辑设备名到物理设备名映射的实现逻辑设备名到物理设备名映射的实现逻辑设备表逻辑设备表LUT(LogicalUnitTable)联系逻辑设备的名称和物理设备名称的映象表。联系逻辑设备的名称和物理设备名称的映象表。在进行设备分配时,通常是先将系统所拥有的物理在进行设备分配时,通常是先将系统所拥有的物理设备分配给要求该设备的进程,然后再把进程提出设备分配给要求该设备的进程
37、,然后再把进程提出I/O请求时之逻辑设备名称填入该物理设备表目中,请求时之逻辑设备名称填入该物理设备表目中,称逻辑设备已连接到相应的物理设备上了。称逻辑设备已连接到相应的物理设备上了。LUT的设置方法:整个系统一张或每个用户一张。的设置方法:整个系统一张或每个用户一张。5.4设备分配设备分配逻辑设备名逻辑设备名物理设备名物理设备名 驱动程序入口地址驱动程序入口地址/dev/tty31024/dev/print52046操作系统|设备管理CUIT1/16/2023 10:565.5 设备分配设备分配当某进程向系统提出当某进程向系统提出I/O请求后,设备分配请求后,设备分配程序按照一定的策略,把所
38、要求的设备分程序按照一定的策略,把所要求的设备分配给它。为确保配给它。为确保CPU与设备之间能进行通与设备之间能进行通讯,还应分配相应的控制器和通道。讯,还应分配相应的控制器和通道。操作系统|设备管理CUIT1/16/2023 10:56设备管理中的数据结构设备管理中的数据结构设备控制表(设备控制表(DCT):):每台设备一张每台设备一张设备标识符设备标识符设备类型设备类型设备地址或设备号设备地址或设备号设备状态设备状态等待队列指针等待队列指针重复执行的次数和时间重复执行的次数和时间指向设备控制器指针指向设备控制器指针5.5设备分配设备分配操作系统|设备管理CUIT1/16/2023 10:5
39、6系统设备表系统设备表SDT:整个系统一张整个系统一张记录系统中所拥有的全部记录系统中所拥有的全部I/O设备的情况,设备的情况,反映系统中设备资源的状态。反映系统中设备资源的状态。DCT指针,指向有关设备的设备控制器指针,指向有关设备的设备控制器表表正在使用设备的进程标识正在使用设备的进程标识设备驱动程序入口设备驱动程序入口5.5设备分配设备分配操作系统|设备管理CUIT1/16/2023 10:56控制器表控制器表COCT:每个控制器一张:反每个控制器一张:反映映I/O控制器的使用状态和通道的连接控制器的使用状态和通道的连接情况情况控制器标识控制器标识控制器状态控制器状态CHCT指针指针控制
40、器等待队列队首指针控制器等待队列队首指针控制器等待队列队尾指针控制器等待队列队尾指针5.5设备分配设备分配操作系统|设备管理CUIT1/16/2023 10:56通道控制表通道控制表CHCT每个通道一张每个通道一张通道标识符通道标识符通道状态通道状态通道等待队列首通道等待队列首通道等待队列尾通道等待队列尾控制器表首址控制器表首址5.5设备分配设备分配操作系统|设备管理CUIT1/16/2023 10:565.5设备分配设备分配设备分配程序设备分配程序(I/O通道系统)通道系统)分配设备分配设备:SDTDCT分配控制器分配控制器:DCTCOCT分配通道:分配通道:COCTCHCT算法描述算法描述
41、仅适用于单路的仅适用于单路的I/O系统:只有一条系统:只有一条通路与内存相连通路与内存相连.改进改进增加设备独立性增加设备独立性多通路多通路操作系统|设备管理CUIT1/16/2023 10:56设备分配的数据结构针针SDTDCTCOCTCHCTSDT5.5设备分配设备分配操作系统|设备管理设备分配流程设备分配流程进程进程P发出发出I/O请求请求搜索搜索SDT找到找到DCT指针指针查查DCT设备忙?设备忙?进程进程P按分配算法按分配算法入入I/O队列队列YN按分配算法选择进程按分配算法选择进程进程进程P选中?选中?进程进程P等待等待设备空闲设备空闲NY检查设备分配的安全性检查设备分配的安全性安
42、全吗?安全吗?NY设备分配给进程设备分配给进程P11搜索搜索DCT找到找到COCT指针指针控制器忙?控制器忙?Y进程进程P等待等待控制器控制器N分配控制器给进程分配控制器给进程P搜索搜索COCT找到找到CHCT指针指针CHCT忙忙Y进程进程P等等待通道待通道N分配通道给进程分配通道给进程P启动启动I/O5.5设备分配设备分配操作系统|设备管理CUIT1/16/2023 10:56设备分配原则设备分配原则设备的固有属性设备的固有属性设备分配策略设备分配策略静态分配:静态分配:动态分配:动态分配:设备分配算法设备分配算法先请求先分配先请求先分配优先级高者先分配优先级高者先分配设备分配中的安全性设备
43、分配中的安全性一个进程只能提出一个一个进程只能提出一个I/O请求请求多请求方式多请求方式5.5设备分配设备分配操作系统|设备管理CUIT1/16/2023 10:56SPOOLing技术技术将独占设备改为共享设备的一种技术。将独占设备改为共享设备的一种技术。SPOOLing系统系统在多道程序系统中,分别利用一道程序模拟脱机输入时的在多道程序系统中,分别利用一道程序模拟脱机输入时的外围控制机的功能,再用另一道程序模拟脱机输出时的外外围控制机的功能,再用另一道程序模拟脱机输出时的外围控制机的功能,从而在主机的控制下,实现脱机围控制机的功能,从而在主机的控制下,实现脱机I/O功功能。能。SPOOLi
44、ng系统的组成系统的组成输入井(收容输入井(收容I/O设置输入)和输出井(模拟脱机输出的设置输入)和输出井(模拟脱机输出的磁盘)。磁盘)。输入缓冲区(暂存输入设备的数据)和输出缓冲区(暂存输入缓冲区(暂存输入设备的数据)和输出缓冲区(暂存从输出井送来的数据)。从输出井送来的数据)。输入程序(模拟输入时的外围控制机)和输出程序(模拟输入程序(模拟输入时的外围控制机)和输出程序(模拟输出时的外围控制机)输出时的外围控制机):每个程序包括读过程和写过程:每个程序包括读过程和写过程请求操作队列表。请求操作队列表。操作系统|设备管理CUIT1/16/2023 10:56工作原理工作原理例:输入方式例:输
45、入方式:在系统输入模块收到作业请求输入信号后,输入管在系统输入模块收到作业请求输入信号后,输入管理模块中的读进程负责将信息从输入装置读入缓冲理模块中的读进程负责将信息从输入装置读入缓冲区。当缓冲区满时,由写进程写到外存输入井中。区。当缓冲区满时,由写进程写到外存输入井中。重复执行,直到作业输入完毕重复执行,直到作业输入完毕。特点特点提高提高I/O速度:把原先对低速速度:把原先对低速I/O的操作改为对的操作改为对输入井或输出井的存取。输入井或输出井的存取。将独占设备改造为共享设备:把对进程的设备将独占设备改造为共享设备:把对进程的设备分配改为在输入井或输出井中为进程分配一个分配改为在输入井或输出
46、井中为进程分配一个存储区和建立一张存储区和建立一张I/O请求表。请求表。实现了虚拟设备功能:对每个进程,分配一个实现了虚拟设备功能:对每个进程,分配一个逻辑上的设备。逻辑上的设备。操作系统|设备管理CUIT1/16/2023 10:56 SPOOLing 系统的组成:输入井、输出井 输入进程、输出进程 I/O缓冲区输入设备输入设备输入设备输入设备通通 道道通通道道通通 道道输出设备输出设备输出设备输出设备输入井输入井输出井输出井外外 存存输入管理输入管理输出管理输出管理进程进程进程进程主机系统主机系统I/O缓冲区缓冲区5.5设备分配设备分配操作系统|设备管理CUIT1/16/2023 10:5
47、65.6 磁盘存储器管理磁盘存储器管理磁盘性能简述磁盘性能简述数据的组织:盘、磁道、柱面和扇区。数据的组织:盘、磁道、柱面和扇区。磁盘的类型:固定磁头和移动磁头。磁盘的类型:固定磁头和移动磁头。磁盘访问时间磁盘访问时间寻道时间寻道时间旋转延迟时间旋转延迟时间传输时间传输时间操作系统|设备管理CUIT1/16/2023 10:565.6磁盘存储器管理磁盘存储器管理操作系统|设备管理CUIT1/16/2023 10:56磁盘调度算法磁盘调度算法目标:平均寻道时间最短。目标:平均寻道时间最短。5.6磁盘存储器管理磁盘存储器管理操作系统|设备管理CUIT1/16/2023 10:56先来先服务先来先服
48、务FCFS(FirstComeFirstServed)原理原理:根据进程请求访问磁盘的先后次根据进程请求访问磁盘的先后次序进行调度。序进行调度。特点:公平、简单。平均寻道时间长。特点:公平、简单。平均寻道时间长。5.6磁盘存储器管理磁盘存储器管理操作系统|设备管理CUIT1/16/2023 10:56操作系统|设备管理CUIT1/16/2023 10:56最短寻道时间优先最短寻道时间优先SSTF(ShortestSeekTimeFirst)原理:选择有距当前磁头所在磁道最近的访问原理:选择有距当前磁头所在磁道最近的访问磁道的进程。磁道的进程。特点:寻道时间最短,但导致某些进程发生特点:寻道时间
49、最短,但导致某些进程发生“饥饿饥饿”现象。现象。5.6磁盘存储器管理磁盘存储器管理操作系统|设备管理CUIT1/16/2023 10:56操作系统|设备管理CUIT1/16/2023 10:56扫描算法(扫描算法(SCAN)原理:选择与当前磁头移动方向一致且距离最原理:选择与当前磁头移动方向一致且距离最近的进程。近的进程。特点:寻道性能较好,避免了进程特点:寻道性能较好,避免了进程“饥饿饥饿”现现象。象。5.6磁盘存储器管理磁盘存储器管理操作系统|设备管理CUIT1/16/2023 10:56操作系统|设备管理CUIT1/16/2023 10:56循环扫描算法(循环扫描算法(CSCAN)规定磁
50、头单向移动。规定磁头单向移动。5.6磁盘存储器管理磁盘存储器管理操作系统|设备管理CUIT1/16/2023 10:56操作系统|设备管理CUIT1/16/2023 10:56N-Step-SCAN算法算法“磁臂粘着磁臂粘着”现象:磁臂停留在某处不现象:磁臂停留在某处不动。动。将磁盘请求队列分成若干个长度为将磁盘请求队列分成若干个长度为N的的子队列,磁盘调度将按子队列,磁盘调度将按FCFS算法依次算法依次处理这些子队列。而每个队列的处理是处理这些子队列。而每个队列的处理是按按SCAN算法,一个处理完毕再处理下算法,一个处理完毕再处理下一个队列。一个队列。FSCAN算法算法N-Step-SCAN