CH5 设备管理.ppt

上传人:eastlab115 文档编号:379461 上传时间:2018-10-09 格式:PPT 页数:162 大小:1.62MB
下载 相关 举报
CH5 设备管理.ppt_第1页
第1页 / 共162页
CH5 设备管理.ppt_第2页
第2页 / 共162页
CH5 设备管理.ppt_第3页
第3页 / 共162页
CH5 设备管理.ppt_第4页
第4页 / 共162页
CH5 设备管理.ppt_第5页
第5页 / 共162页
亲,该文档总共162页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、1,CH5 设备管理,2,设备管理具有以下功能,缓冲区管理外围设备的分配 外围设备驱动调度虚拟设备及其实现设备中断处理,3,5.1 I/O系统(1),I/O系统:I/O设备及其接口线路、控制部件、通道和管理软件的总称。 I/O操作:计算机的主存和外围设备的介质之间的信息传送操作。,4,1.I/O性能经常成为系统性能的瓶颈(1)CPU性能不等于系统性能响应时间也是一个重要因素(2)CPU性能越高,与I/O差距越大弥补:更多的进程(3)进程切换多,系统开销大,I/O的特点,5,2.操作系统庞大复杂的原因之一是:资源多、杂,并发,均来自I/O外设种类繁多,结构各异输入输出数据信号类型不同速度差异很大

2、 3.理解I/O的工作过程与结构是理解操作系统的工作过程与结构的关键 4.与其他功能联系密切,特别是文件系统,6,1.按使用特性分存储型设备输入型设备(外设主机)输出型设备(主机外设)输入输出型设备(交互型设备) 2.按信息交换的单位分块设备以数据块为单位存储、传输信息字符设备以字符为单位存储、传输信息,设备的分类,7,3.按外部设备的从属关系分系统设备指操作系统生成时,登记在系统中的标准设备(如终端、打印机、磁盘机等) 用户设备指在系统生成时,未登记在系统中的非标准设备。对于这类设备的处理程序由用户提供,并将其纳入系统,由系统代替用户实施管理。(如A/D,D/A转换器,CAD所用专用设备),

3、8,4.按设备的共享属性分 1)独占设备在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。(如打印机,磁带等) 2)共享设备在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高。(如硬盘),9,在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备 目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率 实例:SPOOLing技术,利用虚设备技术用硬盘模拟输入输出设备),3)虚设备,10,为解决独立设备数量少,速度慢,不能满足众多进程的要求,而且在进程独占设备期间,设备利用率比较低而提出的一种

4、设备管理技术。,SPOOLing技术,11,5.从程序使用角度分逻辑设备物理设备 6.按数据传输率分高速设备低速设备,设备的分类(续),12,2.设备与控制器之间的接口,操作系统基本上与控制器打交道,而非设备本身。多数PC的CPU和控制器之间的通信采用单总线模型,CPU直接控制设备控制器进行I/O; p145,13,5.1.2设备控制器,I/O设备包括一个机械部件和一个电子部件。为了达到设计的模块性和通用性,一般将其分开。 电子部件称为设备控制器或适配器,在PC中,它常常是插入主板扩充槽的印刷电路板; 机械部件则是设备本身。,14,设备控制器,设备的I/O地址分配由控制器上的总线解码逻辑完成。

5、 控制器通过中断通知CPU已经做好准备,寄存器可以读写。,15,设备控制器,OS通过向控制器寄存器写命令字来执行I/O功能。 控制器接受一条命令后,CPU可以转向其它工作,而设备控制器自行完成具体的I/O操作。 当命令执行完毕后,控制器发出一个中断信号,以便OS重新获得CPU的控制权并检查执行结果。,16,设备控制器,设备控制器是CPU和设备之间的一个接口,它接收从CPU发来的命令,控制I/O设备操作,实现主存和设备之间的数据传输。 设备控制器是一个可编址设备,当它连接多台设备时,则应具有多个设备地址。,17,设备控制器功能,设备控制器的基本功能: 接收和识别CPU或通道发来的命令; 实现数据

6、交换,包括设备和控制器间的数据传输; 发现和记录设备及自身的状态信息,供CPU处理使用; 设备地址识别。 数据缓冲 差错控制,18,2.设备控制器组成部分: 命令寄存器及译码器, 数据寄存器, 状态寄存器, 地址译码器, 用于对设备操作进行控制的I/O逻辑。,19,新一代计算机出现,带来了总线技术的更新1.总线的基本概念:在计算机系统内各种子系统,如CPU、内存、I/O设备等之间构建公用的信号或数据传输通道,这种可共享连接的传输通道称为总线。,5.1.4总线技术,20,总线的分类,CPU-内存总线,I/O总线,数据总线,地址总线,控制总线,(非本课程范围),2. 总线的分类,21,微型计算机

