[精选]5章5设备管理fpu.pptx

上传人:muj****520 文档编号:87347185 上传时间:2023-04-16 格式:PPTX 页数:103 大小:639.32KB
返回 下载 相关 举报
[精选]5章5设备管理fpu.pptx_第1页
第1页 / 共103页
[精选]5章5设备管理fpu.pptx_第2页
第2页 / 共103页
点击查看更多>>
资源描述

《[精选]5章5设备管理fpu.pptx》由会员分享,可在线阅读,更多相关《[精选]5章5设备管理fpu.pptx(103页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、关于设备管理关于设备管理n管理对象管理对象:I/OI/O设备(设备(I/OI/O系统组成)系统组成)n基本任务基本任务:完成用户提出的:完成用户提出的I/OI/O请求,请求,提高提高I/OI/O速率以及改善速率以及改善I/OI/O设备的利用率。设备的利用率。n主要功能主要功能:缓冲区管理、设备分配、:缓冲区管理、设备分配、设备处理、虚拟设备及设备独立性等。设备处理、虚拟设备及设备独立性等。n与硬件紧密相关,本章主要对与硬件紧密相关,本章主要对I/OI/O设备设备和设备控制器等硬件作扼要阐述。和设备控制器等硬件作扼要阐述。3/13/20231第第5章章 设备管理设备管理nI/O系统的组成系统的组

2、成nI/O控制方式控制方式n缓冲管理缓冲管理n设备分配设备分配n设备处理设备处理n磁盘设备管理磁盘设备管理3/13/202321、I/O系统的组成系统的组成包括:包括:需要用于输入、输出和存储信息的需要用于输入、输出和存储信息的设备设备;需要相应的需要相应的设备控制器设备控制器;控制器与控制器与CPU连接的连接的高速总线;高速总线;有的大中型计算机系统,配置有的大中型计算机系统,配置I/O通道通道;3/13/20233控制器与控制器与CPU接口接口控制器与设备接口控制器与设备接口设备控制器CPUI/O设备数据数据状态状态控制控制数据线数据线地址线地址线控制线控制线总线总线I/O系统组成系统组成

3、3/13/202341)I/O设备的类型设备的类型 I/O设备的类型繁多,从设备的类型繁多,从OS的观点,按其重要的的观点,按其重要的性能指标进行分类如下:性能指标进行分类如下:按传输速率分类:按传输速率分类:低速、中速、高速(键盘、打印机、磁盘)低速、中速、高速(键盘、打印机、磁盘)使用:存储设备、输入输出设备使用:存储设备、输入输出设备按信息交换的单位分类:按信息交换的单位分类:块设备:有结构、速率高、可寻址、块设备:有结构、速率高、可寻址、DMA方式控制方式控制字符设备:无结构、速率低、不可寻址、中断方式控字符设备:无结构、速率低、不可寻址、中断方式控制制3/13/20235按设备的共享

4、属性分类:按设备的共享属性分类:独占:打印机独占:打印机共享:一个时刻上仍然是只被一个进程占用。共享:一个时刻上仍然是只被一个进程占用。可寻址、可随机访问的色后备。磁盘。可寻址、可随机访问的色后备。磁盘。虚拟:使一台独占设备变换为若干台逻辑设备,虚拟:使一台独占设备变换为若干台逻辑设备,供给若干用户供给若干用户“同时使用同时使用”。3/13/20236I/O设备中的接口设备中的接口n与控制器的接口有三种类型的信号与控制器的接口有三种类型的信号数据信号线数据信号线(进出数据转换、缓冲后传送进出数据转换、缓冲后传送)控制信号线控制信号线(读读写写移动磁头等控制移动磁头等控制)状态信号线状态信号线I

5、/O设备数据数据缓冲缓冲 转换器转换器数据数据状态状态控制逻辑控制逻辑控制控制3/13/202372)设备控制器)设备控制器n设备并不直接与设备并不直接与CPU通信通信n计算机中的一个实体计算机中的一个实体“设备控制器设备控制器”负责控制负责控制一个或多个一个或多个I/O设备,以实现设备,以实现I/O设设备和计算机之间的数据交换。备和计算机之间的数据交换。n控制器是控制器是CPU与与I/O设备之间的接口,作为设备之间的接口,作为中间人接收从中间人接收从CPU发来的命令,并去控制发来的命令,并去控制I/O设备工作,以使处理机脱离繁杂的设备设备工作,以使处理机脱离繁杂的设备控制事务。控制事务。3/

