CH5设备管理课件_第1页
CH5设备管理课件_第2页
CH5设备管理课件_第3页
CH5设备管理课件_第4页
CH5设备管理课件_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、CH5 设备管理 设备管理管理的是计算机系统的重要资源,用户无权直接使用。 设备管理的一个重要任务:是按照一定的算法在各进程间调度和分配设备。 另外,设备管理还要按照用户要求启动具体设备,完成数据传输操作,并且处理设备的中断。 还有,如何利用虚拟技术使独享设备“变为”共享设备,使一台物理设备“变为”多台逻辑设备。5.1 设备管理概述一、设备管理的分类 1. 按从属关系分类系统设备:指在操作系统生成时已经登记在系统中的标准设备。如键盘、显示器、打印机等。用户设备:指操作系统生成时未登记入系统的非标准设备。如鼠标、绘图仪、扫描仪等。2. 按传输速率分类低速、中速、高速设备(指传输速率)3. 按使用

2、特性分类存储设备、I/O设备(1)独占设备: 指在一段时间内只允许一个用户(进程)访问的设备,大多数低速的I/O设备。如用户终端、打印机等属于这类设备。因为独占设备属于临界资源,所以多个并发进程必须互斥地访问独占设备。4. 按设备共享属性分类 (*)(2)共享设备: 指在一段时间内允许多个进程同时访问的设备。 显然,共享设备必须是可寻址的和可随机访问的设备,典型的共享设备是磁盘。(3)虚拟设备: 指通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机(SPOOLing)技术实现虚拟设备。 二、设备管理的功能 (1)设备分配和回收。按照设备类型和相应的分配算

3、法决定将I/O设备分配给哪一要求使用该设备的进程。凡未分配到所需设备的进程被放入一个等待队列。(2)设备处理。设备处理程序实现CPU和设备控制器之间的通信。即当CPU向设备控制器发出I/O指令时,设备处理程序应启动设备进行I/O操作,并能对设备发来的中断请求作出及时的响应和处理。(3)实现其他功能。 包括对缓冲区的管理功能及实现设备独立性。 三、设备管理的目标 (1)提高设备的利用率。 应尽量提高CPU与I/O设备之间的并行操作程度,主要利用的技术有:中断技术、DMA技术、通道技术和缓冲技术。(2)为用户提供方便、统一的界面。 所谓方便,是指用户能独立于具体设备的复杂物理特性之外而方便使用设备

4、。所谓统一,是指对不同的设备尽量使用统一的操作方式,例如各种字符设备用一种I/O操作方式。这就要求用户操作的是简便的逻辑设备,而具体的I/O物理设备有操作系统去实现,这种性能常常被称为设备的独立性。 5.2 设备I/O方式 1、询问(Query):询问方式又称程序直接控制方式,在这种方式下,输入输出指令或询问指令测试一台设备的忙闲标志位,决定主存储器和外围设备是否交换一个字符或一个字。实时系统中必需采用,在一般简单系统中也广泛采用,但系统开销较大。 CPU和I/O设备串行工作,每次进行输入输出工作,都需要由主机CPU干预; 2、中断(interrupt):CPU启动I/O设备后,不必查询I/O

5、设备是否就绪,继续执行现行程序,直到在启动指令后的某条指令,响应了I/O中断请求,CPU才转至I/O中断处理程序执行。中断工作主要由中断请求、中断响应和中断服务处理组成。“中断”的产生使管理工作更能“自动化”。 I/O操作直接由CPU控制,每传送一个字符或字,要发生一次中断,仍然消耗大量CPU时间。 医生查房(“询问”),以便及时掌握病情。病床旁红灯是紧急请求医生的按钮(“中断请求”)。常规医疗处理医生委托护士(“硬通道”)去做。但护士只有执行权而无修改权。 4、通道(Channel):又称输入输出处理器。完成主存和外设之间的信息传送,与CPU并行工作,解决了输入输出操作的独立性和各部件工作的

