计算机操作系统(第九章)_第1页
计算机操作系统(第九章)_第2页
计算机操作系统(第九章)_第3页
计算机操作系统(第九章)_第4页
计算机操作系统(第九章)_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机操作系统第九章 设备管理本章学习目标l 数据传送的4种方式:程序直接控制方式、中断控制方式、DMA方式及通道控制方式l 缓冲技术的概念及4种常见的缓冲技术:单缓冲、双缓冲、环形缓冲及缓冲池l 设备分配的概念及3种设备分配技术:独享分配、共享分配及虚拟分配l I/O进程控制主要内容9.1 引言9.2 数据传送控制方式9.3 中断技术9.4 缓冲技术9.5 设备分配9.6 I/O进程控制9.7 设备驱动程序本章小结几个重要的定义n1. 什么是计算机外部设备什么是计算机外部设备 在计算机系统中除CPU和内存储外所有的设备和装置称为计算机外部设备(外围设备、I/O设备)。n2.为什么要对设备进行

2、分类为什么要对设备进行分类 设备分类的目的在于简化设备管理程序 n3. 什么是存储设备什么是存储设备 用来存放各种信息的设备称为存储设备,例如,软盘、硬盘、光盘和磁带等;n4.什么是什么是I/O设备设备 用来向计算机输入和输出信息的设备,如键盘、鼠标、显示器、打印机等。9.1.1设备的类别1按操作特性分类按操作特性分类 可把外部设备分为存储设备,输入/输出(I/O)设备,终端设备及脱机设备。 如图9.1所示。n2按系统和用户的观点分类(按设备的从属关系分)按系统和用户的观点分类(按设备的从属关系分) 可将外部设备分为系统设备和用户设备两种。 系统设备是指在操作系统生成时就已配置好的各种标准设备

3、。例如,键盘、打印机以及文件存储设备等。 用户设备是在系统生成时没有配置,而由用户自己安装配置后由操作系统统一管理的设备。例如,网络系统中的各种网板、实时系统中的A/D、D/A变换器、图像处理系统的图像设备等n3按传输的信息组织分类按传输的信息组织分类 可将外部设备分为字符设备和块设备。4.按资源分配方式分类:按资源分配方式分类:(1)独占设备 所有的输入/输出设备都应该是独占设备。所谓独占,是说该类设备要以用户或作业为单位分配,在该用户未退出系统之前,或该作业未运行结束之前,此设备不能作其它分配。(2)共享设备 所谓共享,是说多个进程可以交替地从这些设备上存取信息。(3)虚拟设备 通过Spo

4、oling技术把原独占设备改造成能为若干用户共享的设备,以提高设备的利用率。图图9.1 按使用特性对外部设备的分类按使用特性对外部设备的分类9.1.2 设备管理的功能和任务 设备管理是计算机输入输出系统的管理。设备管理的任务:n设备处理的一致性n设备独立性n字符编码的独立性n提高设备的利用率设备管理的任务:(1) 选择和分配输入输出设备以进行数据传输操作;(2) 控制输入输出设备和CPU(或内存)之间交换数据;(3) 为用户提供友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,系统按用户要求控制设备工作。另外,这个接口还为新增加的用户设备提供一个和系统核心相连

5、接的入口,以便用户开发新的设备管理程序;(4) 提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作度,以使操作系统获得最佳效率。2设备管理的功能设备管理的功能(1)提供和进程管理系统的接口。(2)进行设备分配。(3)实现设备和设备,设备和CPU等之间的并行操作。(实现真正的I/O操作 ) 在设置有通道的系统中,应根据用户提出的I/O要求,构成相应的通道程序,提供给通道去执行; 启动指定的设备进行I/O操作; 对通道发来的中断请求作出及时的响应和处理。(4)进行缓冲区管理9.2数据传输控制方式n数据传输操作的控制方式也就是外围设备和内存之间的数据传送控制方式,主要包括下面四种方式