6、13/20238n常作成接口卡插入计算机常作成接口卡插入计算机n可编址,不同类可编址,不同类控制一个设备时只有一个地址,若连接控制一个设备时只有一个地址,若连接多个设备则含有多个设备地址多个设备则含有多个设备地址管理的复杂性因不同设备而异,分为字管理的复杂性因不同设备而异,分为字符设备控制器、块设备控制器。符设备控制器、块设备控制器。3/13/20239n基本功能基本功能1.接收和识别接收和识别CPU命令(控制命令(控制寄存器寄存器:存:存放命令和参数)放命令和参数)2.标识和报告设备的状态(状态标识和报告设备的状态(状态寄存器寄存器)3.数据交换(数据数据交换(数据寄存器寄存器)4.地址识别

7、(控制器识别设备地址、寄存地址识别(控制器识别设备地址、寄存器地址。地址译码器)器地址。地址译码器)5.数据缓冲(协调数据缓冲(协调I/O与与CPU的速度差距)的速度差距)6.差错控制差错控制3/13/202310n组成组成1.设备控制器与处理机的接口设备控制器与处理机的接口2.设备控制器与设备的接口设备控制器与设备的接口3.I/O逻辑逻辑设备控制器数据线数据线地址线地址线控制线控制线数据数据状态状态控制控制I/O逻辑逻辑3/13/202311I/O逻辑逻辑控制器控制器与设备与设备接口接口1控制器控制器与设备与设备接口接口i数据寄存器数据寄存器控制控制/状态状态寄存器寄存器数据线数据线地址线地

8、址线控制线控制线与与CPU的接口的接口 与设备的接口与设备的接口数据数据数据数据状态状态控制控制状态状态控制控制n 一个接口连接一个设备。一个接口连接一个设备。n 每个接口中都有数据、控每个接口中都有数据、控制和状态三种类型的信号。制和状态三种类型的信号。n 控制器中的控制器中的I/O逻辑逻辑根据处理机发来的地址根据处理机发来的地址信号,去选择一个设备信号,去选择一个设备接口。接口。n1个或个或n个个n 1个或个或n个个3/13/202312I/O逻辑逻辑n通过一组控制线与处理机交互,处理机利通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送用该逻辑向控制器发送I/O命令。命令。I/O逻

9、辑对逻辑对收到的命令进行译码。收到的命令进行译码。nCPU要启动一个设备时,要启动一个设备时,将启动命令发送给控制器;将启动命令发送给控制器;同时通过地址线把地址发送给控制器同时通过地址线把地址发送给控制器控制器的控制器的I/O逻辑对收到的地址和命令进行译码,逻辑对收到的地址和命令进行译码,再根据所译出的命令选择设备进行控制。再根据所译出的命令选择设备进行控制。3/13/202313处理机与设备控制器间处理机与设备控制器间n实现实现CPU与设备控制器之间的通信。与设备控制器之间的通信。n共有三类信号线:共有三类信号线:数据线:数据线通常与两类寄存器相连接,数据线:数据线通常与两类寄存器相连接,

10、第一类是数据寄存器;第二类是控制第一类是数据寄存器;第二类是控制/状态状态寄存器。寄存器。地址线地址线控制线控制线3/13/202314n如图所示,计算机系统中的各部件,如如图所示,计算机系统中的各部件,如CPU、存、存储器以及各种储器以及各种I/O设备之间的联系,都是通过总线设备之间的联系,都是通过总线来实现的。来实现的。n总线的性能用总线的总线的性能用总线的“时钟频率时钟频率”、“带宽带宽”和和相应的总线相应的总线“传输速率传输速率”等指标来衡量。等指标来衡量。CPU存储器存储器磁盘磁盘控制器控制器打印机打印机控制器控制器其他其他控制器控制器磁盘驱动器磁盘驱动器打印机打印机系统总线系统总线

11、*微机微机I/O系统中的总线结构系统中的总线结构3/13/202315总线的发展过程总线的发展过程nISA和和EISA总线总线1.ISA(Industry Standard Architecture)总线)总线2.EISA(Extended ISA)总线)总线n局部总线(局部总线(Local Bus)1.VESA(Video Electronic Standard)总线)总线2.PCI(Peripheral Component Interface)总线)总线3/13/2023163)I/O通道通道I/O通道设备的引入通道设备的引入n设备控制器已大大减少设备控制器已大大减少CPU对对I/O的干预

12、的干预(如承担了选择设备,数据转换、缓冲等功能)(如承担了选择设备,数据转换、缓冲等功能)n但当主机的外设很多时,但当主机的外设很多时,CPU的负担仍然很重。的负担仍然很重。n在在CPUCPU和设备控制器之间和设备控制器之间增设一个硬件机构:增设一个硬件机构:“通通道道”n设置通道后设置通道后CPU只需向通道发送一条只需向通道发送一条I/O指令即可不再干预指令即可不再干预后续操作。后续操作。通道形成通道程序,执行通道形成通道程序,执行I/O操作,完成后向操作,完成后向CPU发中断信号。发中断信号。3/13/202317主要目的:主要目的:n建立更独立的建立更独立的I/OI/O操作,解放操作,解