6、并行性。当输入输出操作完成,通道发出操作结束中断时,CPU才停止当前工作,转向处理输入输出操作结束事件。3、DMA(Direct Memory Access):直接存储器存取方式。主存和I/O设备之间有一条数据通路,I/O设备能直接与主存交换数据而不占用CPU,实际操作直接由DMA完成。 CPU的利用率进一步提高。DMA方式与中断方式比较(1)中断方式下, CPU需要执行多条指令,占用一定的时间;而DMA传送1个字节只占用CPU的1个总线周期,占用CPU的时间少。(2)DMA的响应速度比中断快。IO设备发出中断请求后,CPU要执行完当前指令后才给予响应,而DMA请求是在总线周期执行完后即可响应

7、。(3)对于快速的IO设备,中断方式,其传输速度已无法满足要求。必须采用DMA方式来完成快速IO设备的数据传送的操作。通道技术1.通道的定义: 通道(Channel)是独立于CPU的专门负责数据输入/输出传输工作的处理机,对外部设备实现统一管理,代替CPU对输入/输出操作进行控制,从而使输入,输出操作可与CPU并行操作。2.引入通道的目的 为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备、设备与设备之间的并行工作能力。主要目的是启动外设时:a.提高了控制器效率 b.提高可靠性 c.提高并行度。附.设备控制器: I/O设备通常包含一个机械部件和一个电子部件,电子部件称为设备控制器或适

8、配器,在PC中它通常是一块插入主板扩充槽的印刷电路板。 4.通道工作原理 通道相当于一个功能简单的处理机,包含通道指令(空操作,读操作,写操作,控制,转移操作),并可执行用这些指令编写的通道程序。 (P397) 3.通道的功能:执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。 一旦CPU发出指令,启动通道,则通道独立于CPU工作。一个通道可连接多个控制器,一个控制器可连接多个设备,形成树形交叉连接设备驱动程序设备驱动程序包括与设备相关的代码,它的工作是: 把用户提交的逻辑I/O请求转化为物理I/O操作的启动和执行,如设备名转化为端口地址、逻辑记录转化为物理记录、逻辑操作转化为物

9、理操作等。设备驱动程序从与设备无关的软件中接收抽象的I/O请求,并执行之。如果请求到来时驱动程序空闲,则立即执行。如果它正在处理另一条请求,它将该请求挂在等待队列中。设备的打开、关闭、读、写等操作是由设备驱动程序完成的。5.3 缓冲技术一、缓冲技术的基本思想: 缓冲技术好比水库 在CPU和外设之间设立缓冲区,用以暂存CPU和外设之间交换的数据,从而缓和CPU与外设速度不匹配所产生的矛盾。 凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。在操作系统中采用缓冲是为了实现数据的I/O操作,以缓解CPU与外部设备之间速度不匹配的矛盾,提高资源利用率。(1)改善CPU与I/O设备间速度不匹配的矛盾

10、例如,通常的程序都是时而时而输出。若没有缓冲,则程序在输出数据时,必然会由于打印机的速度跟不上CPU,而使得CPU长时间地等待。 在计算阶段,打印机又空闲无事。 在打印机或控制区中设置一缓冲区,用来快速暂存程序输出的数据,以后再由打印机慢慢的从中取出数据打印。 这样就实现了CPU与I/O设备之间的并行工作。(2)减少对CPU的中断频率,放宽对中断响应时间的限制 如果I/O操作每传送1B就要产生一次中断,那么设置了n个字节的缓冲区后,则可以等到缓冲区满才产生中断,这样中断次数就减少到1/n,而且中断响应的时间也可以相应地放宽。(3)提高CPU和I/O设备之间的并行性 缓冲的引入可显著提高CPU和

11、设备的并行操作程度,提高系统的吞吐量和设备的利用率。 二、缓冲技术的分类1、单缓冲 单缓冲是操作系统提供的最简单的一种缓冲形式。每当一个进程发出一个I/O请求时,操作系统便在主存中为之分配一缓冲区,该缓冲区用来临时存放输入/输出数据。 2、双缓冲 在双缓冲方案中,具体的做法是为输入或输出操作设置两个缓冲区buffer1和buffer2。该方式能进一步提高CPU和外设的并行程度,并能使输入设备和输出设备并行工作,但是在实际系统中很少采用这一方式。 3、多缓冲 又称环形缓冲,环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来,每个缓冲区中有一个指向下一个缓冲区的指针,