6、(1)直接控制方式(2)中断控制方式(3)DMA方式(4)通道方式9.2.1 程序直接控制方式程序直接控制方式n1.什么是程序直接控制方式什么是程序直接控制方式 程序直接控制内存或CPU和外围设备之间进行信息传送的方式。 在这种方式下控制者是用户进程,当用户进程需要输入或输出数据时,它通过CPU发出启动设备的指令,然后,用户进程进入测试等待状态。n2.程序直接控制方式的工作过程程序直接控制方式的工作过程 (1)把一个启动位为“1”的控制字写入该设备的控制状态寄存器。 (2)将需输出数据送到数据缓冲寄存器。 (3)测试控制状态寄存中的“完成位”,若为0,转(2)否则转(4)。 (4)输出设备将数

7、据缓冲寄存器中的数据取走进行实际的输出。图图9.2 程序直接控制方式程序直接控制方式缺点缺点 (1) CPU和外围设备只能串行工作。由于CPU的处理速度要大大高于外围设备的数据传送和处理速度,所以,CPU的大量时间都处于等待和空闲状态。这使得CPU的利用率大大降低;(2) CPU在一段时间内只能和一台外围设备交换数据信息,从而不能实现设备之间的并行工作;(3) 由于程序直接控制方式依靠测试设备标志触发器的状态位来控制数据传送,因此无法发现和处理由于设备或其他硬件所产生的错误。所以,程序直接控制方式只适用于那些CPU执行速度较慢,而且外围设备较少的系统。 在这种方式中CPU的大量时间用在了等待输

8、入输出的循环测试上,使主机不能充分发挥效率,外设也不能得到合理使用,整个系统效率很低。9.2.2 中断技术n1.什么是中断技术什么是中断技术 仅当数据传送操作正常或异常结束时才中断中央处理机,从而实现了一定程度的并行操作,这种方式称为程序中断方式。 中断(interrupt)方式被用来控制外围设备和内存与CPU之间的数据传送n2.中断技术的工作过程 如图9.4所示中断技术的工作过程n(1)进程需要数据时,将允许启动和允许中断的控制字写入设备控制状态寄存器中,启动该设备进行输入操作。n(2)该进程放弃处理机,等待输入的完成。操作系统进程调度程序调度其他就绪进程占用处理机。n(3)当输入完成时,输

9、入设备通过中断请求线向CPU发出中断请求信号。CPU在接收到中断信号之后,转向中断处理程序。n(4)中断处理程序首先保护现场,然后把输入缓冲寄存器中的数据传送到某一特定单元中去,同时将等待输入完成的那个进程唤醒,进入就绪状态,最后恢复现场,并返回到被中断的进程继续执行。n(5)在以后的某一时刻,操作系统进程调度程序选中提出的请求并得到获取数据的进程,该进程从约定的内存特定单元中取出数据继续工作。图9.4 中断控制方式的处理过程缺点缺点 虽然中断的引入改善了中央处理机的利用率,但I/O操作毕竟还是由CPU控制的,此时每传输一个字或字符,往往就要做一次中断处理。由此可见,当I/O设备很多时,CPU