13、放CPUCPU。数据传送的独立数据传送的独立I/0操作的组织、管理及结束处理也尽量操作的组织、管理及结束处理也尽量独立。独立。n实际上实际上I/O通道是一种特殊的处理机通道是一种特殊的处理机:指令类型单一,只用于指令类型单一,只用于I/O操作;操作;通道没有内存,它与通道没有内存,它与CPU共享内存共享内存3/13/202318通道类型通道类型n根据其控制的外围设备的不同类型,信息根据其控制的外围设备的不同类型,信息交换方式也可分为以下三种类型:交换方式也可分为以下三种类型:1)字节多路通道字节多路通道2)数组选择通道数组选择通道3)数组多路通道数组多路通道3/13/202319n字节多路通道

14、字节多路通道一个通道常通过多个子通道连接多个设备控制器一个通道常通过多个子通道连接多个设备控制器多个设备,通过多个设备,通过非分配型非分配型子通道以子通道以字节字节为单位为单位交交叉轮流叉轮流使用主通道传输自己的数据。(图使用主通道传输自己的数据。(图5-3)控制器控制器A设备设备控制器控制器B设备设备A1B1C1A2B2C2A1A2B1B2主通道扫描子通道速率足够快,子通道上的设备速率主通道扫描子通道速率足够快,子通道上的设备速率又不太高时,一般不丢失信息。又不太高时,一般不丢失信息。适用于并行、低速设备适用于并行、低速设备3/13/202320n数组选择通道数组选择通道针对高速设备:针对高

15、速设备:分配型分配型子通道子通道设备利用子通道占用通道后,一段时间内设备利用子通道占用通道后,一段时间内一直一直独占,直至设备传送完毕独占,直至设备传送完毕释放。释放。利用率低。利用率低。n数组多路通道数组多路通道结合上述两种方式。结合上述两种方式。含多个含多个非分配型非分配型子通道。数据传送则子通道。数据传送则按按数组方数组方式式进行。进行。3/13/202321“瓶颈瓶颈”问题问题由于通道价格昂贵,致使数量较少,使它成为由于通道价格昂贵,致使数量较少,使它成为I/O系统的瓶颈,进而造成系统吞吐量的下降。如系统的瓶颈,进而造成系统吞吐量的下降。如下例所示:下例所示:存储器存储器通道通道1通道

16、通道2控制器控制器1控制器控制器2控制器控制器3控制器控制器4设备设备1设备设备2设备设备3设备设备4设备设备5设备设备6设备设备73/13/202322n解决解决“瓶颈瓶颈”问题最有效的办法便是增加设备问题最有效的办法便是增加设备到主机间的到主机间的通路通路而不增加通道,如下图所示:而不增加通道,如下图所示:存储器存储器通道通道1通道通道2控制器控制器1控制器控制器2I/O设备设备I/O设备设备I/O设备设备I/O设备设备3/13/2023232、I/O控制方式控制方式n程序程序I/O方式方式n中断驱动中断驱动I/O方式方式n直接存储器访问直接存储器访问DMA(字节(字节块)块)nI/O通道

17、控制方式(组织传送的独立)通道控制方式(组织传送的独立)n宗旨:减少主机对宗旨:减少主机对I/O控制的干预,将控制的干预,将CPU从繁杂的从繁杂的I/O控制事物中解脱出来。控制事物中解脱出来。3/13/202324n注意数据走向注意数据走向设备(磁盘)设备(磁盘)-控制器缓冲控制器缓冲进程的内存进程的内存CPU磁盘Notepad.exe2.txt控制器控制器内存内存notepaddata工作开销:判断做了多少?做没做完?工作开销:判断做了多少?做没做完?3/13/2023251)程序)程序I/O方式方式ncpu对对I/O设备的控制采取程序设备的控制采取程序I/O方式,或称忙方式,或称忙等等待方

18、式待方式向控制器发送一条向控制器发送一条I/O指令;启动输入设备输入数据;把状指令;启动输入设备输入数据;把状态寄存器态寄存器busy=1。然后不断测试标志。为然后不断测试标志。为1:表示输入机尚未输完一个字,:表示输入机尚未输完一个字,CPU继续对该标志测试;直到为继续对该标志测试;直到为0:数据已输入控制器数据:数据已输入控制器数据寄存器中。寄存器中。CPU取控制器中的数据送入内存单元,完成一个字的取控制器中的数据送入内存单元,完成一个字的I/O。n高速高速CPU空闲等待低速空闲等待低速I/O设备,致使设备,致使CPU极大浪费。极大浪费。注:也称作程序查询方式或轮询方式。注:也称作程序查询