12、最后一个缓冲区的指针指向第一个缓冲区,这样n个缓冲区就成了一个环形。此外,系统中有个缓冲区链首指针指向第一个缓冲区。 4、缓冲池 从自由主存中分配一组缓冲区即可构成缓冲池。缓冲池中的缓冲区一般有以下三种类型:空闲缓冲区、装输入数据的缓冲区和装输出数据的缓冲区。5.4 驱动调度技术 作为辅存,磁盘是一类大容量高速旋转的存储设备,在繁重的输入输出负载下,同时会有若干个输入输出请求来到并等待处理,系统必须采用一种调度策略,使能按最佳次序执行要访问的诸请求,这就叫驱动调度。 驱动调度能减少为若干输入输出请求服务所需的总时间,从而提高系统效率。一、驱动调度二、磁盘设备管理1、磁盘结构 一般:硬盘、软盘、

13、单片盘和多片盘固定头磁盘、移动头磁盘固定头磁盘:是指盘面上的每一条磁道都有一个读写头,固定头磁盘由于成本较高而较少使用。 移动头磁盘:是指每个盘面只有一个读/写磁头,每执行一次盘的操作都须先移动磁头,使其对准所要找的磁道,这称为寻找操作。 通常在计算机系统中所说的磁盘,是由若干片盘所组成的磁盘迭,各盘片均安装在一个高速旋转的枢轴。读写头安装在移动臂上,移动臂可沿盘半径方向移动。 磁盘结构示意图轴盘片组移动臂读写磁头磁道柱面2、磁盘物理记录访问需要的三个参数(1)柱面号 随着臂的移动,各盘面所有的读写头同时移动,并定位在同样的垂直位置的磁道上,这些磁道形成了一个柱面。通常由外向里给各柱面依次编以

14、顺序号,0,1,2,。(2)磁头号 将一个磁盘迭的全部有效盘面从上至下依次编以顺序号,0,1,2,称为磁头号,因此盘面号与磁头号是相对的。(3)扇区号(块号) 将各磁道分成若干个大小相等的扇区,并编以序号0,1,2,。 3、扇区是磁盘存储和传送信息的基本单位要在磁盘上访问一个扇区,必须给出其柱面号、磁头号和扇区号,这样才能准确地定位要访问的扇区,这称为扇区的物理地址,即物理扇区号。由物理扇区号表示的扇区称为绝对扇区。为了方便,操作系统通常将其转变为逻辑扇区号加以管理。编址方式为:在磁道上按扇区号增加,在柱面上按磁道号增加,对整个磁道从柱面0到最后一个柱面增加。例如,每磁道扇区数为S,每个柱面的

15、磁道数为T,那么可将柱面号为i,磁头号为j,扇区号为k的物理扇区转换为逻辑扇区号为:b=k+S*(T*i+j)。 4. 磁盘类型 1) 固定头磁盘 这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。 这种结构的磁盘主要用于大容量磁盘上。 2) 移动头磁盘 每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单, 故仍广泛应用于中小型磁盘设备中。 5.磁盘访问1) 寻道时间Ts 这是

16、指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和, 即 Ts=mn+s 寻道时间将随寻道距离的增加而增大, 大体上是530 ms。 2) 旋转延迟时间T 这是指定扇区移动到磁头下面所经历的时间。对于硬盘,典型的旋转速度大多为5400 r/min,每转需时11.1 ms,平均旋转延迟时间T为5.55 ms; 3) 传输时间Tt 这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。 Tt的大小与每次所读/写的字节数b和旋转速度有关: 其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数,6、磁盘引臂调度1、“先来先服务”算法-FCFS 按照请求

17、访问者到来的先后顺序为请求访问者服务,该算法简单,但由于移臂来回移动,增加了执行信息传输操作的时间。2、“最短查找时间优先”算法-SSTF本算法考虑了各个请求之间的区别,总是先执行查找时间最短的那个磁盘请求,从而,较“先来先服务”算法有较好的寻道性能。 SSTF算法虽然能获得较好的寻道性能, 但却可能导致某个进程发生“饥饿”(Starvation)现象。因为只要不断有新进程的请求到达, 且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必须优先满足。3、SCAN算法 也称电梯调度算法 磁盘臂每次沿一个方向移动,扫过所有柱面,遇到最近的I/O请求便进行处理,直到最后一个柱面后

