版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统原理Principles of Operating System1第1页,共33页。结合实验浅谈命令行接口的作用。结合实验浅谈图形接口的作用。结合实验浅谈任务管理器。结合实验浅谈资源管理器。结合实验浅谈设备管理器。结合实验浅谈控制面板。结合实验浅谈资源管理。2第2页,共33页。第5章 I/O设备管理计算机系统中的I/O设备种类繁多,结构各异,特性各异,使用方法各异,用途各异。在许多方面它们总是计算机中最慢的部分,操作系统需要控制设备,向应用程序提供各种功能。操作系统I/O子系统的关键目标之一就是向系统的其他部分提供尽可能简单的接口。3第3页,共33页。设备管理的重要性主要体现在以下几点
2、: CPU性能越高,输入输出设备性能同CPU性能不匹配的反差也越大。如何解决这一矛盾,而又尽量不降低处理机的性能。I/O设备千变万化,如何对它们实现统一的管理,从而方便用户使用。I/O设备能否及时将各种信息传送给计算机系统,计算机发出的各种命令能否通过I/O设备及时传送给执行部件。由设备传送的数据应该是安全和保密的,数据不能被破坏或被泄露。多用户多任务环境中的设备使用应该通过协调,避免冲突,不能破坏设备。设备硬件工作过程和各种硬件连接模式的复杂性、多样性导致了整个硬件I/O过程的复杂多样,需要操作系统的进一步配合来达到更高性能。4第4页,共33页。5.1.2 计算机I/O系统结构5第5页,共3
3、3页。按照所属关系,可以将外部设备分为两类:系统设备:系统生成时就已经登记的设备。如键盘、磁盘和显示器等。用户设备:系统生成时未登记的设备。如移动硬盘、扫描仪和数码相机等。按传输的信息特点分类,可以将外部设备分为两类:字符设备。这类设备与内存之间交换信息是以字符为单位来进行的。如键盘、鼠标等。块设备。这类设备与内存之间交换信息是以块为单位来进行的。如磁盘、磁带、光盘等。网络设备。网络设备与块设备和字符设备有所区别,用户不能直接把数据交换到网络设备上,必须通过打开内核网络子系统的连接进行间接通信。6第6页,共33页。按照工作和使用特性,可以将外部设备分成:I/O设备:输入设备是计算机用来将信息传
4、送到内存,如键盘,扫描仪,鼠标等。输出设备是将计算机加工处理好的信息从内存传送到设备,如显示器、扫描仪、绘图仪等。I/O设备又分为输入设备、输出设备、输入输出设备3类。存储设备:以存储大容量的信息和快速检索为目标,在系统中作为内存的扩充,又称为外存或者辅存。相对于内存而言,具有容量大,速度慢和价格相对便宜等特点。从资源分配角度,设备可分为以下三类:独占设备:是指在一段时间内只允许一个进程使用的设备。进程使用期间独占该设备,只有当进程将设备释放给操作系统时,才能再将该设备分配给其他进程使用。多数低速字符设备都属于独占设备,如行式打印机等。共享设备:是指一段时间内允许多个进程同时访问的设备。宏观上
5、,多个进程同时使用设备,在微观上,多个进程在交替地访问设备。共享设备必须是可寻址的和可随机访问的设备。典型的共享设备是磁盘。虚拟设备:以大容量的外存为支持,通过虚拟技术将一台独占设备改造成能被多个进程共享的设备,以提高设备的利用率。这种经过虚拟技术改造后的设备,是一种逻辑上的,概念上的设备,我们称为虚拟设备。7第7页,共33页。5.1.4 设备管理的基本功能缓冲管理: CPU与设备之间、设备与设备之间交换信息时,都要利用缓冲区来缓解速度不匹配的矛盾,提高CPU与设备之间、设备与设备之间操作的并行程度。设备分配:系统根据进程所请求的设备类型,按分配算法对设备和设备相应的控制器和通道进行分配,建立
6、从设备到内存之间传输信息的通路。在进程的I/O完成后,系统应及时回收设备,以便重新分配给其他进程使用。将未获得所需设备的进程放进相应设备的等待队列。设备驱动:逻辑设备名转换成设备的物理地址,启动指定的I/O设备,完成程序规定的I/O操作,并对由设备发来的中断请求进行及时响应,根据中断类型进行相应的处理。设备无关性:用户在编制程序时,应尽量避免直接使用实际的设备名而使用逻辑设备名。这样,有利于解决设备的故障和增加设备分配的灵活性。虚拟设备:把一次仅允许一个进程使用的设备称为独占设备。独占设备使得系统效率很低,并且可能产生死锁。以大容量外存为支持,通过虚拟技术将一台独占设备改造成能被多个进程共享的
7、设备,以提高设备的利用率。这种经过虚拟技术改造后的设备,即逻辑上的设备称为虚拟设备。8第8页,共33页。5.2.1程序I/O控制寄存器有几个重要的信息位:启动位、完成位、忙位。当用户进程需要输入数据时,由处理机向设备控制器发出一条I/O指令,启动设备进行输入;在设备输入数据期间,处理机通过循环执行测试指令不间断地检测设备状态寄存器的值,当状态寄存器的值显示设备输入完成时,处理机将数据寄存器中的数据取出,送入内存指定单元,然后再启动设备读下一个数据。反之,当用户进程需要向设备输出数据时,同样必须用启动命令启动设备输出,并等待输出操作完成。程序直接控制方式的工作过程非常简单,但在循环测试中浪费了大
8、量的CPU处理时间,所以CPU的利用率相当低。9第9页,共33页。5.2.2中断技术采用中断控制方式具有以下好处:CPU与外设在大部分时间内并行工作,有效地提高了计算机的效率。CPU启动外设后,不需要查询其工作状态,可继续执行主程序,因此两者可并行工作。等外设将数据准备好后,主动申请中断CPU的工作,请求服务。具有实时响应能力,可适用于实时控制场合。外部中断源始终处于主动地位,随时可请求CPU为其服务。可保证实时控制中现场的许多实时信息随时得到响应。及时处理异常情况,提高计算机的可靠性。计算机在运行过程中,有可能出现一些意想不到的情况或发生一些故障。利用中断功能就可以及时进行处理,而不至于造成
9、无可挽回的局面。10第10页,共33页。中断控制方式的处理过程如下:CPU通过总线发出命令,启动外设工作,当前进程阻塞,调度程序调度其他进程。外设数据准备好,将中断请求触发器置位。若此时接口中断屏蔽触发器状态为非屏蔽状态,则接口向CPU发中断请求(IR)。CPU接受中断请求,且中断为允许中断状态,则中断判优电路工作。中断判优电路对优先级最高的中断请求给予响应,CPU中断正在执行的其他进程,转而执行中断服务程序。在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去做些中断处理。可见,这样可使CPU和I/O设备都处
10、于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。11第11页,共33页。5.2.3 DMA技术用中断方式交换数据时,每处理一次I/O数据交换,都会耗去一定的CPU处理时间,对于一些高速的外围设备,以及成组交换数据的情形来说,仍然显得速度太慢。采用DMA方式可以解决这一问题。DMA是直接存储器存取(Direct Memory Access,DMA)的缩写,它是一种完全由硬件执行I/O数据交换的工作方式。在这种方式中,DMA控制器(DMAC)从CPU完全接管对总线的控制,数据交换不经过CPU而直接在内存和I/O设备之间进行。采用DMA方式工作时,由DMA控制器向内存发出地址和控制信号,进行地址
11、修改,对传送字的个数计数,并且以中断方式向CPU报告传送操作结束。DMA方式的数据传送结构如图所示。12第12页,共33页。DMA方式的数据块传送过程可分为三个阶段:传送前预处理、数据传送、传送后处理。预处理阶段:由CPU执行I/O指令,对DMAC进行初始化与启动。数据传送阶段:由DMAC控制总线进行数据传送。当外设数据准备好后,发DMA请求,CPU当前机器周期结束,响应DMA,DMAC从CPU接管总线的控制权,完成对内存寻址,决定数据传送的内存单元地址,对数据传送字进行计数,执行数据传送的操作。后处理阶段:传送结束,DMAC向CPU发中断请求,报告DMA操作结束。CPU响应,转入中断服务程序
12、,完成DMA结束处理工作,包括校验数据,决定是否结束传送等。DMA方式优缺点如下:优点:操作均由硬件电路实现,传输速度快,CPU仅在初始化和结束时参与,基本上不干预数据传送,可以减少大批量数据传输时CPU的开销;CPU与外设并行工作,效率高。缺点:DMA方式也有一定的局限性,这是因为DMA方式在初始化和结束时仍由CPU控制,DMA方式窃取了CPU的时钟周期,使得CPU处理的效率下降,为此可以采用CPU和DMA交替访问内存的方法,通过硬件线路分时地控制这两者对总线的使用权,来提高整个系统的效率。13第13页,共33页。5.2.4通道技术现代大、中型计算机系统中设置了专门的处理I/O操作的处理机,
13、并把这种处理机称为通道(Channel)。 字节多路通道字节多路通道是一种简单的共享通道,适用于连接慢速的字符设备,如打印机、终端等设备。字节多路通道在时间片分时的基础上为多台低速和中速设备服务,它的主要特点是:各设备与通道之间的数据传送是以字节为单位交替进行的,各设备轮流占用一个很短的时间片,不同的设备在各自的时间片内经过通道执行各自的数据传送操作。选择通道选择通道是一种高速通道,适用于连接高速I/O设备,如磁盘、磁带等,信息以数据块为单位高速传输。在物理上它可以连接多个设备,但是这些设备不能同时工作。在某一段时间内,通道只能选择一个设备进行工作,即使暂时出现空闲,也不允许其他设备使用,直到
14、该设备传送完成后才让出通道。选择通道的优点是以数据块为单位进行传输,传输率高;缺点是通道利用率低。14第14页,共33页。数组多路通道数组多路通道是对选择通道的一种改进,综合了字节多路通道分时工作和选择通道传送速率高的特点。适用于连接高速I/O设备,如磁盘、磁带等。数组多路通道的工作原理如下:当某设备进行数据传送时,通道只为该设备服务;当设备在执行寻址等控制性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为其他设备服务,即执行其他设备的通道程序。其优点是同选择通道一样,以数据块为单位进行传输,传输率高。同时又具有多路并行操作的能力,通道利用率高。缺点是控制复杂。通道是一个特殊功
15、能的处理机,它有自己的指令和程序,可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。通道的工作过程为:根据CAW,从内存取出通道指令,送入通道控制字寄存器(CCW),并修改CAW,使其指向下一条通道指令。执行CCW中的通道指令,进行实际的I/O操作,执行完毕后,如果还有下一条指令,则返回前一步,否则转下一步。发出中断信号通知CPU通道程序已执行完成。15第15页,共33页。5.3缓冲管理在现代操作系统中,几乎所有的I/O设备在与内存交换数据时,都使用缓冲区。缓冲是用来平滑I/O请求的峰值的一种技术,引入缓冲的主要原因是:改善CPU与I/O设备之间速度不匹配和负荷不均衡的矛盾。减少对C
16、PU的中断频率,放宽对中断响应时间的限制。以空间换取时间,提高CPU和I/O设备之间的并行性。在设备使用不均衡时缓冲区起到平滑作用。16第16页,共33页。5.3.2缓冲区的种类1.单缓冲单缓冲是操作系统提供的最简单的缓冲区形式,单缓冲(single buffering)是I/O设备与内存之间共用一个缓冲区的缓冲技术。如图所示,给出了使用单缓冲和不使用缓冲之间的性能比较。假设T是输入一块所需要的时间,C是输入请求之间的计算时间。如果没有缓冲,每块的执行时间为T+C。如果有一个缓冲区执行时间为maxT,C+M,其中M是把数据从系统缓冲区移到用户存储空间所需要的时间。我们可以得出结论使用单缓冲系统
17、比不使用缓冲系统的效率高。单缓冲(Single Buffer)是I/O设备与内存之间共用一个缓冲区的缓冲技术。它适用于数据的到达率与离去率相差很大的情况下。缓冲区被看作临界资源,对缓冲区的读/写操作要互斥进行。 17第17页,共33页。2.双缓冲对于面向块的传送,我们可以粗略地估计执行时间为maxT,C。因此,如果CT,就有可能使面向块的设备全速进行;另一方面,如果CT,双缓冲能确保该进程不需要等待I/O。在任何一种情况下,比单缓冲都有所提高。两个缓冲区交替使用,使CPU与I/O设备并行性进一步提高。双缓冲(Double Buffer)是为I/O设备与内存之间分配两个缓冲区的缓冲技术。在输入数
18、据时,输入设备先填满缓冲区1,进程从缓冲区1取走数据的同时,输入设备继续填充缓冲区2。当缓冲区1空出来时,进程又可以从缓冲区2得到数据。两个缓冲区交替使用,使CPU与I/O设备并行性进一步提高。如果数据的到达率和离去率相差不太大时,利用双缓冲技术效果非常好。 18第18页,共33页。3.循环缓冲双缓冲方案可以平滑I/O设备和进程之间的数据流。如果某个特定进程的性能是关注的焦点,常常会希望相关I/O操作能够跟得上这个进程。如果进程突然快速执行大量的I/O,仅有双缓冲就不够了,在这种情况下,如图5-7所示,通常使用多个缓冲区来解决这个问题。这组缓冲区自身被称作循环缓冲区(circular buff
19、ering),其中的每一个缓冲区是这个循环缓冲区的一个单元。通常系统输入输出数据的特征为阵发性和随机性。在这种情况下,双缓冲的效果则不够理想,但可以增加缓冲区数量而使情况有所改善。因此,引入了多缓冲,并将多缓冲组织成循环缓冲(Circular Buffer)形式。 19第19页,共33页。5.4 设备的分配5.4.1设备分配中的数据结构5.4.2设备分配的原则 独占设备的分配将一台独占设备分配给某个进程后,便一直由该进程独占,直至该进程完成并释放设备为止。在该进程占用这个设备期间,即使设备空置不用,也不能再让别的进程使用。独占设备每次只能分配给一个进程使用,这种使用特性隐含着死锁的必要条件,所
20、以在考虑独占设备的分配时,一定要结合有关防止和避免死锁的安全算法。20第20页,共33页。用户使用独占设备的活动如下:申请使用释放。申请,系统将设备分配给申请进程,具体方法如下:根据申请的设备类型查询系统设备表,找到对应入口。P(Sm)。查找对应的设备表,找到一个空闲设备并分配。使用,系统将转到设备驱动程序完成一次I/0传输。释放,系统将设备从占有进程收回,具体方法如下:根据释放设备类型查询系统设备表,找到对应入口。查找对应的设备表,找到要释放的设备并释放。V(Sm)。21第21页,共33页。2.共享设备的使用共享设备可由多个进程同时共享的设备,例如硬盘。共享设备大多是高速、大容量的直接存取存
21、储设备。这类设备不必分配,由多个进程同时使用。用户进程对共享设备的使用,一般以文件方式存取。因此,通过文件系统可以实现按名来存取共享设备上的信息。虚拟设备的使用虚拟设备技术可以就把独占设备改造成了共享设备,通过快速的共享的设备,把一台低速物理独占设备改造成为若干台虚拟的同类设备。从用户观点看,每个用户都感到是系统为自己提供了一台物理设备似的。因为虚拟设备已属于共享设备,因而也可采用共享策略,让多个进程同时使用。22第22页,共33页。5.4.4 设备分配策略与进程的调度相似,设备的分配也需要一定的策略,通常采用先来先服务和高优先级优先等策略。先来先服务就是当多个进程同时对一个设备提出I/0请求
22、时,系统按照进程提出请求的先后次序,把它们排成一个设备请求队列,并且总是把设备首先分配给排在队首的进程使用。高优先级优先就是给每个进程提出的I/O请求分配一个优先级,在设备请求队列中把优先级高的请求排在前面,系统在设备空闲时,总是从队首取下最高优先级进程发出的I/O请求进行设备分配。这与进程调度的优先算法是一致的。即进程的优先级高,它的I/O请求优先级也优先予以满足,显然有助于该进程尽快完成,从而尽早释放它所占有的系统资源。对于优先级相同的I/O请求,则按先请求先服务的原则排队。23第23页,共33页。5.5虚拟设备虚拟设备就是将一台独占设备改造成共享设备的一种行之有效的技术。这种技术是利用共
23、享设备的空间,模拟独占设备的功能。通过快速的共享的设备,把一台低速独占设备改造成为多台虚拟的同类设备,这种经过虚拟技术改造后的设备,是一种逻辑上的,概念上的设备,我们称为虚拟设备。 24第24页,共33页。5.5.1 虚拟光驱虚拟光驱(Virtual Drive)技术是利用硬盘的空间,模拟光驱的功能。它可以在系统中创建多个逻辑光驱。虚拟光驱具有读盘速度快,无磨损,使用方便等特点。虚拟光驱主要有两部分组成的:虚拟光驱控制进程是虚拟光驱的技术核心。硬盘光盘柜,存放虚拟光驱文件(*.VCD)。虚拟光驱具体工作过程如下:启动虚拟光驱控制进程。将经常使用的光盘上软件和资料压缩成一个虚拟光驱文件(*.VC
24、D)存放在硬盘光盘柜里。当以后要使用此光盘的应用程序时,不必再将光盘放入物理光驱中(没有物理光驱亦可执行),更不需要等待光驱的缓慢启动,只需将虚拟光碟(虚拟光驱文件)载入虚拟逻辑光驱中即可执行,既快速又方便。25第25页,共33页。5.5.2 SPOOLing技术(Simultaneous Peripheral Operations OnLine)技术。SPOOLing也称作假脱机操作。 在多个进程并发环境中,可利用其中一个进程来模拟输入时的外围控制机的功能,控制低速I/O设备把输入数据传送到高速磁盘上,供进程输入时快速提取。用另一个进程来模拟输出时外围控制机的功能,把用户程序的输出数据传送到
25、高速磁盘上,从磁盘传送到低速的输出设备上。这样,便可在主机的直接控制下,实现了SPOOLing输入、输出功能。此时的外围操作与CPU对数据的处理同时进行,这就是在联机情况下实现的外围设备同时在线操作。26第26页,共33页。5.5.3 SPOOLing的组成27第27页,共33页。SPOOLing系统主要有以下几部分组成:在共享设备的空间上开辟输入井和输出井两个大存储空间;SPOOLing输入值班进程SPi和输出值班进程SPo;SPOOLing目录。输入井和输出井输入井用于收容I/O设备的输入数据,当SPOOLing输入时为用户进程提供输入数据。输出井用于收容用户进程的输出数据,当SPOOLi
26、ng输出时为输出设备提供输出数据。SPOOLing值班进程SPOOLing值班进程即输入值班进程SPi和输出值班进程SPo。输入值班进程SPi模拟SPOOLing输入时的外围控制机的功能。控制输入设备把用户的数据传送到输入井中,当用户进程需要输入数据时,直接将输入井中预存的输入数据读入内存,提供给用户进程使用。输出值班进程SPo模拟SPOOLing输出时的外围控制机的功能。把用户进程的输出数据传送到输出井中,形成输出请求队列。控制输出井中的数据经输出缓冲区传送到低速的输出设备。创建SPOOLing目录创建SPOOLing目录,登记SPOOLing数据文件,SPOOLing目录里的输入请求文件和
27、输出请求文件分别存放在输入井和输出井中。28第28页,共33页。打印机是一种典型的独占设备,一个进程打开了它,将会很长时间使用它,这样导致其他进程都无法使用这台打印机打印。SPOOLing技术可将打印机改造成可供多个用户使用的共享设备。SPOOLing创建一个特殊值班进程,以及一个特殊SPOOLing目录。当用户进程请求打印输出时,操作系统并不真正把打印机分配给该进程,由输出值班进程(SPo)在输出井中为之申请一个空闲区,生成整个要打印的文件,并将要打印的数据写入输出井中。再将该表放入SPOOLing目录的请求打印队列。经过上述处理,用户进程的打印输出在逻辑上已经完成,用户进程继续执行,不必等
28、待真正打印的过程的完成。29第29页,共33页。复习思考题一 选择题1.CPU输出数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用。A.并行技术 B.通道技术 C.缓冲技术 D.需存技术2.操作系统中采用缓冲技术的目的是为了增强系统的能力。A.串行操作 B.并行操作 C.控制操作 D.中断操作3.为了使多个进程能有效地同时处理输入和输出,最好使用。A.缓冲池 B.单缓冲 C.双缓冲 D.循环缓冲4.通过硬件和软件的功能扩充,把原来独立的设备改造成能为若干个进程共享的设备,这种设备称为。A.存储设备 B.系统设备 C.用户设备 D.虚拟设备5.从下面关于设备独立性的论述中选择一条正确
29、的论述。A.设备独立性是指IO设备具有独立执行IO功能的一种特性。B.设备独立性是指用户程序独立于具体使用的物理设备的一种特性。C.设备独立性是指能独立实现设备共享的一种特性。D.设备独立性是指设备驱动程序独立于具体使用的物理设备的一种特性。30第30页,共33页。6.设备独立性是指无关。A.程序与设备 B.设备与设备 C.通道与设备 D.设备与CPU7.虚拟设备是通过技术实现的。A.通道 B.SPOOLing C.并行 D.虚拟存储8.为实现设备分配,应为每个设备设置一张,在系统中配置一张;为实现设备独立性,系统中应设置一张。A.设备控制表 B.控制器控制表 C.系统设备表D.设备分配表 E.逻辑设备表 F.设备分配表9.从下面关于虚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年全国企业员工全面质量管理知识竞赛测试卷及参考答案
- 2026年国家职业资格练习题中级汽车维修工练习题库及答案
- 高职工程监理专业二年级《大型火电建设工程监理实务:基于“东方电厂二期”的案例精析与能力整合》教学设计
- 大学一年级职业规划课程:高效自我介绍结构设计教案
- 小学六年级数学上册《圆的认识(一)》基于核心素养导向的深度学习教学设计
- 初中七年级地理《巴西》大单元教学设计与实施教案
- 临床医学专业本科《妇产科学》功能失调性子宫出血(上)教案
- 初中化学九年级上册第三单元课题1《分子和原子》高阶思维课堂教学设计
- 小学英语三年级上册Unit4WeloveanimalsPartALetslearn词
- 小学数学五年级上册《含字母式子的求值》教学设计
- 诊所医学检验科工作制度
- 心房颤动诊断和治疗中国指南
- 2025年香港苏浙公学笔试面试及答案
- 海军与海洋知识进校园
- 液冷技术原理介绍
- 人教部编版道德与法治五年级下册期末综合测试卷含答案5
- 屋顶sbs防水施工方案
- 2026年大学生心理健康教育考试题库附答案【考试直接用】
- 技师专业论文撰写指南
- 防水材料销售培训课件
- 新版中华民族共同体概论课件第十二讲民族危亡与中华民族意识觉醒(1840-1919)-2025年版
评论
0/150
提交评论