19、方式或轮询方式。3/13/202326程序程序I/O方式流程图方式流程图向向I/O控制器发读命令控制器发读命令读读I/O控制器的状态控制器的状态从从I/O控制器中读入字控制器中读入字向存储器中写字向存储器中写字检查状态检查状态传送完成?传送完成?出错出错完成完成CPUI/OI/OCPUI/OCPUCPU内存内存未完未完未就绪未就绪下条指令下条指令 就绪就绪3/13/2023272)中断驱动)中断驱动I/O方式方式nCPUCPU向相应的设备控制器发出一条向相应的设备控制器发出一条I/OI/O命令命令n然后立即返回继续执行任务然后立即返回继续执行任务。n设备控制器按照命令的要求去控制指定设备控制器

20、按照命令的要求去控制指定I/OI/O设备。设备。n这时这时CPUCPU与与I/OI/O设备并行操作。设备并行操作。nI/O设备输入数据中,无需设备输入数据中,无需CPU干预,因而可使干预,因而可使CPU与与I/O设备并行工作。从而提高了整个系统的设备并行工作。从而提高了整个系统的资源利用率及吞吐量。资源利用率及吞吐量。n但但cpu真的不需要干预么?真的不需要干预么?3/13/202328中断控制方式流程图中断控制方式流程图向向I/O控制器发读命令控制器发读命令读读I/O控制器的状态控制器的状态从从I/O控制器中读入字控制器中读入字向存储器中写字向存储器中写字检查状态检查状态传送完成?传送完成?

21、出错出错完成完成CPUI/OI/OCPUI/OCPUCPU内存内存未完未完下条指令下条指令 就绪就绪CPU做其它事做其它事中断中断需要需要cpu干预干预3/13/202329n中断方式比程序中断方式比程序I/O方式更有效方式更有效n但仍以字(节)为单位进行但仍以字(节)为单位进行I/O,每当完成一个字,每当完成一个字(节),控制器便要请求一次中断。(节),控制器便要请求一次中断。nCPU虽然可与虽然可与I/O并行,但效率不高,存在频繁的并行,但效率不高,存在频繁的中断干扰。中断干扰。n改进:改进:CPU下指令通知控制器完成一块数据的下指令通知控制器完成一块数据的I/O,控制器完成后才发中断,而

22、不是每个字节都要控制器完成后才发中断,而不是每个字节都要向向CPU发中断;发中断;多字节传输入内存过程不需要多字节传输入内存过程不需要CPU搬运,由控搬运,由控制器控制完成(所以称直接存储器访问)制器控制完成(所以称直接存储器访问)DMA(Direct Memory Access)控制方式引入)控制方式引入3/13/202330CPU磁盘Notepad.exe2.txtDMA控制器控制器内存内存notepaddataDMA控制器决定做了多少,控制器决定做了多少,做完没有。做完没有。3/13/202331该方式的特点是:该方式的特点是:1)数据传输的数据传输的基本单位是数据块基本单位是数据块;2

23、)所传送的数据是从设备所传送的数据是从设备直接送入内存直接送入内存的,或者的,或者直直接从内存进设备接从内存进设备;不需要;不需要CPU操作。操作。3)CPU干预进一步减少:干预进一步减少:仅在传送一个或多个数仅在传送一个或多个数据块的开始和结束时,才需据块的开始和结束时,才需CPUCPU干预,整块数据干预,整块数据的传送是在控制器的控制下完成的。的传送是在控制器的控制下完成的。可见可见DMA方式又是成百倍的减少了方式又是成百倍的减少了CPU对对I/O的的干预,进一步提高了干预,进一步提高了CPU与与I/O设备的并行操作设备的并行操作程度。程度。3)直接存储器访问)直接存储器访问DMA 方式方

24、式3/13/202332DMA控制器的组成控制器的组成nDMA控制器控制器由三部分组成:由三部分组成:1.主机与主机与DMA控制器的接口;控制器的接口;2.DMA控制器与块设备的接口;控制器与块设备的接口;3.I/O控制逻辑。控制逻辑。4.如下页图。如下页图。3/13/202333DMA控制器的示意图控制器的示意图I/O控控制制逻逻辑辑DRMARDCCRCPU内存内存主机主机控制器控制器接口接口控制器与控制器与块设备接口块设备接口系统总线系统总线DMA控制器控制器命令命令count3/13/202334DMA控制器中的寄存器控制器中的寄存器n为实现主机与控制器之间块数据的直接交为实现主机与控制

25、器之间块数据的直接交换,必须设置如下四类寄存器:换,必须设置如下四类寄存器:1.1.数据寄存器数据寄存器DRDR:暂存设备到内存或从内存到设暂存设备到内存或从内存到设备的数据。备的数据。2.2.内存地址寄存器内存地址寄存器MARMAR:它存放把数据从设备传送它存放把数据从设备传送到内存的起始的目标地址或内存原地址。到内存的起始的目标地址或内存原地址。3.3.数据计数器数据计数器DCDC:存放本次存放本次CPU要读或写的字要读或写的字(节)数。(节)数。4.4.命令命令/状态寄存器状态寄存器CRCR:用于接收从用于接收从CPU发来的发来的I/O命令或有关控制和状态信息。命令或有关控制和状态信息。