7、总线的种类和发展,1394总线,SCSI总线,22,USB(Universal Serial Bus)通用串行总线,是一种连接I/O串行设备的技术标准 冲破了计算机技术发展的两个历史局限性:(1)由于I/O设备的接口标准的不一致和有限的接口数量已无法满足各种应用迫切需要(2)传统的I/O设备的接口无法满足实时数据传输与多媒体应用的需求 USB以WDM(Windows Driver Model)模型为基础,WDM包含一套通用的I/O服务和二进制兼容的设备驱动程序,3. USB技术,23,USB支持同步数据传输方式和异步数据传输方式,其数据传输率有低速15Mbps和全速12Mbps两种,比标准串口

8、快100倍,比标准并口快10倍 USB可以主动为外部设备提供电源,允许外部设备快速连接,具有即插即用的功能 允许外部设备的热插拔,24,1) USB的结构,控制器:控制器主要负责执行由控制器驱动程序发出的命令 控制器驱动程序:控制器驱动程序在控制器与USB设备之间建立通信信道 USB芯片驱动程序:USB芯片驱动程序提供了对USB的支持 USB设备分为两类:(1)USB集线器:本身可再接其他USB外围设备(2)USB设备:连接在计算机上用来完成特定功能并符合USB规范的I/O设备单元,如鼠标、键盘等,25,2) USB的传输方式,4种不同的数据传输方式: (1)等时传输方式以固定的传输速率,连续

9、不断传输数据,发生错误时,USB不处理,而是继续传送新的数据。用于需要连续传输,且对数据的正确性要求不高而对时间极为敏感的外部设备,如麦克风、音箱以及电话等 (2)中断传输方式该方式传送的数据量很小,但这些数据需要及时处理,以达到实时效果,此方式主要用在键盘、鼠标以及游戏手柄等外部设备上,26,(3)控制传输方式处理主机的USB设备的数据传输,包括设备控制指令、设备状态查询及确认命令。当USB设备收到这些数据和命令后将按照先进先出的原则按队列方式处理到达的数据 (4)批传输方式用来传输要求正确无误的数据。通常打印机、扫描仪和数码相机以这种方式与主机连接 除等时传输方式外,其他3种方式在数据传输

10、发生错误时,都会试图重新发送数据以保证其准确性,USB的传输方式(续),27,4. SCSI接口技术,小型计算机系统接口 (Small Computer System Interface)一个SCSI I/O设备控制器可将新型高速I/O设备增加到计算机系统中SCSI 设备控制器的智能化I/O控制降低了计算机系统的负担使计算机系统具有更高的I/O能力,28,SCSI系统结构,29,计算机系统I/O设备与部件配置的应用技术 顾名思义:插入就可用,不需要进行任何设置操作,5. 即插即用技术(Plug and Play),30,由于一个系统可以配置多种外部设备,设备也经常变动和更换,它们都要占有一定的

11、系统资源,彼此间在硬件和软件上可能会产生冲突。因此在系统中要正确地对它们进行配置和资源匹配;当设备撤除、添置和进行系统升级时,配置过程往往是一个困难的过程。,1) PnP技术的产生,31,(1)支持I/O设备及部件的自动配置,使用户能够简单方便地使用系统扩充设备(2)减少由制造商装入的种种用户支持和限制,简化部件的硬件跳接设置,使I/O附加卡和部件不再具有人工跳接线设置电路 (3)在主机板和附加卡上保存系统资源的配置参数和分配状态,有利于系统对整个I/O资源的分配和控制(4)支持和兼容各种操作系统平台,具有很强的扩展性和可移植性。(5)在一定程度上具有“热插入”、“热拼接”技术,2) PnP技

