[精选]操作系统OS_05_设备管理.pptx

上传人:茅**** 文档编号:87836136 上传时间:2023-04-18 格式:PPTX 页数:125 大小:4.53MB
返回 下载 相关 举报
[精选]操作系统OS_05_设备管理.pptx_第1页
第1页 / 共125页
[精选]操作系统OS_05_设备管理.pptx_第2页
第2页 / 共125页
点击查看更多>>
资源描述

《[精选]操作系统OS_05_设备管理.pptx》由会员分享,可在线阅读,更多相关《[精选]操作系统OS_05_设备管理.pptx(125页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第五章第五章 设备管理设备管理n设备管理的对象:设备管理的对象:I/O设备、设备控制器、设备、设备控制器、I/On设备管理的基本任务:设备管理的基本任务:n完成用户提出的完成用户提出的I/O请求;请求;n提高提高I/O速率;速率;n提高提高I/O设备的利用率。设备的利用率。n设备管理的主要功能:设备管理的主要功能:n缓冲区管理、设备分配、设备处理、虚拟设备、缓冲区管理、设备分配、设备处理、虚拟设备、实现设备独立性。实现设备独立性。1第五章第五章 设备管理设备管理5.1 I/O系统系统 5.2 I/O控制方式控制方式 5.3 缓冲管理缓冲管理 5.4 设备分配设备分配5.5 设备处理设备处理 5

2、.6 磁盘存储器管理磁盘存储器管理2I/OI/O缓冲区的管理缓冲区的管理34565.1 I/O系统系统 nI/O系统是用于实现数据输入、输出和数据存系统是用于实现数据输入、输出和数据存储的系统。储的系统。5.1.1 I/O设备设备 5.1.2 设备控制器设备控制器5.1.3 I/O通道通道 5.1.4 总线系统总线系统 75.1.1 I/O设备设备1.I/O设备的类型设备的类型n从从OS观点看,观点看,I/O设备的重要的性能指标有:设设备的重要的性能指标有:设备使用特性、数据传输速率、数据的传输单位、备使用特性、数据传输速率、数据的传输单位、设备共享属性等。设备共享属性等。2.设备与控制器之间

3、的接口设备与控制器之间的接口81.I/O设备的类型设备的类型 n按按使用特性分类:使用特性分类:n存储设备,也称外存或后备存储器、辅助存储存储设备,也称外存或后备存储器、辅助存储器。器。n输入输入/输出设备输出设备n输入设备,如键盘、鼠标、扫描仪、视频摄像、输入设备,如键盘、鼠标、扫描仪、视频摄像、各类传感器等。各类传感器等。n输出设备,如打印机、绘图仪、显示器、音箱等。输出设备,如打印机、绘图仪、显示器、音箱等。n交互式设备,集成上述两类设备,利用输入设备交互式设备,集成上述两类设备,利用输入设备接收用户命令信息,并通过输出设备同步显示用接收用户命令信息,并通过输出设备同步显示用户命令以及命

4、令执行的结果。户命令以及命令执行的结果。91.I/O设备的类型设备的类型 n按传输速率分类:按传输速率分类:n低速设备,每秒钟几个字节至数百个字节。低速设备,每秒钟几个字节至数百个字节。n键盘、鼠标器、语音的输入和输出设备键盘、鼠标器、语音的输入和输出设备n中速设备,每秒钟数千个字节至数万个字节。中速设备,每秒钟数千个字节至数万个字节。n行式打印机、激光打印机行式打印机、激光打印机n高速设备,数百千个字节至数十兆字节高速设备,数百千个字节至数十兆字节。n磁带机、光盘机、磁盘机磁带机、光盘机、磁盘机101.I/O设备的类型设备的类型 n按信息交换的单位分类:按信息交换的单位分类:n块设备块设备B

5、lock Devicen用于存储信息,信息存取以数据块为单位,有结用于存储信息,信息存取以数据块为单位,有结构设备。构设备。n磁盘:传输速率较高;可寻址;常采用磁盘:传输速率较高;可寻址;常采用DMA方方式。式。n字符设备字符设备Character Devicen用于数据的输入和输出,无结构设备。用于数据的输入和输出,无结构设备。n交互式终端、打印机等。交互式终端、打印机等。n传输速率低,不可寻址,常采用中断驱动方式。传输速率低,不可寻址,常采用中断驱动方式。111.I/O设备的类型设备的类型 n按设备的共享属性分类:按设备的共享属性分类:n独占设备,指在一段时间内只允许一个用户进独占设备,指

6、在一段时间内只允许一个用户进程访问的设备,即:临界资源。程访问的设备,即:临界资源。n共享设备共享设备,指在一段时间内允许多个进程同时访,指在一段时间内允许多个进程同时访问的设备,对每一个时刻只允许一个进程访问该问的设备,对每一个时刻只允许一个进程访问该设备。设备。n可寻址,可随机访问磁盘可寻址,可随机访问磁盘n虚拟设备虚拟设备,指通过虚拟技术将一台独占设备变为,指通过虚拟技术将一台独占设备变为假设干台逻辑设备,供假设干个用户进程同假设干台逻辑设备,供假设干个用户进程同时使用。时使用。122.设备与控制器之间的接口设备与控制器之间的接口n设备与设备与CPU之间通过设备控制器通信。之间通过设备控

7、制器通信。n在设备中应含有与设备控制器之间的接口,在该在设备中应含有与设备控制器之间的接口,在该接口中有三种类型的信号,各对应一条信号线。接口中有三种类型的信号,各对应一条信号线。缓冲缓冲转换器转换器控制逻辑控制逻辑数据信号线数据信号线状态信号线状态信号线控制信号线控制信号线I/O设备设备设备设备控制器控制器CPU信号信号数据数据135.1.2 设备控制器设备控制器 n职责:控制一个或多个职责:控制一个或多个I/O设备,实现设备,实现I/O设备设备与计算机之间的数据交换,是与计算机之间的数据交换,是CPU和和I/O设备设备之间的接口,它接收从之间的接口,它接收从CPU发来的命令,并去发来的命令

8、,并去控制控制I/O设备工作,以使处理机从繁杂的设备设备工作,以使处理机从繁杂的设备控制事务中解脱出来。控制事务中解脱出来。n可编址:一个地址对应一个设备。可编址:一个地址对应一个设备。n分类:字符设备控制器;块设备控制器。分类:字符设备控制器;块设备控制器。141.设备控制器的基本功能设备控制器的基本功能 n接收和识别命令接收和识别命令 n在控制器中应具有控制存放器,用来存放接收在控制器中应具有控制存放器,用来存放接收的命令和参数,并进行译码。的命令和参数,并进行译码。n数据交换数据存放器数据交换数据存放器 n实现实现CPU与控制器,控制器与设备间的数据交与控制器,控制器与设备间的数据交换。

9、换。n标识和报告设备的状态标识和报告设备的状态 n控制器中的状态存放器记录设备的状态供控制器中的状态存放器记录设备的状态供CPU了解。了解。151.设备控制器的基本功能续设备控制器的基本功能续n地址识别地址识别 n每个设备都有一个地址,控制器必须能识别,每个设备都有一个地址,控制器必须能识别,需配置地址译码器。需配置地址译码器。n数据缓冲数据缓冲 n解决解决I/O设备与设备与CPU、内存速度不匹配的矛盾。、内存速度不匹配的矛盾。n过失控制过失控制 n控制器兼管对由控制器兼管对由I/O设备传送来的数据进行过失设备传送来的数据进行过失检测,保证数据输入的正确性。检测,保证数据输入的正确性。162.

10、设备控制器的组成设备控制器的组成175.1.3 I/O通道通道1.I/O通道设备的引入通道设备的引入n目的:原来目的:原来CPU的的I/O任务由通道来承担,从而任务由通道来承担,从而把把CPU从繁杂的从繁杂的I/O任务中解脱出来。任务中解脱出来。n特征:一种特殊的处理机,它具有执行特征:一种特殊的处理机,它具有执行I/O指令指令的能力,并通过执行通道的能力,并通过执行通道I/O程序来控制程序来控制I/O操作。操作。n与一般处理机的区别:与一般处理机的区别:n指令类型单一仅能执行与指令类型单一仅能执行与I/O操作有关的指令操作有关的指令。n没有自己的内存通道与没有自己的内存通道与CPU共享内存。

11、共享内存。182.通道类型通道类型n通道是用来控制外围设备的,由于外围设备的通道是用来控制外围设备的,由于外围设备的类型较多,且其传输速率相差较大,因而使通类型较多,且其传输速率相差较大,因而使通道具有多种类型。根据信息交换方式的不同,道具有多种类型。根据信息交换方式的不同,可把通道分为三种类型:可把通道分为三种类型:1字节多路通道字节多路通道2数组选择通道数组选择通道3数组多路通道数组多路通道192.通道类型续通道类型续 1字节多路通道字节多路通道Byte Multiplexor Channeln是一种按字节交叉方式工作的通道。是一种按字节交叉方式工作的通道。n一次交换一个字节。一次交换一个

12、字节。n含有许多非分配型子通道。含有许多非分配型子通道。n子通道采用多路分时复用按时间片轮转方式共子通道采用多路分时复用按时间片轮转方式共享主通道。享主通道。控制器控制器 A控制器控制器 B控制器控制器 C控制器控制器 D控制器控制器 NA1A2A3子通道子通道 AB1B2B3子通道子通道 BC1C2C3子通道子通道 CN1N2N3子通道子通道 NA1B1C1A2B2C2设备设备202.通道类型续通道类型续 2数组选择通道数组选择通道Block Selector Channeln按数组方式进行数据传送。按数组方式进行数据传送。n含有一个分配型子通道。含有一个分配型子通道。n一段时间内只执行一道

13、通道程序,控制一台设一段时间内只执行一道通道程序,控制一台设备。备。n设备独占通道,通道利用率低。设备独占通道,通道利用率低。3数组多路通道数组多路通道Block Multiplexor Channeln含有许多非分配型子通道,分时并行操作。含有许多非分配型子通道,分时并行操作。n按数组方式进行数据传送。按数组方式进行数据传送。21字节多字节多路通道路通道数组选数组选择通道择通道数组多数组多路通道路通道223.“瓶颈问题瓶颈问题 n通道资源有限,系统需要同时启动的设备可能较多,通道资源有限,系统需要同时启动的设备可能较多,使它成为使它成为I/O的瓶颈,进而造成整个系统吞吐量的下降。的瓶颈,进而

14、造成整个系统吞吐量的下降。设备设备1设备设备2设备设备3设备设备4设备设备5设备设备6设备设备7控制器控制器1控制器控制器2控制器控制器3控制器控制器4通道通道1通道通道2存储器存储器单通路单通路I/O系统系统23解决解决“瓶颈问题的方法瓶颈问题的方法n增加通路,不增加通道。增加通路,不增加通道。n不仅解决瓶颈问题,而且提高了系统的可靠性。不仅解决瓶颈问题,而且提高了系统的可靠性。245.1.4 总线系统总线系统 n总线是系统模块之间传送信息的公用通路。总线是系统模块之间传送信息的公用通路。nCPU、存储器、存储器、I/O设备之间通过总线链接。设备之间通过总线链接。n总线的性能用时钟频率,带宽

15、,传输速率来衡量。总线的性能用时钟频率,带宽,传输速率来衡量。25总线型总线型I/OI/O系统的结构系统的结构26通道型的通道型的I/OI/O系统结构系统结构27具有控制器的具有控制器的I/OI/O系统结构系统结构281.ISA和和EISA总线总线nISA:1984年为年为80286型微机设计,带宽:型微机设计,带宽:8位位 16位,最高传输速率:位,最高传输速率:2Mbps 8Mbps 16Mbps,能连接,能连接12台设备。台设备。nEISA:1989年,带宽:年,带宽:32位,最高传输速率:位,最高传输速率:32Mbps,能连接,能连接12台设备。台设备。292.局部总线局部总线Loca

16、l Busn定义:将多媒体卡、高速定义:将多媒体卡、高速LAN网卡、高性能图形板等网卡、高性能图形板等从从ISA总线上卸下来,再通过局部总线控制器直接接到总线上卸下来,再通过局部总线控制器直接接到CPU总线上,使之与高速总线上,使之与高速CPU总线相匹配。总线相匹配。nVESA总线:总线带宽为总线:总线带宽为32位,最高传输速率:位,最高传输速率:132Mbps,能连接,能连接24台设备,控制器中无缓冲;难于台设备,控制器中无缓冲;难于适应处理器速度的不断提高,不能支持适应处理器速度的不断提高,不能支持Pentium微机。微机。nPCI总线:支持总线:支持64位系统,最高传输速率:位系统,最高

17、传输速率:132Mbps,能支持能支持10种外设,有一个复杂的管理层,管理层中配种外设,有一个复杂的管理层,管理层中配有数据缓冲。有数据缓冲。3031325.2 I/O控制方式控制方式 n宗旨:尽量减少主机对宗旨:尽量减少主机对IO控制的干预,把主机控制的干预,把主机从繁杂的从繁杂的IO控制事务中解脱出来。控制事务中解脱出来。1.程序程序I/O方式方式 2.中断驱动中断驱动I/O控制方式控制方式 3.直接存储器访问直接存储器访问DMA I/O控制方式控制方式 4.I/O通道控制方式通道控制方式 333435程程序序I/O方方式式向向I/O控制器发读命令控制器发读命令读读I/O控制器的状态控制器

18、的状态从从I/O控制器中读入字控制器中读入字向存储器中写字向存储器中写字检查状态检查状态?传送完成?传送完成?出错出错完成完成CPUI/OI/OCPUI/OCPUCPU内存内存未完未完未就绪未就绪=1下条指令下条指令 就绪就绪=0362.中断驱动中断驱动I/O控制方式控制方式n中断驱动中断驱动I/O过程过程n启动:由启动:由CPU根据进程的根据进程的I/O请求,向设备控制器请求,向设备控制器发出一条发出一条I/O命令;此后命令;此后CPU继续执行其它进程,继续执行其它进程,即即CPU与外设并行工作。与外设并行工作。nI/O设备完成操作后,由控制器通过控制线向设备完成操作后,由控制器通过控制线向

19、CPU发送一中断信号,由发送一中断信号,由CPU检查检查I/O操作是否正确。操作是否正确。假设无错,便向设备控制器发送取走数据的信号,假设无错,便向设备控制器发送取走数据的信号,将数据写入内存。将数据写入内存。37中中断断驱驱动动I/O控控制制方方式式向向I/O控制器发读命令控制器发读命令读读I/O控制器的状态控制器的状态从从I/O控制器中读入字控制器中读入字向存储器中写字向存储器中写字检查状态检查状态传送完成?传送完成?出错出错完成完成CPUI/OI/OCPUI/OCPUCPU内存内存未完未完下一条指令下一条指令 就绪就绪CPU做其它事做其它事中断中断382.中断驱动中断驱动I/O控制方式续

20、控制方式续n优点优点nCPU与与I/O并行工作,提高了资并行工作,提高了资源利用率和吞吐量。源利用率和吞吐量。n缺点缺点nCPU每次处理的数据量少通每次处理的数据量少通常不超过几个字节,只适于常不超过几个字节,只适于传输率较低的设备。传输率较低的设备。393.直接存储器访问直接存储器访问DMA I/O控制方式控制方式nDMADirect Memory Access控制方式的引入控制方式的引入n适应一次传送大量数据的应用要求;适应一次传送大量数据的应用要求;n尽量减少尽量减少CPU对高速外设的干预;对高速外设的干预;n基本思想:在外设和主存之间开辟直接的数据交换通基本思想:在外设和主存之间开辟直

21、接的数据交换通路。路。n特点特点n数据传输的基本单位是数据块。数据传输的基本单位是数据块。n数据从设备直接送入内存,或者相反。数据从设备直接送入内存,或者相反。n仅在传送一个或多个数据块的开始和结束时,才需仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成干预,整块数据的传送是在控制器的控制下完成的。的。40DMA 方式方式向向I/O控制器控制器发布读块命令发布读块命令读读DMA控制控制器的状态器的状态下条指令下条指令CPU做其它事做其它事中断中断CPUDMADMACPU41DMA控制器的组成控制器的组成 CPU内存内存主机控制器接口主机控制器接口DR

22、MARDCCRI/O控制控制逻辑逻辑控制器与块设备接口控制器与块设备接口DMA控制器控制器系统总线系统总线命令命令count为实现主机与控制器之间成块数据的交换,需设置:为实现主机与控制器之间成块数据的交换,需设置:命令命令/状态存放器状态存放器CR内存地址存放器内存地址存放器MAR数据存放器数据存放器DR:暂存从设备到内存的数据,或反之暂存从设备到内存的数据,或反之数据计数器数据计数器DC:存放本次存放本次CPU要读或写的字要读或写的字节节数数42DMA工作过程工作过程 设置设置MAR和和DC初值初值启动启动DMA传送命令传送命令挪用存储器周挪用存储器周期传送数据字期传送数据字存储器地址增存

23、储器地址增 1字计数寄存器减字计数寄存器减 1DC0?请求中断请求中断在继续执行用户在继续执行用户程序的同时程序的同时,准准备又一次传送备又一次传送否否是是43DMA 方式与中断的主要区别方式与中断的主要区别n中断方式是在数据缓冲存放区满后,发中断请中断方式是在数据缓冲存放区满后,发中断请求,求,CPU进行中断处理。进行中断处理。n DMA方式则是在所要求传送的数据块全部传方式则是在所要求传送的数据块全部传送结束时要求送结束时要求CPU进行中断处理,大大减少了进行中断处理,大大减少了CPU进行中断处理的次数。进行中断处理的次数。n中断方式的数据传送是由中断方式的数据传送是由CPU控制完成的,而

24、控制完成的,而DMA方式则是在方式则是在DMA控制器的控制下不经过控制器的控制下不经过CPU控制完成的。控制完成的。444.I/O通道控制方式通道控制方式nI/O通道控制方式是通道控制方式是DMA方式的开展:方式的开展:nCPU一次读或写多个数据块。一次读或写多个数据块。n多个数据块送入不同内存区域。多个数据块送入不同内存区域。nCPU、通道和通道和I/O设备三者可并行操作。设备三者可并行操作。n工作过程:工作过程:nCPU向通道发送一条向通道发送一条I/O指令。指令。n给出通道程序首址和要访问的给出通道程序首址和要访问的I/O设备。设备。n通过执行通道程序完成通过执行通道程序完成I/O任务。

25、任务。45通道程序通道程序 n通道是通过执行通道程序,并与设备控制器共同实现对通道是通过执行通道程序,并与设备控制器共同实现对I/O设备的控制的。设备的控制的。n通道程序由一系列通道指令通道命令构成。通道程序由一系列通道指令通道命令构成。n通道指令与一般的机器指令不同,每条通道指令包含的信通道指令与一般的机器指令不同,每条通道指令包含的信息:息:n操作码:操作码:指令执行的操作:读、写指令执行的操作:读、写、控制等。、控制等。n内存地址内存地址:字符送入:字符送入/取出内存的首址。取出内存的首址。n计数:表示本条指令所要读计数:表示本条指令所要读/写数据的字节数。写数据的字节数。n通道程序结束

26、位通道程序结束位PP=1表示程序结束表示程序结束n记录结束标志记录结束标志RR=0表示与下一条指令处理的数据属表示与下一条指令处理的数据属于同一记录;于同一记录;R=1表示某记录的最后一条指令表示某记录的最后一条指令46通道程序通道程序 操作操作 PR计数计数内存地址内存地址WRITE 0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE11250720共同写共同写一条记录一条记录独写独写一条记录一条记录共同写共同写一条记录一条记录475.3 缓冲管理缓冲管理n什么是缓冲?什么是缓冲?n缓冲是在两种不同速度的设备

27、之间传输信息时缓冲是在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。平滑传输过程的常用手段。n缓冲的工作原理缓冲的工作原理n在进程请求在进程请求I/O传输时,利用缓冲区临时存放传输时,利用缓冲区临时存放I/O传输信息,以缓解传输信息的源设备和目标传输信息,以缓解传输信息的源设备和目标设备之间速度不匹配的问题。设备之间速度不匹配的问题。485.3 缓冲管理缓冲管理 n缓冲的引入缓冲的引入n缓和缓和CPU与与I/O设备间速度不匹配的矛盾。设备间速度不匹配的矛盾。n减少对减少对CPU的中断频率,放宽对中断响应时间的限的中断频率,放宽对中断响应时间的限制。制。n提高提高CPU和和I/O设备之

28、间的并行性设备之间的并行性。n缓冲分类:缓冲分类:1.单缓冲单缓冲 2.双缓冲双缓冲 3.循环缓冲循环缓冲 4.缓冲池缓冲池Buffer Pool n缓冲管理的主要职责:缓冲管理的主要职责:n组织好这些缓冲区,并提供获得和释放缓冲区的手组织好这些缓冲区,并提供获得和释放缓冲区的手段。段。491.单缓冲单缓冲Single Buffern进程发出一个进程发出一个I/O请求时,操作系统便在主存请求时,操作系统便在主存中为之分配一缓冲区。中为之分配一缓冲区。nT:数据输入缓冲区的时间。数据输入缓冲区的时间。nM:数据从缓冲区传到用户区的时间。数据从缓冲区传到用户区的时间。nC:CPU处理数据时间。处理

29、数据时间。工作区工作区处理处理(C)缓冲区缓冲区传送传送(M)输入输入(T)I/O设备设备(a)用户进程用户进程501.单缓冲单缓冲Single Buffer续续T1M1C1T2M2C2T3M3C3T4t(b)n缓冲区是临界资源,缓冲区是临界资源,CPU和外设轮流使用。和外设轮流使用。nI/O设备与设备与CPU并行工作。并行工作。n对数据的处理时间:对数据的处理时间:MaxC,T+M。512.双缓冲缓冲对换双缓冲缓冲对换n在设备输入时,先将数据送入第一缓冲区,装满后便在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。此时转向第二缓冲区。此时OS可以从第一缓冲区中移出数可以从第一缓冲

30、区中移出数据,并送入用户进程。接着由据,并送入用户进程。接着由CPU对数据进行计算。对数据进行计算。双缓冲工作示意图双缓冲工作示意图522.双缓冲双缓冲n如果在实现两台机器通信时,只配置单缓冲,那么如果在实现两台机器通信时,只配置单缓冲,那么在任一时刻只能实现单方向的数据传输。在任一时刻只能实现单方向的数据传输。n为了实现双向数据传输,必须在两台机器中都设置为了实现双向数据传输,必须在两台机器中都设置两个缓冲区。分别用在发送和接收。两个缓冲区。分别用在发送和接收。533.循环缓冲循环缓冲n循环缓冲的引入循环缓冲的引入:n当输入和输出的速度相差很大时,双缓冲效果当输入和输出的速度相差很大时,双缓

31、冲效果不理想,但可增加缓冲区的数量,改善情况。不理想,但可增加缓冲区的数量,改善情况。n引入多缓冲机制:引入多缓冲机制:n将多个缓冲组织成循环缓冲形式,对于用于输将多个缓冲组织成循环缓冲形式,对于用于输入的循环缓冲,通常提供给输入进程或计算进入的循环缓冲,通常提供给输入进程或计算进程使用,输入进程不断向空缓冲区输入数据,程使用,输入进程不断向空缓冲区输入数据,计算进程从中提取数据进行计算。计算进程从中提取数据进行计算。54循环缓冲的组成循环缓冲的组成n在主存中分配一组大小相等的缓冲区,并用指针将在主存中分配一组大小相等的缓冲区,并用指针将这些缓冲区组织成一个循环链表,构成循环缓冲。这些缓冲区组

32、织成一个循环链表,构成循环缓冲。1多个缓冲区:多个缓冲区:n用做输入的缓冲区的类型有:用做输入的缓冲区的类型有:n空缓冲区空缓冲区R、已装满数据的缓冲区、已装满数据的缓冲区G、工作缓冲区、工作缓冲区C2多个指针:多个指针:n指示计算进程的下一个可用缓冲区指示计算进程的下一个可用缓冲区G的指针的指针nextgn指示输入进程下次可用的空缓冲区指示输入进程下次可用的空缓冲区R的指针的指针nextin指示计算进程正在使用的缓冲区指示计算进程正在使用的缓冲区C的指针的指针current55循环缓冲区的使用循环缓冲区的使用GetBuf()计算进程和输入进程可利用下述两个过程使用循环计算进程和输入进程可利用

33、下述两个过程使用循环缓冲区:缓冲区:GetBuf ReleaseBuf RGGGRGnextinextg123456RGGGRCnextinextgcurrent123456RGGGRR123456 nextgnextiReleaseBuf()56进程同步进程同步nNexti指针追上指针追上Nextg指针。指针。n意味着输入进程输入数据意味着输入进程输入数据 的速度大于计算进程处理的速度大于计算进程处理 数据的速度,再无空缓冲数据的速度,再无空缓冲 区可用。输入进程应阻塞。区可用。输入进程应阻塞。n该情况被称为系统受计算控制。该情况被称为系统受计算控制。nNextg指针追上指针追上Nexti指

34、针。指针。n意味着输入数据的速度低于计算进程处理数据的速度,意味着输入数据的速度低于计算进程处理数据的速度,再无装有数据的缓冲区可用。计算进程应阻塞。再无装有数据的缓冲区可用。计算进程应阻塞。n该情况被称为系统受该情况被称为系统受I/O控制。控制。574.缓冲池缓冲池Buffer Pooln缓冲池的引入缓冲池的引入n把专用循环缓冲变为公用缓冲池提高内存利用把专用循环缓冲变为公用缓冲池提高内存利用率。率。n缓冲池的组成缓冲池的组成n同时用于输入同时用于输入/输出的公用缓冲池至少包括三种输出的公用缓冲池至少包括三种类型:类型:n空闲缓冲区空闲缓冲区 n装满输入数据的缓冲区装满输入数据的缓冲区n装满

35、输出数据的缓冲区装满输出数据的缓冲区58缓冲池的组成缓冲池的组成n为了方便管理,将相同类型的缓冲区链成一个为了方便管理,将相同类型的缓冲区链成一个队列:队列:n空缓冲区队列空缓冲区队列emq:队首指针:队首指针Femq、队尾指针队尾指针Lemq。n输入缓冲区队列输入缓冲区队列inq:队首指针:队首指针Finq、队尾指针队尾指针Linqn输出缓冲区队列输出缓冲区队列outq:队首指针:队首指针Foutq、队尾指针队尾指针Loutq59缓冲池的组成缓冲池的组成Buffer Poolin queueempty queueout queueDeviceCPUn四种工作缓冲区:四种工作缓冲区:收容输入数

36、据的缓冲区;提取输入数据的缓冲区;收容输入数据的缓冲区;提取输入数据的缓冲区;收容输出数据的缓冲区;提取输出数据的缓冲区。收容输出数据的缓冲区;提取输出数据的缓冲区。60Getbuf过程和过程和Putbuf过程过程nAddbuftype,number过程过程:用于将由参数用于将由参数number所所指示的缓冲区指示的缓冲区B挂在挂在type队列上。队列上。nTakebuftype过程:用于从过程:用于从type所指示的队列的对所指示的队列的对首摘下一个缓冲区。首摘下一个缓冲区。n由于缓冲池中的队列本身是临界资源,多个进程在访由于缓冲池中的队列本身是临界资源,多个进程在访问一个队列时,既应互斥,

37、又须同步。问一个队列时,既应互斥,又须同步。n为此需对这两个过程进行改造,形成可用于对缓冲池为此需对这两个过程进行改造,形成可用于对缓冲池中的队列进行操作的中的队列进行操作的Getbuf和和Putbuf过程。过程。61Getbuf过程和过程和Putbuf过程过程n为每一队列设置一个互斥信号量为每一队列设置一个互斥信号量MStype。n为每个缓冲队列设置一个资源信号量为每个缓冲队列设置一个资源信号量RStype。Procedure Getbuftypebegin WaitRStype;WaitMStype;Bnumber:=Takebuftype;SignalMStype;endProcedur

38、e Putbuftypebegin WaitMStype;Addbuftype,number;SignalMStype;SignalRStype;end62缓冲区的四种工作方式缓冲区的四种工作方式:l收容输入:收容输入设备的输入数据收容输入:收容输入设备的输入数据l提取输入:提取输入:计算进程提取缓冲区中的数据使用计算进程提取缓冲区中的数据使用l收容输出:计算进程输出结果数据到缓冲区收容输出:计算进程输出结果数据到缓冲区l提取输出:输出设备提取缓冲区中的数据提取输出:输出设备提取缓冲区中的数据缓缓 冲冲 池池收容输入收容输入 提取输入提取输入提取输出提取输出 收容输出收容输出hinsinsou

39、thout用用户户程程序序GetbufinqPutbufemq,sinGetbufoutq Putbufemq,soutGetbufemq Putbufoutq,houtGetbufemq Putbufinq,hin635.4 I/O软件软件 nI/O软件的总体设计目标是:高效性和通用性。为此软件的总体设计目标是:高效性和通用性。为此将软件组织成一种层次结构,底层软件用于实现与硬将软件组织成一种层次结构,底层软件用于实现与硬件相关的操作,并可屏蔽硬件的具体细节,高层软件件相关的操作,并可屏蔽硬件的具体细节,高层软件则主要是为用户提供一个简洁、标准的界面。则主要是为用户提供一个简洁、标准的界面。

40、5.4.1 I/O软件的设计目标和原则软件的设计目标和原则 5.4.2 中断处理程序中断处理程序 5.4.3 设备驱动程序设备驱动程序5.4.4 设备独立性软件设备独立性软件5.4.5 用户层的用户层的I/O软件软件645.4.1 I/O软件的设计目标和原则软件的设计目标和原则 nI/O软件的设计目标软件的设计目标n与具体设备无关与具体设备无关n统一命名统一命名n对错误的处理对错误的处理n缓冲技术缓冲技术n设备的分配和释放设备的分配和释放nI/OI/O控制方式控制方式65I/O系统的层次及功能系统的层次及功能用户层软件设备独立性软件设备驱动程序中断处理程序硬件I/O应答产生I/O请求、格式化I

41、/O、Spooling映射、保护、分块、缓冲、分配设置设备寄存器,检查寄存器状态执行I/O操作665.4.2 中断处理程序中断处理程序n中断处理层的主要工作:进行进程上下文的切中断处理层的主要工作:进行进程上下文的切换,对处理中断信号源进行测试,读取设备状换,对处理中断信号源进行测试,读取设备状态和修改进程状态等。态和修改进程状态等。n中断处理程序的处理过程:中断处理程序的处理过程:n唤醒被阻塞的驱动程序进程唤醒被阻塞的驱动程序进程n保护被中断进程的保护被中断进程的CPU环境环境n转入相应的设备处理程序转入相应的设备处理程序n中断处理中断处理n恢复被中断进程的现场恢复被中断进程的现场67中中断

42、断处处理理程程序序685.4.3 设备驱动程序设备驱动程序 n设备驱动程序又称为设备处理程序,设备驱动程序又称为设备处理程序,是是I/O进进程与设备控制器之间的通信程序。程与设备控制器之间的通信程序。n驱动程序与硬件密切相关,为每一类或非常类驱动程序与硬件密切相关,为每一类或非常类似的两类设备配置一种驱动程序。似的两类设备配置一种驱动程序。691.设备驱动程序功能设备驱动程序功能n为了实现为了实现I/O进程与设备控制器之间的通信,设备驱进程与设备控制器之间的通信,设备驱动程序应具有以下功能:动程序应具有以下功能:n接收由设备独立性软件发来的命令和参数,将命令中接收由设备独立性软件发来的命令和参

43、数,将命令中的抽象请求转换为具体请求。的抽象请求转换为具体请求。n检查用户检查用户I/O请求的合法性,了解请求的合法性,了解I/O设备的状态,设备的状态,传递有关参数,设置设备的工作方式。传递有关参数,设置设备的工作方式。n发出发出I/O命令:命令:n设备空闲,启动设备空闲,启动I/O设备,否则将请求块挂在设备设备,否则将请求块挂在设备队列上等待。队列上等待。n及时响应控制器或通道发来的中断请求,根据类型进及时响应控制器或通道发来的中断请求,根据类型进行处理。行处理。n自动地构成通道程序。自动地构成通道程序。702.设备处理方式设备处理方式n根据在设备处理时是否设置进程,以及设置什根据在设备处

44、理时是否设置进程,以及设置什么样的进程而把设备处理方式分为以下三类:么样的进程而把设备处理方式分为以下三类:n为每一类设备设置一个进程,专门用于执行这为每一类设备设置一个进程,专门用于执行这类设备的类设备的I/O操作。操作。n在整个系统中设置一个在整个系统中设置一个I/O进程,专门用于执行进程,专门用于执行系统中所有各类设备的输入或输出操作。系统中所有各类设备的输入或输出操作。n不设置专门的设备处理进程,而只为各类设备不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序,供用户进程或系统设置相应的设备处理程序,供用户进程或系统进程调用。进程调用。713.设备驱动程序的特点设备驱动程序

45、的特点n设备驱动程序属于低级的系统例程,它与一般设备驱动程序属于低级的系统例程,它与一般的应用程序及系统程序之间有明显差异:的应用程序及系统程序之间有明显差异:n驱动程序主要是指在请求驱动程序主要是指在请求I/O的进程与设备控制的进程与设备控制器之间的一个通信和转换程序。器之间的一个通信和转换程序。n与硬件特性紧密相关,不同类型的设备配置不与硬件特性紧密相关,不同类型的设备配置不同的驱动程序。同的驱动程序。n驱动程序与驱动程序与I/O设备所采用的设备所采用的I/O控制方式紧密控制方式紧密相关。相关。n一般使用汇编语言书写。一般使用汇编语言书写。n驱动程序应允许可重入。驱动程序应允许可重入。72

46、3.设备驱动程序的处理过程设备驱动程序的处理过程 n设备驱动程序的主要任务是启动指定设备。具设备驱动程序的主要任务是启动指定设备。具体的处理过程如下:体的处理过程如下:n将抽象要求转换为具体要求。将抽象要求转换为具体要求。n检查检查I/O请求的合法性。请求的合法性。n读出和检查设备的状态。读出和检查设备的状态。n传送必要的参数。传送必要的参数。n工作方式的设置。工作方式的设置。n启动启动I/O设备。设备。735.4.4 设备独立性软件设备独立性软件1.设备独立性的概念:设备独立性的概念:n设备独立性设备无关性:应用程序独立于具体设备独立性设备无关性:应用程序独立于具体使用的物理设备。使用的物理

47、设备。n为了实现设备独立性,引入了逻辑设备和物理设备:为了实现设备独立性,引入了逻辑设备和物理设备:n应用程序中使用逻辑设备名称来请求使用某类设备;应用程序中使用逻辑设备名称来请求使用某类设备;系统将其转换为物理设备名称。系统将其转换为物理设备名称。n好处:好处:n设备分配时的灵活性。设备分配时的灵活性。n易于实现易于实现I/O重定向。重定向。742.设备独立性软件设备独立性软件n是驱动程序之上的一层软件,功能如下:是驱动程序之上的一层软件,功能如下:n执行所有设备的公有操作:执行所有设备的公有操作:n对独立设备的分配与回收。对独立设备的分配与回收。n将逻辑设备名映射为物理设备名,找到相应物理

48、将逻辑设备名映射为物理设备名,找到相应物理设备的驱动程序。设备的驱动程序。n对设备进行保护,禁止用户直接访问设备。对设备进行保护,禁止用户直接访问设备。n缓冲管理。缓冲管理。n过失控制过失控制。n向用户层或文件层软件提供统一接口。向用户层或文件层软件提供统一接口。753.逻辑设备名到物理设备名映射的实现逻辑设备名到物理设备名映射的实现n逻辑设备表逻辑设备表LUT:为了实现逻辑设备名到物理:为了实现逻辑设备名到物理设备名的映射,系统必须设置一张逻辑设备表设备名的映射,系统必须设置一张逻辑设备表LUTLogical Unit Table,能够将应用程序,能够将应用程序中所使用的逻辑设备名映射为物理

49、设备名,并中所使用的逻辑设备名映射为物理设备名,并提供该设备驱动程序的入口地址。提供该设备驱动程序的入口地址。逻辑设备名逻辑设备名物理设备名物理设备名驱动程序入口地址驱动程序入口地址/dev/tty31024/dev/printer52046763.逻辑设备名到物理设备名映射的实现逻辑设备名到物理设备名映射的实现nLUT的设置问题的设置问题n整个系统一张整个系统一张LUT单用户系统单用户系统n每个用户一张每个用户一张LUT多用户系统多用户系统逻辑设备名逻辑设备名/dev/tty/dev/printer系统设备表指针系统设备表指针35775.4.5 用户层的用户层的I/O软件软件 n用户层软件必

50、须通过一组系统调用来取得操作用户层软件必须通过一组系统调用来取得操作系统效劳。系统效劳。785.5 设备分配设备分配n在多道程序环境下,设备必须由系统分配。每当进程在多道程序环境下,设备必须由系统分配。每当进程向系统提出向系统提出I/O请求时,设备分配程序按照一定的分请求时,设备分配程序按照一定的分配策略,把其所需的设备及其有关资源如缓冲区、配策略,把其所需的设备及其有关资源如缓冲区、控制器和通道分配给该进程。在分配设备时还必须控制器和通道分配给该进程。在分配设备时还必须考虑系统的安全性,防止发生死锁现象。考虑系统的安全性,防止发生死锁现象。5.5.1 设备分配中的数据结构设备分配中的数据结构

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