26、3/13/202335DMA工作过程工作过程nCPU先向磁盘控制器发送一条读命令。先向磁盘控制器发送一条读命令。n该命令被送到命令寄存器该命令被送到命令寄存器CR中。中。n同时发送数据读入到内存的起始地址,该地址被送入同时发送数据读入到内存的起始地址,该地址被送入MAR中;中;n要读数据的字数则送入数据计数器要读数据的字数则送入数据计数器DC中;中;n将磁盘中的数据原地址直接送入将磁盘中的数据原地址直接送入DMA控制器的控制器的I/O控制逻控制逻辑辑上,按设备状态启动磁头到相应位置。上,按设备状态启动磁头到相应位置。n启动启动DMA控制器控制逻辑开始进行数据传送控制器控制逻辑开始进行数据传送D

27、MA控制器读入一个数据到数据寄存器控制器读入一个数据到数据寄存器DR中,然后传到内存中,然后传到内存MAR地址地址中;中;接着接着MAR+1,DC-1,判断,判断DC是否为是否为0,如否,继续,反之控制器如否,继续,反之控制器发中断请求,传送完毕。发中断请求,传送完毕。以磁盘读数以磁盘读数据为例据为例3/13/202336DMA工作方式流程图工作方式流程图设置设置MAR和和DC初值初值启动启动DMA传送命令传送命令挪用存储器周期挪用存储器周期传送数据字传送数据字MAR+1DC-1DC=0?请求中断请求中断在继续执行用户在继续执行用户程序的同时,准程序的同时,准备又一次传送备又一次传送3/13/

28、2023374)I/O通道控制方式通道控制方式nDMA适用于读一个连续的数据块;适用于读一个连续的数据块;如如一次读多个数据块到内存不同区域一次读多个数据块到内存不同区域,须由,须由CPU分别发分别发送多条送多条I/O指令、进行多次指令、进行多次DMA中断处理。中断处理。n再进一步减少再进一步减少CPU的干预(减少中断),的干预(减少中断),引入通道。引入通道。实现对实现对一组数据块一组数据块的读(写)及有关的控制和管理为单的读(写)及有关的控制和管理为单位的干预。位的干预。n此时,此时,CPU只需发一条只需发一条I/O指令,给出通道程序的首指令,给出通道程序的首地址及要访问设备即可。地址及要

29、访问设备即可。*CPU*CPU、通道和、通道和I/OI/O设备三者的并行操作,提高整系统设备三者的并行操作,提高整系统资源利用率。资源利用率。3/13/202338n通道是一种通过执行通道程序管理通道是一种通过执行通道程序管理I/O操作操作的控制器,它使主机(的控制器,它使主机(CPU和内存)与和内存)与I/O操作之间达到更高的并行程度。由于它的操作之间达到更高的并行程度。由于它的任务是管理实现输入任务是管理实现输入/输出操作,提供一种输出操作,提供一种传送通道,所以将这种部件称作传送通道,所以将这种部件称作“通道通道”。3/13/202339通道程序通道程序n通道通道 通过执行通过执行通道程

30、序通道程序,与设备控制器,与设备控制器共同实现对共同实现对I/OI/O设备的控制。设备的控制。n通道程序由一系列通道指令构成。通道程序由一系列通道指令构成。CPU指令指令设备驱动程序解读设备驱动程序解读通道程序通道程序通道通道通道指令一般包含下列信息:通道指令一般包含下列信息:1.操作码。规定指令所执行的操作。操作码。规定指令所执行的操作。2.内存地址。内存地址。3.计数。表示本指令所要操作的字节数。计数。表示本指令所要操作的字节数。4.通道程序结束位。用以表示程序是否结束。通道程序结束位。用以表示程序是否结束。5.记录结束标志。表示该指令是否与下条指令有关。记录结束标志。表示该指令是否与下条

31、指令有关。3/13/202340u有有”控制器控制器”或或”通道通道”的帮助后的帮助后CPU可解放去做其他事可解放去做其他事物,提高了利用率。物,提高了利用率。u但分析单个程序内的执行但分析单个程序内的执行uCPU计算工作需等待后续数据输入才可继续计算工作需等待后续数据输入才可继续uCPU计算需等待数据输入完才能计算,虽然数据输入计算需等待数据输入完才能计算,虽然数据输入不需不需CPU干预,但干预,但CPU的解放也只是能去做其他程序,的解放也只是能去做其他程序,需切换工作,会产生开销。需切换工作,会产生开销。u一进程中一进程中“CPU计算速度计算速度”和和“设备设备I/O速度速度”仍存在不匹配