12、术的特点,32,功能:(1)附加卡的识别与确认(2)资源分配(3)附加卡自动配置多方面的支持:具有PnP功能的操作系统、配置管理软件、软件安装程序、设备驱动程序等;网络设备的PnP支持;系统平台的支持(如:PnP主机板、控制芯片组和PnP BIOS等);各种支持PnP规范的总线的I/O控制卡和部件,3) PnP技术的功能及支持,33,5.2 I/O控制方式,按照I/O控制器功能的强弱,以及和CPU之间联系方式的不同,对I/O设备的控制方式分类, 主要差别在于:中央处理器和外围设备并行工作的方式不同,并行工作的程度不同。,34,1 询问方式(1),询问方式又称程序I/O直接控制方式,在这种方式下

13、,输入输出指令或询问指令测试一台设备的忙闲标志位,决定主存储器和外围设备是否交换一个字符或一个字。,35,询问方式(2),36,询问方式(3),一旦CPU启动I/O设备,便不断查询I/O设备的准备情况,终止原程序的执行,浪费CPU时间; I/O准备就绪后,CPU参与数据传送工作,而不能执行原程序, CPU和I/O设备串行工作,使主机不能充分发挥效率,外围设备也不能得到合理使用,整个系统效率很低。,37,2 中断方式(1),CPU启动I/O设备后,不必查询I/O设备是否就绪,继续执行现行程序。 直到在启动指令后的某条指令,响应了I/O中断请求,CPU才转至I/O中断处理程序执行。,38,中断方式

14、(2),中断处理程序中,CPU全程参与数据传输操作,它从I/O接口读一个字(字节) 并写入主存,如果I/O设备上的数据尚未传送完成,转向现行程序再次启动I/O设备,重复上述过程;否则,中断处理程序结束后,继续从K+1条指令执行。,39,中断方式(4),I/O操作直接由CPU控制,每传送一个字符或字,要发生一次中断,仍然消耗大量CPU时间。 程序中断方式I/O,不必忙式查询I/O准备情况,CPU和I/O设备可实现部分并行,与程序查询的串行工作方式相比,使CPU资源得到较充分利用。,40,3 DMA方式(1),如果I/O设备能直接与主存交换数据而不占用CPU,CPU的利用率还可提高,这就出现了直接

15、存储器存取DMA方式。,41,DMA方式(2) DMA至少需要以下逻辑部件,主存地址寄存器 字计数器 数据缓冲寄存器或数据缓冲区 设备地址寄存器 中断机制和控制逻辑,42,5.5.4. DMA 技术,1. DMA 方式与中断的主要区别 中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理大大减少了CPU进行中断处理的次数 中断方式的数据传送是由CPU控制完成的而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的,43,不用DMA时,磁盘如何读: 首先,控制器从磁盘驱动器串行地一位一位地读一个块,直到将整块信

16、息放入控制器的内部缓冲区中 其次,它做和校验计算,以核实没有读错误发生 然后控制器产生一个中断。CPU响应中断,控制转给操作系统。当操作系统开始运行时,它重复地从控制器缓冲区中一次一个字节或一个字地读这个磁盘块的信息,并将其送入内存中,44,存放输入数据的内存起始地址、要传送的字节数送入DMA控制器的内存地址寄存器和传送字节计数器,中断允许位和启动位置成1,启动设备发出传输要求的进程进入等待状态执行指令被暂时挂起,进程调度其他进程占据CPU输入设备不断窃取CPU工作周期,数据不断写入内存传送完毕,发出中断信号CPU接到中断信号转入中断处理程序处理中断处理结束,CPU返回原进程或切换到新的进程,

17、3.DMA工作原理窃取总线控制权,45,5.5.4. DMA 技术,1. DMA 方式与中断的主要区别 中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理大大减少了CPU进行中断处理的次数 中断方式的数据传送是由CPU控制完成的而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的,46,不用DMA时,磁盘如何读: 首先,控制器从磁盘驱动器串行地一位一位地读一个块,直到将整块信息放入控制器的内部缓冲区中 其次,它做和校验计算,以核实没有读错误发生 然后控制器产生一个中断。CPU响应中断,控制转给操作系统。当

18、操作系统开始运行时,它重复地从控制器缓冲区中一次一个字节或一个字地读这个磁盘块的信息,并将其送入内存中,47,存放输入数据的内存起始地址、要传送的字节数送入DMA控制器的内存地址寄存器和传送字节计数器,中断允许位和启动位置成1,启动设备发出传输要求的进程进入等待状态执行指令被暂时挂起,进程调度其他进程占据CPU输入设备不断窃取CPU工作周期,数据不断写入内存传送完毕,发出中断信号CPU接到中断信号转入中断处理程序处理中断处理结束,CPU返回原进程或切换到新的进程,3.DMA工作原理窃取总线控制权,48,程序I/O,中断I/O,DMA,49,引入通道的目的,为了使CPU从I/O事务中解脱出来,同