10、可能完全陷入I/O处理中。9.2.3 DMA方式方式 n1.什么是什么是DMA方式(方式(direct memory access) 在外围设备和内存之间开辟直接的数据交换通路。DMA控制器可用来代替CPU控制内存和设备之间进行成批的数据交换。DMA方式的结构n2. DMA方式方式 的工作过程(1) 当进程要求设备输入数据时,CPU把准备存放输入数据的内存始址以及要传送的字节数分别送入DMA控制器中的内存地址寄存器和传送字节计数器; 另外,还把控制状态寄存器中的中断允许位和启动位置1; 从而启动设备开始进行数据输入。(2) 发出数据要求的进程进入等待状态,进程调度程序调度其他进程占据CPU。

11、(3) 输入设备不断地挪用CPU工作周期,将数据缓冲寄存器中的数据源源不断地写入内存,直到所要求的字节全部传送完毕。(4) DMA控制器在传送字节数完成时通过中断请求线发出中断信号,CPU在接收到中断信号后转中断处理程序进行善后处理。(5) 中断处理结束时,CPU返回被中断进程处执行或被调度到新的进程上下文环境中执行9.5 DMA方式的传送结构 图图9.6 DMA方式的数据传送处理过程方式的数据传送处理过程 与中断方式的区别与中断方式的区别 (1)中断方式时是在数据缓冲寄存器满之后发中断要求CPU进行中断处理,而DMA方式则是在所要求转送的数据块全部传送结束时要求CPU进行中断处理。 (2)中

12、断方式的数据传送是在中断处理时由CPU控制完成的,而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的。 缺点缺点DMA方式仍然存在着一定的局限性。(1)DMA方式对外围设备的管理和某些操作仍由CPU控制。(2)随着系统所配外设种类和数量的增加,多个DMA控制器的同时使用显然会引起内存地址的冲突并使控制过程进一步复杂。9.2.4 通道控制方式n1.什么是通道控制方式 是一种以内存为中心,实现设备和内存直接交换数据的控制方式。n2.什么是通道 通道又称I/O处理机,它能完成主存储器和外设之间的信息传输,并与中央处理机并行操作。 通道技术解决了I/O操作的独立性和各部件的并行性。 2. 通

13、道方式与通道方式与DMA方式得异同方式得异同 (1)通道方式与通道方式与DMA方式相同点方式相同点 都是一种以内存为中心,实现设备和内存直接交换数据的控制方式。(2)通道方式与通道方式与DMA方式不同点方式不同点n在DMA方式中,数据的传送方向、存放数据的内存始址以及传送的数据块长度等都由CPU控制,而在通道方式中,这些都由通道来进行控制。nDMA方式每台设备至少需要一个DMA控制器,一个通道控制器可以控制多台设备,显然,通道方式进一步减轻了CPU的工作负担和增加了计算机系统的并行工作程度。 3. 通道方式通道方式 的工作过程的工作过程(1) 当进程要求设备输入数据时,CPU发Start指令指

14、明I/O操作、设备号和对应通道。(2) 对应通道接收到CPU发来的启动指令Start之后,把存放在内存中的通道指令程序读出,设置对应设备的I/O控制器中的控制状态寄存器。(3) 设备根据通道指令的要求,把数据送往内存中指定区域。(4) 若数据传送结束,I/O控制器通过中断请求线发中断信号请求CPU做中断处理。第5步与DMA方式时相同,即中断处理结束后CPU返回被中断进程处继续执行。图图9.7 通道方式的数据传送结构通道方式的数据传送结构通道分类通道分类按信息交换方式和连接的外设类型不同,通道可分为三种类型:(1)字节多路通道:以字节为单位传送数据,它主要用来连接大量的低速设备,如终端、打印机等

15、。当一台设备传送一个字节后,立即转去为另一设备传送一个字节。(2)选择通道:它用于连接磁带、磁鼓和磁盘等设备,以块为单位成批传送数据,但一次只能执行一道通道程序,控制一台设备进行I/O操作,当一个I/O请求操作完成后,再选择与通道相连的另一设备。(3)数组多路通道:它先为一台设备执行一条通道命令,然后自动转换,为另一台设备执行一条通道命令。数组多路通道的实质是:对通道程序采用多道程序设计技术的硬件实现。解决通道不足的问题解决通道不足的问题 n为了解决通道不足的矛盾,使设备能得到充分利用,较经济的方法是:减少使用通道的时间;增加通路,提高通道的灵活性。几个基本概念n 通道命令通道命令 数据传输通

16、道具有自己的指令系统。我们把通道的指令称为通道命令。n 通道程序通道程序 用通道命令编写的程序称为通道程序,也叫数据传输程序。 编制好的通道程序是存放在主存储器中的,为了使通道能取到通道命令去执行,必须把存放通道程序的首地址告诉通道。n 通道地址字通道地址字 用来存放通道程序首地址的主存固定单元称通道地址字CAW(Channel Address Word)。9.3 中断技术 n1.什么是中断?什么是中断? 指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的

17、过程。n2.什么中断源什么中断源 引起中断发生的事件n3.什么中断请求什么中断请求 中断源向CPU发出的请求中断处理信号 n4.什么中断响应什么中断响应 CPU收到中断请求后转相应的事件处理程序n5.什么是中断屏蔽?什么是中断屏蔽? 在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应外设的启动和外设的启动和I/O中断处理中断处理 要启动外设进行输入输出操作,首先要根据设备的特性编制复杂且繁琐的输入输出程序,然后用启动I/O的指令才能启动外设工作。 1. I/O设备的启动设备的启动 (1) 启动控制外设启动控制外设I/O的功能的功能 根据要求组织好通道程序,且

18、把通道程序的首地址存放到通道地址字中。 中央处理机执行启动I/O指令启动通道工作,启动成功后,通道逐条执行通道程序中的通道命令,控制设备实现输入输出操作。通道完成输入输出操作后,向中央处理机报告执行情况,中央处理机处理来自通道的中断。 (2)通道状态字及其内容通道状态字及其内容 把通道和设备执行操作的情况随时记录下来,把执行的情况汇聚在一个主存固定单元中,这个固定单元称通道状态字CSW(Channel Status Word)。 通道状态字中有控制器结束、设备结束、通道结束、设备出错、设备特殊等情况时,就形成I/O中断。启动输入输出操作过程图启动输入输出操作过程图 几个重要概念 禁止中断:尽管

19、产生了中断源和发出了中断请求,但CPU内部的处理机状态字PSW的中断允许位已被清除,从而不允许CPU响应中断(关中断 ) 开中断:PSW的中断允许位的设置。 中断屏蔽:指在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应。9.3.2 中断的分类与优先级 根据中断源产生的条件,可把中断分为外中断和内中断。 外中断指来自处理机和内存外部的中断,包括I/O设备发出的I/O中断、外部信号中断(例如用户键入ESC键)、各种定时器引起的时钟中断以及调试程序中设置的断点等引起的调试中断等。 内中断主要指在处理机和内存内部产生的中断。内中断一般称为陷阱(trap)。它包括程

20、序运算引起的各种错误,如地址非法、校验错、页面失效、存取访问控制错、算术操作溢出、数据格式非法、除数为零、非法指令、用户程序执行特权指令、分时系统中的时间片中断以及从用户态到核心态的切换等都是陷阱的例子。中断和陷阱还有如下主要区别: (1) 陷阱通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。(2) 陷阱处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的。(3) CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应陷阱。例如执行指令非法时,尽管被执行的非法指令不能执行结束,但CPU仍可对其进行处理。9.3

21、.3 软中断n中断和陷阱要通过硬件产生相应的中断请求,所以是硬中断n软中断:是通信进程之间用来模拟硬中断的一种信号通信方式n软中断与硬中断相同点:其中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号所对应的功能。n在有些系统中,大部分的陷阱是转化为软中断处理的9.3.4 中断处理过程 一旦CPU响应中断,转入中断处理程序,系统就开始进行中断处理。下面说明中断处理过程: (1) 首先,CPU检查响应中断的条件是否满足。CPU响应中断的条件是: 有来自于中断源的中断请求、CPU允许中断。(2) 如果CPU响应中断,则CPU关中断,使其进入不可再次响应中断的

22、状态。(3) 保存被中断进程现场。为了在中断处理结束后能使进程正确地返回到中断点,系统必须保存当前处理机状态字PSW和程序计数器PC等的值。这些值一般保存在特定堆栈或硬件寄存器中。 (4) 分析中断原因,调用中断处理子程序。在多个中断请求同时发生时,处理优先级最高的。(5) 执行中断处理子程序。I/O中断事件的处理中断事件的处理 I/O中断是通道和中央处理机协调工作的一种手段。通道借助I/O中断请求中央处理机进行干预,中央处理机根据产生的I/O中断事件了解输入输出操作的执行情况。I/O中断事件由于通道程序的执行引起,或由于外界的原因引起。操作正常结束操作正常结束 含义:含义: 当通道状态字中的

23、设备状态字节仅有通道结束、设备结束、控制器结束时表示完成了通道程序所规定的操作,中央处理机启动的本次输入输出操作正常结束。 处理过程处理过程 :(1)操作正常结束,表示该进程已经得到了指定设备传来的信息,或者已经把信息传送到指定的设备,应使该进程的状态从阻塞变成就绪。(2)对可共享的设备来说,当一个进程A请求该设备执行输入输出操作时,若该设备没有为其它进程服务,那么,立即能启动该设备工作;若设备正在为另一进程B服务,那么进程A不能立即启动该设备,而处于等待访问设备的阻塞状态。 操作异常结束操作异常结束含义:含义: 当输入输出操作执行时,如果发现有硬件的故障或发生一些设备特殊事件,就要形成操作异

24、常结束中断。 处理过程:处理过程: (1)对故障事件,可以组织通道程序重复执行。若经多次重复执行后故障仍不能排除,那么就输出错误信息,请操作人员进行人工排除。 (2)对设备特殊事件,操作系统分析发生的特殊事件,分别情况处理。当操作员排除了故障或处理完特殊事件后,操作员必需打入一条命令通知操作系统,操作系统继续控制程序的执行。 9.4.1 缓冲的引入 引入缓冲的主要目的有以下几点。引入缓冲的主要目的有以下几点。1缓和处理机和缓和处理机和I/O设备间速度不匹配的矛盾设备间速度不匹配的矛盾2减少对减少对CPU的中断次数的中断次数3提高提高CPU和和I/O设备之间的并行性设备之间的并行性9.4 缓缓

25、冲冲 技技 术术缓冲技术的基本思想: 缓冲技术好比水库缓冲技术好比水库 在在CPU和外设之间设立缓冲区,用以暂存和外设之间设立缓冲区,用以暂存CPU和外设之间交和外设之间交换的数据,从而缓和换的数据,从而缓和CPU与外设速度不匹配所产生的矛盾。与外设速度不匹配所产生的矛盾。 凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。在在操作系统中采用缓冲是为了实现数据的操作系统中采用缓冲是为了实现数据的I/O操作,以缓解操作,以缓解CPU与外与外部设备之间速度不匹配的矛盾,提高资源利用率。部设备之间速度不匹配的矛盾,提高资源利用率。(1)改善)改善