32、的矛盾。仍存在不匹配的矛盾。u解决:解决:CPU进行当前计算时,设备进行后续进行当前计算时,设备进行后续数据的输入(数据的输入(缓冲区)。缓冲区)。3/13/202341CPU磁盘DMA控制器控制器内存内存data缓冲区缓冲区data2T3I/OCPUT1C1T2C2C3T4C4I/O利用率利用率CPU利用率利用率多了一定内存取数工作时间,但计算多了一定内存取数工作时间,但计算工作的等待时间大大减少了。工作的等待时间大大减少了。DMA写入内存写入内存缓冲区到进程区缓冲区到进程区Cpu处理处理T3T1C1T2C2C3T4C4缓冲区未空时,缓冲区未空时,I/O需等需等待待CPU又会造成后续又会造成

33、后续CPU计算工作等待时间计算工作等待时间增长。若缓冲区足够大增长。若缓冲区足够大时,时,I/O设备可不停放入设备可不停放入试一试延长红色线(即CPU执行需要的时间)会有什么效果?3/13/2023423、缓冲管理、缓冲管理nI/O控制方式控制方式减少减少CPU对对I/O的的干预干预提高利用提高利用率;率;n缓冲缓冲则通过缓和则通过缓和CPU和和I/O设备设备速度不匹配速度不匹配矛盾矛盾,增加,增加CPU和和I/O设备的并行性,提高设备的并行性,提高利用率。利用率。n现代现代OS中,几乎所有的中,几乎所有的I/O设备与处理机交设备与处理机交换数据时,都用了缓冲区。换数据时,都用了缓冲区。3/1

34、3/202343n引入缓冲区的主要原因:引入缓冲区的主要原因:缓和缓和CPU与与I/O设备间速度不匹配的矛盾。设备间速度不匹配的矛盾。缓冲区数据成批传入内存,也可进一步减少缓冲区数据成批传入内存,也可进一步减少对对CPU的中断频率的中断频率最终目的:提高最终目的:提高CPU和和I/O设备的并行性。设备的并行性。n使用缓冲区的方式:使用缓冲区的方式:1)单缓冲、多缓冲)单缓冲、多缓冲2)循环缓冲)循环缓冲3)缓冲池()缓冲池(Buffer Pool)设备速度差距设备速度差距越大,缓冲区越大,缓冲区容量越大容量越大3/13/2023441)单缓冲与多缓冲)单缓冲与多缓冲n单缓冲(单缓冲(Singl

35、e Buffer)每当用户进程发出一每当用户进程发出一I/O请求时,请求时,单位:字符设备输入时,缓冲区用于暂存用户输入单位:字符设备输入时,缓冲区用于暂存用户输入/输输出的一行数据;块设备输入则是成块数据。出的一行数据;块设备输入则是成块数据。OSOS在在主存主存中为之分配一个缓冲区。中为之分配一个缓冲区。CPUCPU和外设和外设轮流使用轮流使用,一方处理完后等待对方处理。,一方处理完后等待对方处理。TM3/13/202345M+C T,cpu不需等设备,但设不需等设备,但设备可能不连续,备可能不连续,T1M1M2C2T3M3C3C1T2单缓冲单缓冲双缓冲双缓冲T1C1M1T2M2C2T3M

36、3C3TMT1M1T2M2T1C1M1T2M2C2T3M3C3T4M+C Ccurrent=Nextg,GC,nextgnextg下下移一个。移一个。u输入进程放:输入进程放:current=nexticurrent=nexti,RCRC,nextinexti下移一个下移一个Releasebuf过程:过程:计算进程:计算进程:C-R输入进程:输入进程:C-G一个时段只能用于输入或输出,不能同时双向通信。一个时段只能用于输入或输出,不能同时双向通信。3/13/202352进程同步进程同步n两个进程的控制:输入进程和计算进程并行执两个进程的控制:输入进程和计算进程并行执行,如何控制相应的两个指针不

37、断顺时针方向行,如何控制相应的两个指针不断顺时针方向移动,这样就可能出现两种情况:移动,这样就可能出现两种情况:1.Nexti赶上赶上Nextg。意味着输入速度大于计算速。意味着输入速度大于计算速度,缓冲区满,只能阻塞输入进程等计算进程度,缓冲区满,只能阻塞输入进程等计算进程取,此情况称为系统受计算限制。取,此情况称为系统受计算限制。2.Nextg赶上赶上Nexti。意味着输入速度低于计算速。意味着输入速度低于计算速度,缓冲区空,只能阻塞计算进程等输入进程度,缓冲区空,只能阻塞计算进程等输入进程放,此情况称为系统受放,此情况称为系统受I/O限制。限制。3/13/2023533)缓冲池()缓冲池