19、时为了提高CPU与设备,设备与设备之间的并行工作能力,50,4 通道方式,为获得CPU和外围设备间更高的并行工作能力,也为了让种类繁多,物理特性各异的外围设备能以标准的接口连接到系统中,计算机系统引入了自成独立体系的通道结构。,51,通道方式 通道(输入输出处理器),能完成主存和外围设备间的信息传送,与CPU并行地执行操作。通道技术解决了I/O操作的独立性和各部件工作的并行性。 由通道管理和控制I/O操作,减少了外围设备和CPU的逻辑联系。把CPU从琐碎的I/O操作中解放出来。,52,定义:通道是独立于CPU的专门负责数据输入/输出传输工作的处理机,对外部设备实现统一管理,代替CPU对输入/输

20、出操作进行控制,从而使输入,输出操作可与CPU并行操作。通道又称输入输出处理机,术语“通道”专指专门用来负责输入输出工作的处理机(简称处理机)。比起中央处理机来,通道是一个比功能较弱、速度较慢、价格较为便宜的处理机。但“通道”一词在微型机中常指与或与处理机相连设备的单纯的数据传送通路,它并不具有处理机的功能。,通道技术,53,通道方式 通道(输入输出处理器),外围设备和CPU能实现并行操作;通道和通道之间能实现并行操作;各通道上的外围设备也能实现并行操作,达到提高整个系统效率这一根本目的。,54,通道方式 采用通道后的I/O操作过程,CPU在执行主程序时遇到I/O请求,它启动指定通道上选址的外

21、围设备,一旦启动成功,通道开始控制外围设备进行操作。 CPU就可执行其他任务并与通道并行工作,直到I/O操作完成。通道发出操作结束中断时,CPU才停止当前工作,转向处理I/O操作结束事件。,55,2. 通道类型,字节多路通道:通常按字节交叉的方式工作,适用于低速设备。 数组选择通道:按成组方式进行数据传输,适用于高速设备。 数组多路通道:综合前二个优点(数据传送率和通道利用率都较高)。,56,通道方式 通道三种类型,字节多路通道。选择通道。 数组多路通道。,57,字节多路通道以字节为单位传输信息,它可以分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制转去执行另一

22、个通道程序,控制另一台设备传送信息主要连接以字节为单位的低速I/O设备。如打印机,终端。以字节为单位交叉传输,当一台传送一个字节后,立即转去为另一台传送字节,1) 字节多路通道,58,59,选择通道是以成组方式工作的,即每次传送一批数据,故传送速度很高。选择通道在一段时间内只能执行一个通道程序,只允许一台设备进行数据传输当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序主要连接磁盘,磁带等高速I/O设备,2) 选择通道,60,选择通道,选择通道,61,成组多路通道结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动

23、转接,为另一台设备执行一条通道指令主要连接高速设备这样,对于连接多台磁盘机的数组多路通道,它可以启动它们同时执行移臂定位操作,然后,按序交叉地传输一批批数据。数据多路通道实际上是对通道程序采用多道程序设计的硬件实现,3)成组多路通道,62,3. 硬件连接结构,63,通道:执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。 一旦CPU发出指令,启动通道,则通道独立于CPU工作。一个通道可连接多个控制器,一个控制器可连接多个设备,形成树形交叉连接主要目的是启动外设时:a 提高了控制器效率b 提高可靠性c 提高并行度,64,65,交叉连接,66,通道地址字 CAW:记录通道程序在内存中

24、的地址 通道命令字 CCW:保存正在执行的通道指令 通道状态字 CSW:存放通道执行后的返回结果 通道数据字 CDW:存放传输数据通道和CPU共用内存,通过周期窃取方式取得,通道运算控制部件,67,用于I/O操作的命令主要有两种:I/O指令:启动通道程序通道命令:对I/O操作进行控制读、反读、写、测试设备状态的数据传输命令、用于设备控制的命令(磁带反绕、换页)、实现通道程序内部控制的转移命令,2) 通道命令,68,通道命令和通道程序(2) IBM370系统的通道命令,命令格式一般包括:操作码、数据传输内存地址、特征位、计数器。,69,通道相当于一个功能简单的处理机,包含通道指令(空操作,读操作

25、,写操作,控制,转移操作),并可执行用这些指令编写的通道程序。,4. 通道工作原理,70,CPU:执行用户程序,当遇到I/O请求时,可根据该请求生成通道程序放入内存(也可事先编好放入内存),并将该通道程序的首地址放入CAW中;之后执行“启动I/O”指令,启动通道工作。通道:接收到“启动I/O”指令后,从CAW中取出通道程序的首地址,并根据首地址取出第一条指令放入CCW中,同时向CPU发回答信号,使CPU可继续执行其他程序,而通道则开始执行通道程序,完成传输工作。,工作原理,71,(通道程序完成实际I/O,启动I/O设备,执行完毕后,如果还有下一条指令,则继续执行, 否则表示传输完成),当通道传