26、CPU与与I/O设备间速度不匹配设备间速度不匹配的的矛盾矛盾例如,通常的程序都是时而输入时而输出。若没有缓冲,则例如,通常的程序都是时而输入时而输出。若没有缓冲,则程序在输出数据时,必然会由于打印机的速度跟不上程序在输出数据时,必然会由于打印机的速度跟不上CPU,而使得而使得CPU长时间地等待。长时间地等待。 在计算阶段,打印机又空闲无事。在计算阶段,打印机又空闲无事。 在打印机或控制区中设置一缓冲区,用来快速暂存程在打印机或控制区中设置一缓冲区,用来快速暂存程序输出的数据,以后再由打印机慢慢的从中取出数据打印。序输出的数据,以后再由打印机慢慢的从中取出数据打印。 这样就实现了这样就实现了CP

27、U与与I/O设备之间的并行工作。设备之间的并行工作。(2)减少对减少对CPU的中断频率,放宽对中断响应的中断频率,放宽对中断响应时间的限制时间的限制 如果如果I/O操作每传送操作每传送1B就要产生一次中断,那么设置了就要产生一次中断,那么设置了n个字节的个字节的缓冲区后,则可以等到缓冲区满才产生中断,这样中断次数就减少到缓冲区后,则可以等到缓冲区满才产生中断,这样中断次数就减少到1/n,而且中断响应的时间也可以相应地放宽。,而且中断响应的时间也可以相应地放宽。(3)提高提高CPU和和I/O设备之间的并行性设备之间的并行性 缓冲的引入可显著提高缓冲的引入可显著提高CPU和设备的并行操作程度,提高