18、,再向相反方向移动回来。 磁头双向移动 4. 循环扫描(CSCAN)算法 磁盘臂每次沿一个方向移动,扫过所有柱面,遇到最近的I/O请求便进行处理,直到最后一个柱面后,磁头立即返回到最里的欲访问磁道,亦即将最小磁道号紧接着最大磁道号构成循环,进行循环扫描。 磁头单向移动 5. N-Step-SCAN和FSCAN调度算法 1) N-Step-SCAN算法 在SSTF、 SCAN及CSCAN几种调度算法中, 都可能出现磁臂停留在某处不动的情况, 例如,有一个或几个进程对某一磁道有较高的访问频率, 即这个(些)进程反复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。 我们把这一现象称为“磁臂粘着”

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

20、所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程, 放入另一个等待处理的请求队列。这样,所有的新请求都将被推迟到下一次扫描时处理。 5. N-Step-SCAN和FSCAN调度算法 5.5 设备分配(P186)通常用户不指定特定的设备,而指定逻辑设备,使得用户作业和物理设备独立开来,再通过其它途径建立逻辑设备和物理设备之间的对应关系,称这种特性为“设备独立性”。 用户与物理的外围设备无关,系统增减或变更外围设备时程序不必修改;易于对付输入输出设备的故障。一、设备独立性 独占设备指在一段时间内只允许一个用户(进程)访问的设备,大

21、多数低速的I/O设备。如用户终端、打印机等属于这类设备。因为独占设备属于临界资源,所以多个并发进程必须互斥地访问独占设备。 一般采用静态分配方式,能防止死锁,但会降低设备的利用率。二、设备分配(2)共享设备的分配: 共享设备指在一段时间内允许多个进程同时访问的设备。显然,共享设备必须是可寻址的和可随机访问的设备,典型的共享设备是磁盘。 一般不必进行分配或采用静态分配方式(降低存储空间的利用率)。(1)独占设备的分配:设备类表和设备表 为了有效实现设备地分配,系统中设有设备分配的数据结构:设备类表和设备表。设备类表:系统中有一张设备类表,每类设备对应于设备类表中的一栏,通常包括以下内容:设备类、

22、总台数、空闲台数和设备起始地址等。设备表:每类设备都有各自的设备表,用来登记这类设备中每台设备的状态,通常包括以下内容:物理设备名、逻辑设备名、占有设备的进程号、已分配/未分配、好/坏等。 根据设备分配的数据结构,即设备类表和设备表中的信息,就可以设计出I/O设备的分配/去配流程,实现设备分配。5.6 虚拟设备(P189)早期的计算机只能由一个用户独占,后来,随着分时系统的出现,允许由多个用户共享一台主机。类似的,一台只允许一个用户使用的独享设备能否通过某种技术把它改造成由多个用户共享的设备呢?采用联机同时外围设备操作(又称作假脱机操作),使得每个作业感到各自拥有独占使用的设备若干台。 通过虚

23、拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。Spooling技术就是将一台独享设备改造成共享设备比较有效的虚拟技术。一、SPOOLing系统全名是(SPOOLing, Simultaneous Peripheral Operation On Line,联机同时外围操作,也称为虚拟设备技术),是关于慢速字符设备如何与计算机主机交换信息的一种技术。也叫:假脱机技术。定义:spooling系统是OS中采用的一项可以把独享设备转变成具有共享特征的虚拟设备的技术,从而提高设备利用率。 脱机输入输出技术为了解决人机矛盾及CPU和I/O设备间速度不匹配的矛盾,20世纪50年代末出现了该