26、输完成最后一条指令时,向CPU发I/O中断,并且通道停止工作。CPU接收中断信号,从CSW中取得有关信息,决定下一步做什么。,72,5. 通道与CPU的关系,主从关系 可并行工作 有通信方式 作用不同(通道/;计算),73,6.通道的发展,新的通道思想综合了许多新的技术 在个人计算机中,芯片组中专门I/O处理的芯片,称为IOP(IO Processor),发挥通道的作用 IBM 390 中,沿用了输入输出通道概念IBM于1998年推出光纤通道技术(称为FICON),可通过 FICON 连接多达127个大容量I/O设备。传输速度是333MHzs,未来将达到1GHzs。光纤通道技术具有数据传输速率

27、高、传输距离远,可简化大型存储系统设计的优点在大容量高速存储,如大型数据库、多媒体、数字影像等应用领域,有广泛前景。,74,汇编格式通道程序例子,P155,75,通道启动和I/O操作过程,CPU是主设备,通道是从设备,CPU和设备之间是主从关系,需要相互配合协调才能完成I/O操作。 那么CPU如何通知通道做什么?通道又如何告知CPU其状态和工作情况呢?,76,通道方式I/O过程三个阶段,l I/O启动阶段 2 I/O操作阶段 3 I/O结束阶段,77,5.3缓冲管理(1),5.3.1引入缓冲技术的目的改善中央处理器与外围设备之间速度不配的矛盾,减少对CPU的中断频率,提高CPU和I/O设备的并

28、行性。,78,1. 缓冲技术的引入 凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。 缓冲区:有一定容量、暂存信息的存贮装置。 在操作系统中采用缓冲是为了实现数据的I/O操作,以缓解CPU与外部设备之间速度不匹配的矛盾,提高资源利用率,79,2. 引入缓冲区的好处,提高硬件的并行操作能力; 减少了I/O设备对处理器的中断请求次数 简化了中断机制 节省了系统开销,80,3. 引入缓冲区的缺点,在系统区要设置相当大的缓冲池才能满足所有的请求。 从系统缓冲区传送数据到调用进程缓冲区要花费额外的时间,增加了系统的总开销。,81,硬缓冲: 在设备中设置缓冲区,由硬件实现 软缓冲: 在内存中开辟一个空

29、间,用作缓冲区,4. 缓冲区设置,82,5. 几种缓冲技术,1)单缓冲 2)双缓冲 3)多缓冲:多个缓冲按顺序构成环形,先进先出队列的形式,设头尾、指针指向同一个缓冲区。头、尾指针读写时不能相互超越。 4)缓冲池。缓冲池为多个设备共享,设备需要时才接上,用完归还。,83,5.3.2 单缓冲,对于块设备,单缓冲机制如下工作:数据处理过程 数据处理时间约为maxC,T+M, 对于字符设备,单缓冲机制如下工作: 数据处理过程,84,5.3.2 双缓冲(1),输入数据时,首先填满缓冲区1,操作系统可从缓冲区1把数据送到用户进程区,用户进程便可对数据进行加工计算;与此同时,输入设备填充缓冲区2 当缓冲区

30、1空出后,输入设备再次向缓冲区1输入。操作系统又可把缓冲区2的数据传送到用户进程区,用户进程开始加工缓冲2的数据。,85,双缓冲(2),传输和处理一块的时间(1) 如果CT,由于M远小于T,在将磁盘上的一块数据传送到缓冲区其间,计算机已完成将另一个缓冲区中的数据传送到用户区并对这块数据进行计算的工作,一块数据的传输和处理时间为T、即max(C,T),显然,这种情况下可保证块设备连续工作;,86,双缓冲(3),传输和处理一块的时间(2) 如果CT,当上一块数据计算完毕后,需把一个缓冲区中的数据传送到用户区,花费时间为M,再对这块数据进行计算,花费时间为C,所以,一块数据的传输和处理时间为C+M、