38、(Buffer Pool)循环缓冲的问题循环缓冲的问题n不能同时双向通讯不能同时双向通讯n利用率不高。利用率不高。缓冲区是缓冲区是专用缓冲专用缓冲。(每个进程都。(每个进程都要维护自己的一个循环缓冲区),使用有剩余时要维护自己的一个循环缓冲区),使用有剩余时也不给其他进程使用,消耗大量内存空间。也不给其他进程使用,消耗大量内存空间。n系统并发程序很多时,许多这样的循环缓冲需要系统并发程序很多时,许多这样的循环缓冲需要管理,比较复杂。管理,比较复杂。为提高缓冲区的利用率,目前广泛流行缓冲池,在为提高缓冲区的利用率,目前广泛流行缓冲池,在池中设置多个可供若干个进程共享的缓冲区。池中设置多个可供若干

39、个进程共享的缓冲区。3/13/202354n系统将多个缓冲区形成一个缓冲池。系统将多个缓冲区形成一个缓冲池。n池中缓冲区为系统中所有的进程共享使用池中缓冲区为系统中所有的进程共享使用(如(如UNIXUNIX系统在系统在块设备管理中设置了一个块设备管理中设置了一个1515个缓冲区组成的缓冲池)个缓冲区组成的缓冲池)n组织形式:队列及队列指针组织形式:队列及队列指针3/13/202355缓冲池的组成缓冲池的组成n对于既可输入又可输出的公用缓冲池,至少应含对于既可输入又可输出的公用缓冲池,至少应含有下列三种类型的缓冲区:有下列三种类型的缓冲区:1.空缓冲区;空缓冲区;2.装满输入数据的缓冲区;装满输

40、入数据的缓冲区;3.装满输出数据的缓冲区;装满输出数据的缓冲区;为方便管理,将上述类型相同的缓冲区连成队列为方便管理,将上述类型相同的缓冲区连成队列空缓冲区队列空缓冲区队列(所有进程都可用)(所有进程都可用)输入队列输入队列(n n个进程有各自的队列)个进程有各自的队列)输出队列输出队列(n n个进程有各自的队列)个进程有各自的队列)*(队列长度不固定,根据进程实际情况灵活变动,需要(队列长度不固定,根据进程实际情况灵活变动,需要(队列长度不固定,根据进程实际情况灵活变动,需要(队列长度不固定,根据进程实际情况灵活变动,需要多少用多少)多少用多少)多少用多少)多少用多少)3/13/202356

41、n工作状态决定了工作状态决定了current有四种工作缓冲区:有四种工作缓冲区:状态状态 操作者操作者收容输入数据的工作缓冲区;收容输入数据的工作缓冲区;hin提取输入数据的工作缓冲区;提取输入数据的工作缓冲区;sin收容输出数据的工作缓冲区;收容输出数据的工作缓冲区;hout提取输出数据的工作缓冲区;提取输出数据的工作缓冲区;soutcpu设备设备缓冲3/13/202357缓冲区的工作方式缓冲区的工作方式n四种工作方式:四种工作方式:1.收容输入:收容输入:Getbuf(emq),hin;输入数据填入一空;输入数据填入一空缓冲区;缓冲区;Putbuf(inq,hin)2.提取输入:提取输入:

42、Getbuf(inq),sin;从输入缓冲队列中取;从输入缓冲队列中取出一数据区的内容;出一数据区的内容;Putbuf(emq,sin)3.收容输出:收容输出:Getbuf(emq),hout;输出数据填入一;输出数据填入一空缓冲区;空缓冲区;Putbuf(outq,hout)4.提取输出:提取输出:Getbuf(outq),sout;从输出缓冲队列;从输出缓冲队列中取一数据区的内容;中取一数据区的内容;Putbuf(emq,sout)缓冲池缓冲池hinsout磁盘磁盘打印机打印机sinhout内存内存用户用户程序程序emqinqoutq3/13/202358缓冲区的使用缓冲区的使用nGetb

43、uf(队列,工作区)nPutbuf(队列,工作区)n同步控制每队设置一个互斥信号量MS;判断每个队列是否有可用的缓冲区,需一个资源信号量RS。获取缓冲区时P(RS),释放时V(RS)。缓冲池:可双向缓冲;缓冲区整体利用率高。缓冲池:可双向缓冲;缓冲区整体利用率高。3/13/202359n多道环境下,系统中设备是所有进程共享的。要多道环境下,系统中设备是所有进程共享的。要防止无序竞争防止无序竞争,提高外设资源的利用率。,提高外设资源的利用率。n所以,除解决基本设备处理问题,还需由所以,除解决基本设备处理问题,还需由OS进行进行统一、合理的设备分配。统一、合理的设备分配。1)数据结构)数据结构2)