28、系统的和设备的并行操作程度,提高系统的吞吐量和设备的利用率吞吐量和设备的利用率 9.4.2 缓冲的分类 n缓冲有硬件缓冲和软件缓冲之分。缓冲有硬件缓冲和软件缓冲之分。 n根据系统设置的缓冲区个数,可以将缓冲根据系统设置的缓冲区个数,可以将缓冲技术分为:技术分为:n单缓冲、双缓冲、环形缓冲和缓冲池。单缓冲、双缓冲、环形缓冲和缓冲池。 1.单缓冲 单缓冲是操作系统提供的最简单的一单缓冲是操作系统提供的最简单的一种缓冲形式。每当一个进程发出一个种缓冲形式。每当一个进程发出一个I/O请求时,操作系统便在主存中为之分配一请求时,操作系统便在主存中为之分配一缓冲区,该缓冲区用来临时存放输入缓冲区,该缓冲区

29、用来临时存放输入/输输出数据。出数据。2. 双缓冲 n解决外设之间并行工作的最简单的办法是设置双缓冲。在双缓冲方案中,具体的做法是为输入或输出操作设置两个缓冲区buffer1和buffer2。n双缓冲方式和单缓冲方式相比,虽然双缓冲方式能进一步提高CPU和外设的并行程度,并能使输入设备和输出设备并行工作,但是在实际系统中很少采用这一方式,这是因为在计算机系统中的外设很多,又有大量的输入和输出,同时双缓冲很难匹配设备和CPU的处理速度。因此现代计算机系统中一般使用环形缓冲或缓冲池结构。3. 环形缓冲n环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来,每个缓冲区中有