31、即max(C,T)+M,这种情况下进程不必要等待I/O。,87,双缓冲(a),88,双缓冲(b),89,5.3.3循环缓冲,操作系统从自由主存区域中分配一组缓冲区组成循环缓冲,每个缓冲区的大小等于物理记录的大小。循环缓冲的缓冲区是系统的公共资源,可供各个进程共享,并由系统统一分配和管理。 缓冲区可用途分为:输入缓冲区,处理缓冲区和输出缓冲区。,90,5.4 设备分配,91,设备分配 I/O设备分配的实现,设备分配的数据结构:设备类表和设备表。 系统中拥有一张设备类表,每类设备对应于表中一栏,包括内容有:设备类、总台数、空闲台数和设备表起始地址等。 每一类设备都有各自的设备表,用来登记这类设备中

32、每一台设备的状态,包含的内容有:物理设备名、逻辑设备名、占有设备的进程号、已分配/未分配、好/坏等。,92,1. 设备管理中的数据结构,在多通路的系统中,为了满足一个请求,不仅仅是分配一个设备的问题,还应分配相应的控制器和通道,以确保与设备之间能进行通信,在存储器与/设备之间能进行数据的直接存取。 设备管理程序对设备进行分配和控制是借助于一些表格;表格中记录了对设备控制所需之信息。它们是设备管理程序实现管理功能的数据结构。,93,数据结构(续),控制所需之信息。它们是设备管理程序实现管理功能的数据结构。如下表:,94,整个系统一张表,记录系统中所有I/O设备的信息,表目包括:设备类型、设备标识

33、符、进程标识符、DCT表指针等,1) 系统设备表SDT,95,主要内容:设备类型、设备标识符、设备状态、与此设备相连的COCT、重复执行的次数或时间、等待队列的队首和队尾指针、I/O程序地址3)COCT4)CHCTCOCT和CHCT与DCT类似,2) 设备控制表DCT,96,设备控制 通道控制 控制器控制 块(DCB) 块(CHCB) 块(COCB),三种控制块,97,设备分配(1),从设备的特性来看,可以把设备分成独占设备、共享设备和虚拟设备三类: 相应的管理和分配外围设备的技术可分成:独占方式、共享方式和虚拟方式 。,98,/设备的分配算法,/设备的分配机制,除了与设备的固有属性有关外,还

34、与系统所采用的分配策略有关。/设备的分配与进程调度很能相似,同样可采用如下的一些算法: 先请求先服务:当有多个进程对同一设备提出/请求时,该算法要求把所有发出/请求的进程,按其发出请求的先后次序排成一个等待该设备的队列。设备分配程序把/设备分配给队列中第一个进程。 优先权最高者优先。对于何必先权相同的请求,则按先请求先分配的原则排队。,99,3) 设备分配的安全性,为了能同时操作多个/设备以加速进程的推进,应使得某进程以命令形式发出/请求后,仍可继续运行,需要时又可发出第二个、第三个/请求。多请求方式的缺点是,设备分配不安全,因为它具备请求和保持条件,因而有可能产生死锁的情况。由此可见,在多请

35、求方式中,设备的分配程序应保证不发生进程死锁。,100,设备分配 I/O设备分配的实现,采用通道结构的系统中,设备分配的数据结构设置:系统设备表、通道控制表、控制器控制表和设备控制表。 系统建立一张系统设备表,记录配置在系统中的所有物理设备的情况。 每个通道、控制器、设备各设置一张表,记录各自的地址(标识符)、状态(忙/闲)、等待获得此部件的进程队列指针、及一次分配后相互勾链的指针,以备分配和执行I/O时使用。,101,5.4.3 设备独立性,通常用户不指定特定的设备,而指定逻辑设备,使得用户作业和物理设备独立开来,再通过其它途径建立逻辑设备和物理设备之间的对应关系,称这种特性为“设备独立性”