24、技术。事先将装有用户程序和数据的纸带(卡片)装入纸带输入机,在一台外围机的控制下把纸带上的数据(程序)输入到磁带上。当CPU需要这些数据时再从磁带上高速的调入内存。类似的,当CPU需要输出时可由CPU直接高速的把数据从内存送到磁带上,然后再在另一台外围机的控制下,将磁带上的结果通过相应的输出设备输出。输入设备外围机磁盘磁盘磁盘外围机主机磁盘输出设备 由于程序和数据的输入和输出都是在外围机的控制下完成的,或者说他们是在脱离主机的情况下进行的,所以称为脱机输入输出方式。脱机I/O示意图SPOOLing系统的组成(1)输入井和输出井:这是在磁盘上开辟出来的两个存储区域。输入井模拟脱机输入时的磁盘,用

25、于收容I/O设备输入的数据。输出井模拟脱机输出时的磁盘,用于收容用户程序的输出数据。(2)输入缓冲区和输出缓冲区:这是在内存中开辟的两个缓冲取区。输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。输出缓冲区用于暂存从输出井送来的数据,以后再传送到输出设备。斯普林系统示意图输入进程SPi输入进程SPo输入缓冲区Bi输出缓冲区Bo输入井输出井磁盘输入设备输出设备(3)输入进程和输出进程: 输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井。当CPU需要输入数据时,直接从输入井读如内存。输出进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从内存送

26、到输入井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上。实现Spooling系统要设计的程序及功能 Spooling系统由三部分程序组成,即:预输入程序、井管理程序、缓输出程序。在作业执行前,操作系统已将作业信息通过独占设备预先输入到辅助存储器上存放,称为预输入,此后,作业执行使用数据时不必再启动独占设备输入,而只要从辅助存储器上输入。作业执行中也不必直接启动独占设备输出数据,而只要将输出数据写入辅助存储器。由操作系统来组织信息的输出,称为缓输出。井管理程序则实现输入井读和输出井写。共享打印机共享打印机是SPOOLing技术的典型实例。打印机属于独享设备,当用户进程请求打印

27、输出时,Spooling系统同意打印输出,但并不真正把打印机分配给该用户进程。 用户请求打印后: 1.将打印数据输出到输出井申请的空闲盘块中。 2.将打印请求登记后,排到打印队列。如果还有进程要求打印输出,系统仍可以接受该请求,同样做上面的工作。 3.打印机空闲时,首取第一张请求表,将数据从输出井传送到内存缓冲区,进行打印。如此下去,直至请求队列为空位置,输出进程才将自己阻塞起来,等待下次再由打印请求时才被唤醒。 SPOOLing系统的特点 提高了I/O的速度。 (2) 将独占设备改造为共享设备。 (3) 实现了虚拟设备功能。 CH5、设备管理 习题1在下面的I/O控制方式中,需要CPU干预最

28、少的方式是()。(A)程序I/O方式(B)中断驱动I/O控制方式 (C)直接存储器访问DMA控制方式(D)I/O通道控制方式2某操作系统中,采用中断驱动I/O控制方式,设中断时,CPU用1ms来处理中断请求,其它时间CPU完全用来计算,若系统时钟中断频率为100HZ ,则,CPU的利用率为( )。(A)60% (B)70% (C)80% (D)90%3下列哪一条不是磁盘设备的特点( )。(A)传输速率较高,以数据块为传输单位 (B)一段时间内只允许一个用户(进程)访问 (C)I/O控制方式常采用DMA方式 (D)可以寻址,随机地读/写任意数据块4利用通道实现了( )之间数据的快速传输。(A)C

29、PU和外设(B)内存和CPU(C)内存和外设(D)外设和外设5假脱机技术中,对打印机的操作实际上是用对磁盘存储实现的,用以替代打印机的部分是指( )。(A)共享设备(B)独占设备(C)虚拟设备(D)物理设备6设从磁盘将一块数据传送到缓冲区所用时间为80s,将缓冲区中数据传送到用户区所用时间为40s,CPU处理数据所用时间为30s,则处理该数据,采用单缓冲传送某磁盘数据,系统所用总时间为( )。(A)120s (B)110s (C)150s (D)70s7下列关于通道、设备、设备控制器三者之间的关系叙述中正确的是( )。(A)设备控制器和通道可以分别控制设备(B)设备控制器控制通道和设备一起工作 (C)通道控制设备控制

温馨提示

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

最新文档

评论

0/150

提交评论