30、一个指向下一个缓冲的指针,最后一个缓冲区的指针指向第一个缓冲区,这样n个缓冲区就成了一个环形。此外,系统中有个缓冲区链首指针指向第一个缓冲区。环形缓冲区结构如图9.3所示。图图9.3 环形缓冲区结构环形缓冲区结构4. 缓冲池从自由主存中分配一组缓冲区即可构成缓冲池。 1缓冲池的组成缓冲池的组成 缓冲池中的缓冲区一般有以下三种类型:空闲缓冲区、装输入数据的缓冲区和装输出数据的缓冲区。 2缓冲池的工作方式缓冲池的工作方式 缓冲区可以在收容输入、提取输入、收容输出和提取输出四种方式下工作。 图图9.4 缓冲区队列缓冲区缓冲区队列缓冲区图图9.5 缓冲池的工作缓冲区缓冲池的工作缓冲区9.5.1设备分配

31、用数据结构 设备分配程序的主要功能是: 当某进程向系统提出I/O请求后,设备分配程序按照一定的策略和设备分配算法,把所要求的设备分配给它。 1.设备控制表设备控制表DCT(Device Control Table) 设备控制表DCT反映设备的特性、设备和I/O控制器的连接情况。系统中为每一I/O设备都设置了一张用以记录该设备情况的设备控制表DCT,表中的内容则根据系统执行情况而被动态的修改。包括设备标识、使用状态和等待使用该设备的进程队列等。DCT组成组成 (1)设备标识符,设备标识符用来区别设备。 (2)设备类型,反映设备的特性,如块设备或字符设备等。 (3)指向控制器COCT的指针。 (4

32、)等待队列的队首、队尾指针,凡因请求本设备未得到满足的进程,将其PCB按一定的策略排成一队列。(5)重复执行次数或时间。(6)设备状态。2. 系统设备表SDT(System Device Table) 系统设备表SDT整个系统一张,它记录已被连接到系统中的所有物理设备的情况,并为每个物理设备设一表项。 SDT表目组成表目组成 其中每个表目包括:设备类型、设备标识符、进程标识符(正在使用该设备的进程的标识符)、DCT指针(指向设备的控制表)等。3. 控制器表COCT(COntroler Control Table) COCT也是每个控制器一张,它反映I/O控制器的使用状态以及和通道的连接情况等(

33、在DMA方式时,该项是没有的)。4. 通道控制表CHCT(CHannel Control Table) 该表只在通道控制方式的系统中存在,也是每个通道一张。CHCT包括通道标识符、通道忙/闲标识、等待获得该通道的进程等待队列的队首指针与队尾指针等。图图9.12 数据结构表数据结构表9.5.2 设备分配原则1.设备分配原则设备分配原则 设备分配的原则是根据设备特性、用户要求和系统配制情况决定的。 设备分配的总原则设备分配的总原则 (1)要充分发挥设备的使用效率,尽可能的让设备忙,但又要避免不合理的分配方法造成进程死锁; (2)还要做到把用户程序和具体物理设备隔离开来。 静态分配静态分配 (1)在

34、用户作业开始执行之前,由系统一次分配该作业所要求的全部设备、控制器和通道; (2)一但分配之后就一直为该作业所占用,直到该作业被撤消。 动态分配动态分配 动态分配是在进程执行过程中根据进程的请求,由系统按照一定的策略进行分配,用完立即释放。2. 设备分配机制设备分配机制设备分配要考虑的因素设备分配要考虑的因素 为使系统有条不紊地工作,系统必须具有合理的设备分配机制。通常,它与下述四个因素有关: (1)I/O设备的固有属性。该设备仅适合于某进程独占还是可供多个进程共享; (2)系统所采用的分配策略。采用先请求先分配方式,还是按优先数最高者优先的方式; (3)设备分配中的安全性,不合理的设备分配有