36、。,102,设备独立性 设备独立性带来的好处,用户与物理的外围设备无关,系统增减或变更外围设备时程序不必修改;易于对付输入输出设备的故障。,103,与设备无关性,为了提高系统的可适应性和可扩展性,我们希望 所编制的用户程序与实际使用的物理设备无关,这就是所谓与设备无关性。为此,我们将逻辑设备与物理设备区分,并引入逻辑设备名称和物理设备名称的概念。为了实现与设备的无关性,系统中必须有一张联系逻辑设备名称和物理设备名称的映射表,(表),104,3. 系统的逻辑设备表,105,逻辑设备与物理设备,这个中为三个不同的逻辑设备号列出了同样的物理设备和驱动程序的地址。这说明逻辑设备,目前均得到同一个物理设

37、备的服务(这或许是因为激光打印机及字母型打印机正在被修理,因此本来输出到这些设备上的请求都移到行式打印机)。在这个映射表中我们还可以看到物理设备和都是由同一个驱动程序服务的。这是假定它们是同一类型的终端。例如所有的终端均由一个驱动程序服务。,106,5.4.5 SPOOLING技术,107,问题的提出,静态分配方式是不利于提高系统效率 采用脱机外围设备操作 联机同时外围设备操作(又称作假脱机操作),108,斯普林系统的设计和实现,“井”是用作缓冲的存储区域,采用井的技术能调节供求之间的矛盾,消除人工干预带来的损失。 “输入进程SPI” “输出进程SPO”,109,Spooling(虚拟设备)技

38、术,一个虚拟设备一个资源转换技术 (用空间,如输入,输出等换取CPU时间)解决问题:在进程所需物理设备不存在或被占用时使用该设备,110,111,5.5 设备处理,设备处理程序又称设备驱动程序包括与设备相关的代码,它的工作是:把用户提交的逻辑I/O请求转化为物理I/O操作的启动和执行,如设备名转化为端口地址、逻辑记录转化为物理记录、逻辑操作转化为物理操作等。,112,设备驱动程序(2),设备驱动程序从与设备无关的软件中接收抽象的I/O请求,一条典型的请求是读第n块。 如果请求到来时驱动程序空闲,则立即执行。如果它正在处理另一条请求,它将该请求挂在等待队列中。,113,5.5.1设备驱动程序的功

39、能和特点,1)设备驱动程序的功能 2)设备处理方式 3)设备驱动程序的特点,114,设备处理,(1) 接收由I/O进程发来的命令和参数,并将命令中的抽象要求转换为具体要求,例如,将磁盘块号转换为磁盘的盘面、 磁道号及扇区号。(2) 检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。,1. 设备驱动程序的功能和特点,1) 设备驱动程序的功能,115,(3) 发出I/O命令,如果设备空闲,便立即启动I/O设备去完成指定的I/O操作;如果设备处于忙碌状态,则将请求者的请求块挂在设备队列上等待。(4) 及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中

40、断处理程序进行处理。(5) 对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。,116,2) 设备处理方式,(1) 为每一类设备设置一个进程,专门用于执行这类设备的I/O操作。(2) 在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作。 (3) 不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块),供用户进程或系统进程调用。,117,为了控制I/O传输,系统为每类设备编制设备驱动程序 设备驱动程序是一种低级的系统例程。它必须和系统的输入输出硬设备相互通信。使用特权/指令来访问硬件,它通常是用汇编语言或系统编程语言写的

41、。 任务:主要负责接收和分析从设备分配转来的信息,并根据设备分配的结果,结合具体物理设备特性完成以下具体工作。,3) 设备驱动程序,118,4) 设备驱动程序的特点,(1) 驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序。 (2) 驱动程序与设备控制器和I/O设备的硬件特性紧密相关,因而对不同类型的设备应配置不同的驱动程序。 (3) 驱动程序与I/O设备所采用的I/O控制方式紧密相关。 (4) 由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言书写。,119,2. 设备驱动程序的处理过程,将抽象要求转换为具体要求 2. 检查I/O请求的合法性 3. 读出和检查设

42、备的状态 4. 传送必要的参数 5. 工作方式的设置 6. 启动I/O设备,120,5.5.3 I/O中断处理程序,输入输出中断的类型和功能 通知用户程序I/O操作沿链推进程度 通知用户程序I/O操作正常结束 通知用户程序发现的I/O操作异常 通知程序外围设备上重要的异步信号,121,中断现场保护示意图,122,中断处理流程,123,管理程序,保护现场 组织通道程序 保存通道程序 的始址于CAW 启动I/O指令 分析条件码 启动成功使 P阻塞, 另选 程序q运行 保护程序q的 现场 分析中断原因 处理I/O中断 选择可运行程序,请求 启动程序,程序q,程序P,用户程序,判断状态 执行通道程序