44、设备分配需考虑的因素)设备分配需考虑的因素3)设备的分配过程)设备的分配过程n设备独立性设备独立性nI/O系统的软件层次系统的软件层次4)Spooling虚拟技术虚拟技术4、设备分配设备分配3/13/2023601)设备分配中的数据结构)设备分配中的数据结构n记录相应设备或控制器的记录相应设备或控制器的状态,状态,及对设备及对设备或控制器进行或控制器进行控制控制所需的所需的信息信息。所需数据。所需数据结构:结构:设备控制表设备控制表控制器控制表控制器控制表通道控制表通道控制表系统设备(总)表系统设备(总)表3/13/202361设备控制表(设备控制表(DCT)n系统为每一设备都配置一张系统为每

45、一设备都配置一张n记录本设备的情况。记录本设备的情况。设备类型设备类型 type设备标识符设备标识符deviceid设备状态:等待设备状态:等待/不等待不等待 忙忙/闲闲指向控制器表的指针指向控制器表的指针重复执行次数或时间重复执行次数或时间设备队列的队首指针设备队列的队首指针DCT 1DCT 2DCT n设设备备控控制制表表集集合合指向因请求该设备而阻塞的进程的PCB组成的队列。3/13/202362控制器控制表(控制器控制表(COCT)控制器标识符:控制器标识符:controllerid控制器状态:忙控制器状态:忙/闲闲与控制器连接的通道表指针与控制器连接的通道表指针控制器队列的队首指针控

46、制器队列的队首指针控制器队列的队尾指针控制器队列的队尾指针n系统为每一控制器都配置一张系统为每一控制器都配置一张n记录本控制器的情况。记录本控制器的情况。通道控制表通道控制表CHCT通道标识符:通道标识符:channelid通道状态:忙通道状态:忙/闲闲与通道连接的控制器表首址与通道连接的控制器表首址通道队列的队首指针通道队列的队首指针通道队列的队尾指针通道队列的队尾指针3/13/202363系统设备表(系统设备表(SDT)表目表目 1表目表目 i设备类型设备类型 设备标识符设备标识符DCT驱动程序入口驱动程序入口n系统根据进程对设备的请求进行设备分配的过程:IO请求中的请求中的设备名设备名

47、SDT DCT COCT CHCT 细节考虑细节考虑3/13/202364n设备固有属性:独占、共享、独占但可虚拟。根据属设备固有属性:独占、共享、独占但可虚拟。根据属性采取互斥、次序调度、虚拟等不同分配策略。性采取互斥、次序调度、虚拟等不同分配策略。n设备分配算法(对不同进程的设备请求序列,如何进设备分配算法(对不同进程的设备请求序列,如何进行选择),常采用两种:行选择),常采用两种:FCFS优先级高者优先优先级高者优先n设备分配的安全性:进程开始设备分配的安全性:进程开始I/O后就阻塞直到后就阻塞直到I/O完完成。不成。不“请求和保持请求和保持”(安全的);允许连续(安全的);允许连续I/

48、O请请求,是不安全的,此类分配方式需进行安全性检查。求,是不安全的,此类分配方式需进行安全性检查。n设备独立性设备独立性用户用户IOIO请求中使用逻辑名申请某类设备,实际物理请求中使用逻辑名申请某类设备,实际物理名称是系统根据设备类型分析分配后才确定的。名称是系统根据设备类型分析分配后才确定的。2)设备分配需考虑的因素)设备分配需考虑的因素3/13/2023653)独占设备的分配过程)独占设备的分配过程n基本分配步骤基本分配步骤(一个有通道的例子):(一个有通道的例子):1.分配设备:分配设备:根据根据请求设备名请求设备名,查找,查找SDT,找到,找到DCT;状态、安全性等因素都可能导致本申请

49、进程阻状态、安全性等因素都可能导致本申请进程阻塞,挂入塞,挂入DCT等待队列中。等待队列中。2.分配控制器分配控制器通过通过1步分配设备后,从步分配设备后,从DCT找到找到COCT;检查检查COCT状态字,若忙碌,进程状态字,若忙碌,进程PCB挂到其挂到其等待队列等待队列3.分配通道分配通道COCT找到找到CHCT判断状态,判断状态,当上述三步都通过后,才可启动设备进行数据传输当上述三步都通过后,才可启动设备进行数据传输3/13/202366设备分配程序的改进细节设备分配程序的改进细节1.增加设备的独立性增加设备的独立性进程使用逻辑设备名提出进程使用逻辑设备名提出I/O请求。请求。系统从系统从

50、SDT中依次找下去,直到找到一中依次找下去,直到找到一个该类设备中空闲可用的进行分配。个该类设备中空闲可用的进行分配。2.考虑多通路情况考虑多通路情况控制器、通道也是反复查找,直到找到控制器、通道也是反复查找,直到找到一条通路。一条通路。3/13/202367【设备独立性(无关性)】设备独立性(无关性)】Device Independencen指用户编程时所用的设备名(逻辑上的)与实指用户编程时所用的设备名(逻辑上的)与实际物理设备无关;际物理设备无关;好处:好处:1.1.设备分配时的灵活性设备分配时的灵活性3 3个物理设备(如打印机),程序中申请一台打个物理设备(如打印机),程序中申请一台打

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

当前位置:首页 > 考试试题 > 消防试题

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com