35、可能导致死锁的发生; (4)与设备的无关性。用户程序与实际分配的物理设备无关。3. 设备分配技术设备分配技术 (1)独享分配 由于某些设备要求人工干预,有些设备要求较长的预操作时间。对它们采用独享分配方式。(2)共享分配磁盘、磁鼓之类的外存储器,即具有很大的存储容量,其定位操作的时间又短,可为若干作业所共享。(3)虚拟分配采用SPOOLing技术。把原为独享的设备改造成为可共享的设备。 9.5.3 设备分配算法设备分配算法常见的设备分配方法有两种(1)先请求先服务。当有多个进程对同一个设备提出I/O请求时,该算法要求把所有发出I/O请求的进程,按其发出请求的先后次序排成一个等待该设备的队列。(

36、2)优先权最高者优先。优先权高的进程优先获得处理机,若对它的I/O请求,也赋予高的优先权,如果系统本身也希望使用某I/O设备而提出I/O请求,它应比通常用户的I/O请求具有更高的优先权。对于优先权相同的I/O请求,则按先请求先分配的原则排队。9.6 I/O进程控制 9.6.1 用户进程的输入输出请求 用户进程的输入输出请求包括:申请进行I/O操作的逻辑设备名要求的操作、传送数据的长度和起始地址等。典型的用户进程的输入输出请求可通过下述通用的系统调用命令来实现: doio(dev,mode,bmount,bddr) 其中:dev表示执行I/O的逻辑设备名;mode表示操作的类型,如读、写等;bm

37、ount表示传输的数目;bddr表示数据传送的地址。9.6.2 设备驱动程序 1设备驱动程序的功能 (1)实现逻辑设备到物理设备的转换。 (2)发出I/O命令,启动相应的I/O设备,完成相应的I/O操作。 2设备驱动程序的处理过程 不同的设备有不同的设备驱动程序,但设备驱动程序大都可分为两部分,除有能驱动I/O设备工作的驱动程序外,还有设备中断处理I/O完成后的工作程序。9.6.3 中断处理程序的处理过程 中断处理程序的处理过程如下: 1唤醒被阻塞的驱动程序进程 2保护被中断进程的现场 3分析中断原因、转入相应的设备中断处理程序 4进行中断处理 5恢复被中断进程的现场9.7设备驱动程序 对移动

38、臂磁盘,执行输入输出操作时必须确定信息在磁盘上的物理位置。任何一个对磁盘的访问请求,应给出访问磁盘的存储空间地址:柱面号、磁头号、扇区号。 活动盘执行一次活动盘执行一次I/O所花时间所花时间寻找时间-磁头在移动臂带动下移动到指定柱面所需时间。延迟时间-指定扇区旋转到磁头位置所需时间。传送时间-由磁头把扇区中信息读到主存储器或把主存储器中信息写到扇区中所需的时间。9.8 虚拟设备9.8.1 问题的提出 9.8.2 SPOOLING的设计和实现 9.8.3 SPOOLING应用例子 9.8.19.8.1问题的提出 n静态分配方式是不利于提高系统效率 n采用脱机外围设备操作 n联机同时外围设备操作(

39、又称作假脱机操作) 9.8.2 斯普林系统的设计和实现(1)n“井”是用作缓冲的存储区域,采用井的技术能调节供求之间的矛盾,消除人工干预带来的损失。n“预输入程序”n“缓输出程序”n“井管理程序” 预输入程序作业1信息作业n信息输入井作业1结果作业n结果输出井缓输出程序井管理程序运行作业输入设备输出设备作业调度程序斯普林系统的设计和实现(2) SPOOLING组成和结构 斯普林系统的设计和实现(3)输入井中作业状态 输入状态: 收容收态: 执行状态: 完成状态:斯普林系统的设计和实现(4)SPOOLING数据结构 作业表:登记进入系统的所有作业的作业名、状态、预输入表位置等信息。 预输入表:每个用户作业有一张用来登记该作业的各个文件的情况,包括设备类、信息长度及存放位置等。 缓输出表:每个用户作业拥有一张包括作业名、作业状态、文件名、设备类、数据起始位置、数据当前位置等。斯普林系统的设计和实现(5)井文件空

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论