43、控制I/O设备 操作,执行情 况记录在CSW 出现中断事件 CSW=主存通 道号, 设备号 送特定寄存器,通道程序,执行规定 的操作,设备控制器和设备,1,2,3,4,5,I/O的操作全过程,124,5.6磁盘存储器管理,125,磁盘存储器管理的主要任务,为文件分配存储空间 合理地组织文件地存储方式,以提高访问速度 提高磁盘存储空间地利用率 提高磁盘I/O速度,改善文件性能 确保文件系统的可靠性(备份),126,5.6.1 磁盘性能简述,1. 数据的组织和格式,磁盘的格式化,127,1) 固定头磁盘这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁

44、道,并进行并行读/写,有效地提高了磁盘的I/O速度。这种结构的磁盘主要用于大容量磁盘上。2) 移动头磁盘每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单,故仍广泛应用于中小型磁盘设备中。,2. 磁盘的类型,128,3. 磁盘访问时间,1) 寻道时间Ts这是指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和, 即 Ts=mn+s其中,m是一常数,与磁盘驱动器的速度有关,对一般磁盘, m=0.2;对高速磁盘,m0.1,磁臂

45、的启动时间约为2 ms。 这样,对一般的温盘, 其寻道时间将随寻道距离的增加而增大, 大体上是530 ms。,129,2) 旋转延迟时间T这是指定扇区移动到磁头下面所经历的时间。对于硬盘,典型的旋转速度大多为5400 r/min,每转需时11.1 ms,平均旋转延迟时间T为5.55 ms;对于软盘,其旋转速度为300 r/min或600 r/min,这样,平均T为50100 ms。,130,3) 传输时间Tt把数据从磁盘读出或向磁盘写入数据所经历的时间。 Tt的大小与每次所读/写的字节数b和旋转速度有关:其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数, 当一次读/写的字节数相当于半条磁道上

46、的字节数时,Tt与T相同, 因此, 可将访问时间Ta表示为:其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数, 当一次读/写的字节数相当于半条磁道上的字节数时,Tt与T相同, 因此, 可将访问时间Ta表示为:,131,5.6.2 磁盘调度,1. 先来先服务FCFS(First-Come, First Served),FCFS调度算法,132,2. 最短寻道时间优先SSTF (Shortest Seek Time First),SSTF调度算法,133,3. 扫描(SCAN)算法,SSTF算法虽然能获得较好的寻道性能, 但却可能导致某个进程发生“饥饿”(Starvation)现象。因为只要不断

47、有新进程的请求到达,且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必须优先满足。对SSTF算法略加修改后所形成的SCAN算法,即可防止老进程出现“饥饿”现象。,1) 进程“饥饿”现象,134,2) SCAN算法,SCAN调度算法示例,135,4. 循环扫描(CSCAN)算法,CSCAN调度算法示例,136,1) N-Step-SCAN算法在SSTF、SCAN及CSCAN几种调度算法中,都可能出现磁臂停留在某处不动的情况,例如,有一个或几个进程对某一磁道有较高的访问频率,即这个(些)进程反复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。我们把这一现象称为“磁臂粘着”

48、(Armstickiness)。在高密度磁盘上容易出现此情况。N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列。而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列。当正在处理某子队列时,如果又出现新的磁盘I/O请求,便将新请求进程放入其他队列,这样就可避免出现粘着现象。 当N值取得很大时,会使N步扫描法的性能接近于SCAN算法的性能;当N=1时, N步SCAN算法便蜕化为FCFS算法。,5. N-Step-SCAN和FSCAN调度算法,137,2) FSCAN算法FSCAN算法实质上是N步SCAN算法的简化, 即FSC

49、AN只将磁盘请求队列分成两个子队列。一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程, 放入另一个等待处理的请求队列。这样,所有的新请求都将被推迟到下一次扫描时处理。,138,是指利用内存中的存储空间,来暂存从磁盘中读出的一系列盘块中的信息。因此,这里的高速缓存是一组在逻辑上属于磁盘,而物理上是驻留在内存中的盘块。高速缓存在内存中可分成两种形式。第一种是在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序多少的影响;第二种是把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘I/O时(作为磁盘高速缓存)共享。此时高速缓存的大小,显然不再是固定的。当磁盘I/O的频繁程度较高时,该缓冲池可能包含更多的内存空间;而在应用程序运行得较多时,该缓冲池可能只剩下较少的内存空间。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1