版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统原理
PrinciplesofOperatingSystem
1结合实验浅谈命令行接口的作用。结合实验浅谈图形接口的作用。结合实验浅谈任务管理器。结合实验浅谈资源管理器。结合实验浅谈设备管理器。结合实验浅谈控制面板。结合实验浅谈资源管理。2第5章I/O设备管理
计算机系统中的I/O设备种类繁多,结构各异,特性各异,使用方法各异,用途各异。在许多方面它们总是计算机中最慢的部分,操作系统需要控制设备,向应用程序提供各种功能。操作系统I/O子系统的关键目标之一就是向系统的其他部分提供尽可能简单的接口。3设备管理的重要性主要体现在以下几点:
①CPU性能越高,输入输出设备性能同CPU性能不匹配的反差也越大。如何解决这一矛盾,而又尽量不降低处理机的性能。②I/O设备千变万化,如何对它们实现统一的管理,从而方便用户使用。③I/O设备能否及时将各种信息传送给计算机系统,计算机发出的各种命令能否通过I/O设备及时传送给执行部件。④由设备传送的数据应该是安全和保密的,数据不能被破坏或被泄露。多用户多任务环境中的设备使用应该通过协调,避免冲突,不能破坏设备。设备硬件工作过程和各种硬件连接模式的复杂性、多样性导致了整个硬件I/O过程的复杂多样,需要操作系统的进一步配合来达到更高性能。45.1.2计算机I/O系统结构
5⑴按照所属关系,可以将外部设备分为两类:①系统设备:系统生成时就已经登记的设备。如键盘、磁盘和显示器等。②用户设备:系统生成时未登记的设备。如移动硬盘、扫描仪和数码相机等。⑵按传输的信息特点分类,可以将外部设备分为两类:①字符设备。这类设备与内存之间交换信息是以字符为单位来进行的。如键盘、鼠标等。②块设备。这类设备与内存之间交换信息是以块为单位来进行的。如磁盘、磁带、光盘等。③网络设备。网络设备与块设备和字符设备有所区别,用户不能直接把数据交换到网络设备上,必须通过打开内核网络子系统的连接进行间接通信。65.2.1程序I/O
控制寄存器有几个重要的信息位:启动位、完成位、忙位。当用户进程需要输入数据时,由处理机向设备控制器发出一条I/O指令,启动设备进行输入;在设备输入数据期间,处理机通过循环执行测试指令不间断地检测设备状态寄存器的值,当状态寄存器的值显示设备输入完成时,处理机将数据寄存器中的数据取出,送入内存指定单元,然后再启动设备读下一个数据。反之,当用户进程需要向设备输出数据时,同样必须用启动命令启动设备输出,并等待输出操作完成。程序直接控制方式的工作过程非常简单,但在循环测试中浪费了大量的CPU处理时间,所以CPU的利用率相当低。95.2.2中断技术
采用中断控制方式具有以下好处:①CPU与外设在大部分时间内并行工作,有效地提高了计算机的效率。CPU启动外设后,不需要查询其工作状态,可继续执行主程序,因此两者可并行工作。等外设将数据准备好后,主动申请中断CPU的工作,请求服务。②具有实时响应能力,可适用于实时控制场合。外部中断源始终处于主动地位,随时可请求CPU为其服务。可保证实时控制中现场的许多实时信息随时得到响应。③及时处理异常情况,提高计算机的可靠性。计算机在运行过程中,有可能出现一些意想不到的情况或发生一些故障。利用中断功能就可以及时进行处理,而不至于造成无可挽回的局面。10中断控制方式的处理过程如下:①CPU通过总线发出命令,启动外设工作,当前进程阻塞,调度程序调度其他进程。②外设数据准备好,将中断请求触发器置位。③若此时接口中断屏蔽触发器状态为非屏蔽状态,则接口向CPU发中断请求(IR)。④CPU接受中断请求,且中断为允许中断状态,则中断判优电路工作。⑤中断判优电路对优先级最高的中断请求给予响应,CPU中断正在执行的其他进程,转而执行中断服务程序。在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去做些中断处理。可见,这样可使CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。115.2.3DMA技术
用中断方式交换数据时,每处理一次I/O数据交换,都会耗去一定的CPU处理时间,对于一些高速的外围设备,以及成组交换数据的情形来说,仍然显得速度太慢。采用DMA方式可以解决这一问题。DMA是直接存储器存取(DirectMemoryAccess,DMA)的缩写,它是一种完全由硬件执行I/O数据交换的工作方式。在这种方式中,DMA控制器(DMAC)从CPU完全接管对总线的控制,数据交换不经过CPU而直接在内存和I/O设备之间进行。采用DMA方式工作时,由DMA控制器向内存发出地址和控制信号,进行地址修改,对传送字的个数计数,并且以中断方式向CPU报告传送操作结束。DMA方式的数据传送结构如图所示。12DMA方式的数据块传送过程可分为三个阶段:传送前预处理、数据传送、传送后处理。①预处理阶段:由CPU执行I/O指令,对DMAC进行初始化与启动。②数据传送阶段:由DMAC控制总线进行数据传送。当外设数据准备好后,发DMA请求,CPU当前机器周期结束,响应DMA,DMAC从CPU接管总线的控制权,完成对内存寻址,决定数据传送的内存单元地址,对数据传送字进行计数,执行数据传送的操作。③后处理阶段:传送结束,DMAC向CPU发中断请求,报告DMA操作结束。CPU响应,转入中断服务程序,完成DMA结束处理工作,包括校验数据,决定是否结束传送等。DMA方式优缺点如下:优点:操作均由硬件电路实现,传输速度快,CPU仅在初始化和结束时参与,基本上不干预数据传送,可以减少大批量数据传输时CPU的开销;CPU与外设并行工作,效率高。缺点:DMA方式也有一定的局限性,这是因为DMA方式在初始化和结束时仍由CPU控制,DMA方式窃取了CPU的时钟周期,使得CPU处理的效率下降,为此可以采用CPU和DMA交替访问内存的方法,通过硬件线路分时地控制这两者对总线的使用权,来提高整个系统的效率。135.2.4通道技术
现代大、中型计算机系统中设置了专门的处理I/O操作的处理机,并把这种处理机称为通道(Channel)。①字节多路通道字节多路通道是一种简单的共享通道,适用于连接慢速的字符设备,如打印机、终端等设备。字节多路通道在时间片分时的基础上为多台低速和中速设备服务,它的主要特点是:各设备与通道之间的数据传送是以字节为单位交替进行的,各设备轮流占用一个很短的时间片,不同的设备在各自的时间片内经过通道执行各自的数据传送操作。②选择通道选择通道是一种高速通道,适用于连接高速I/O设备,如磁盘、磁带等,信息以数据块为单位高速传输。在物理上它可以连接多个设备,但是这些设备不能同时工作。在某一段时间内,通道只能选择一个设备进行工作,即使暂时出现空闲,也不允许其他设备使用,直到该设备传送完成后才让出通道。选择通道的优点是以数据块为单位进行传输,传输率高;缺点是通道利用率低。14③数组多路通道数组多路通道是对选择通道的一种改进,综合了字节多路通道分时工作和选择通道传送速率高的特点。适用于连接高速I/O设备,如磁盘、磁带等。数组多路通道的工作原理如下:当某设备进行数据传送时,通道只为该设备服务;当设备在执行寻址等控制性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为其他设备服务,即执行其他设备的通道程序。其优点是同选择通道一样,以数据块为单位进行传输,传输率高。同时又具有多路并行操作的能力,通道利用率高。缺点是控制复杂。通道是一个特殊功能的处理机,它有自己的指令和程序,可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。通道的工作过程为:①根据CAW,从内存取出通道指令,送入通道控制字寄存器(CCW),并修改CAW,使其指向下一条通道指令。②执行CCW中的通道指令,进行实际的I/O操作,执行完毕后,如果还有下一条指令,则返回前一步,否则转下一步。③发出中断信号通知CPU通道程序已执行完成。155.3缓冲管理
在现代操作系统中,几乎所有的I/O设备在与内存交换数据时,都使用缓冲区。缓冲是用来平滑I/O请求的峰值的一种技术,引入缓冲的主要原因是:①改善CPU与I/O设备之间速度不匹配和负荷不均衡的矛盾。②减少对CPU的中断频率,放宽对中断响应时间的限制。③以空间换取时间,提高CPU和I/O设备之间的并行性。④在设备使用不均衡时缓冲区起到平滑作用。165.3.2缓冲区的种类
1.单缓冲单缓冲是操作系统提供的最简单的缓冲区形式,单缓冲(singlebuffering)是I/O设备与内存之间共用一个缓冲区的缓冲技术。如图所示,给出了使用单缓冲和不使用缓冲之间的性能比较。假设T是输入一块所需要的时间,C是输入请求之间的计算时间。如果没有缓冲,每块的执行时间为T+C。如果有一个缓冲区执行时间为max[T,C]+M,其中M是把数据从系统缓冲区移到用户存储空间所需要的时间。我们可以得出结论使用单缓冲系统比不使用缓冲系统的效率高。单缓冲(SingleBuffer)是I/O设备与内存之间共用一个缓冲区的缓冲技术。它适用于数据的到达率与离去率相差很大的情况下。缓冲区被看作临界资源,对缓冲区的读/写操作要互斥进行。172.双缓冲对于面向块的传送,我们可以粗略地估计执行时间为max[T,C]。因此,如果C≤T,就有可能使面向块的设备全速进行;另一方面,如果C>T,双缓冲能确保该进程不需要等待I/O。在任何一种情况下,比单缓冲都有所提高。两个缓冲区交替使用,使CPU与I/O设备并行性进一步提高。双缓冲(DoubleBuffer)是为I/O设备与内存之间分配两个缓冲区的缓冲技术。在输入数据时,输入设备先填满缓冲区1,进程从缓冲区1取走数据的同时,输入设备继续填充缓冲区2。当缓冲区1空出来时,进程又可以从缓冲区2得到数据。两个缓冲区交替使用,使CPU与I/O设备并行性进一步提高。如果数据的到达率和离去率相差不太大时,利用双缓冲技术效果非常好。183.循环缓冲双缓冲方案可以平滑I/O设备和进程之间的数据流。如果某个特定进程的性能是关注的焦点,常常会希望相关I/O操作能够跟得上这个进程。如果进程突然快速执行大量的I/O,仅有双缓冲就不够了,在这种情况下,如图5-7所示,通常使用多个缓冲区来解决这个问题。这组缓冲区自身被称作循环缓冲区(circularbuffering),其中的每一个缓冲区是这个循环缓冲区的一个单元。通常系统输入输出数据的特征为阵发性和随机性。在这种情况下,双缓冲的效果则不够理想,但可以增加缓冲区数量而使情况有所改善。因此,引入了多缓冲,并将多缓冲组织成循环缓冲(CircularBuffer)形式。195.4设备的分配
5.4.1设备分配中的数据结构5.4.2设备分配的原则⒈独占设备的分配将一台独占设备分配给某个进程后,便一直由该进程独占,直至该进程完成并释放设备为止。在该进程占用这个设备期间,即使设备空置不用,也不能再让别的进程使用。独占设备每次只能分配给一个进程使用,这种使用特性隐含着死锁的必要条件,所以在考虑独占设备的分配时,一定要结合有关防止和避免死锁的安全算法。20用户使用独占设备的活动如下:申请→使用→释放。⑴申请,系统将设备分配给申请进程,具体方法如下:①根据申请的设备类型查询系统设备表,找到对应入口。②P(Sm)。③查找对应的设备表,找到一个空闲设备并分配。⑵使用,系统将转到设备驱动程序完成一次I/0传输。⑶释放,系统将设备从占有进程收回,具体方法如下:①根据释放设备类型查询系统设备表,找到对应入口。②查找对应的设备表,找到要释放的设备并释放。③V(Sm)。212.共享设备的使用共享设备可由多个进程同时共享的设备,例如硬盘。共享设备大多是高速、大容量的直接存取存储设备。这类设备不必分配,由多个进程同时使用。用户进程对共享设备的使用,一般以文件方式存取。因此,通过文件系统可以实现按名来存取共享设备上的信息。⒊虚拟设备的使用 虚拟设备技术可以就把独占设备改造成了共享设备,通过快速的共享的设备,把一台低速物理独占设备改造成为若干台虚拟的同类设备。从用户观点看,每个用户都感到是系统为自己提供了一台物理设备似的。因为虚拟设备已属于共享设备,因而也可采用共享策略,让多个进程同时使用。225.4.4设备分配策略与进程的调度相似,设备的分配也需要一定的策略,通常采用先来先服务和高优先级优先等策略。先来先服务就是当多个进程同时对一个设备提出I/0请求时,系统按照进程提出请求的先后次序,把它们排成一个设备请求队列,并且总是把设备首先分配给排在队首的进程使用。高优先级优先就是给每个进程提出的I/O请求分配一个优先级,在设备请求队列中把优先级高的请求排在前面,系统在设备空闲时,总是从队首取下最高优先级进程发出的I/O请求进行设备分配。这与进程调度的优先算法是一致的。即进程的优先级高,它的I/O请求优先级也优先予以满足,显然有助于该进程尽快完成,从而尽早释放它所占有的系统资源。对于优先级相同的I/O请求,则按先请求先服务的原则排队。235.5虚拟设备虚拟设备就是将一台独占设备改造成共享设备的一种行之有效的技术。这种技术是利用共享设备的空间,模拟独占设备的功能。通过快速的共享的设备,把一台低速独占设备改造成为多台虚拟的同类设备,这种经过虚拟技术改造后的设备,是一种逻辑上的,概念上的设备,我们称为虚拟设备。24
5.5.1虚拟光驱虚拟光驱(VirtualDrive)技术是利用硬盘的空间,模拟光驱的功能。它可以在系统中创建多个逻辑光驱。虚拟光驱具有读盘速度快,无磨损,使用方便等特点。虚拟光驱主要有两部分组成的:①虚拟光驱控制进程是虚拟光驱的技术核心。②硬盘光盘柜,存放虚拟光驱文件(*.VCD)。虚拟光驱具体工作过程如下:启动虚拟光驱控制进程。将经常使用的光盘上软件和资料压缩成一个虚拟光驱文件(*.VCD)存放在硬盘光盘柜里。当以后要使用此光盘的应用程序时,不必再将光盘放入物理光驱中(没有物理光驱亦可执行),更不需要等待光驱的缓慢启动,只需将虚拟光碟(虚拟光驱文件)载入虚拟逻辑光驱中即可执行,既快速又方便。255.5.2SPOOLing技术
(SimultaneousPeripheralOperationsOnLine)技术。SPOOLing也称作假脱机操作。在多个进程并发环境中,可利用其中一个进程来模拟输入时的外围控制机的功能,控制低速I/O设备把输入数据传送到高速磁盘上,供进程输入时快速提取。用另一个进程来模拟输出时外围控制机的功能,把用户程序的输出数据传送到高速磁盘上,从磁盘传送到低速的输出设备上。这样,便可在主机的直接控制下,实现了SPOOLing输入、输出功能。此时的外围操作与CPU对数据的处理同时进行,这就是在联机情况下实现的外围设备同时在线操作。265.5.3SPOOLing的组成
27SPOOLing系统主要有以下几部分组成:在共享设备的空间上开辟输入井和输出井两个大存储空间;SPOOLing输入值班进程SPi和输出值班进程SPo;SPOOLing目录。①输入井和输出井输入井用于收容I/O设备的输入数据,当SPOOLing输入时为用户进程提供输入数据。输出井用于收容用户进程的输出数据,当SPOOLing输出时为输出设备提供输出数据。②SPOOLing值班进程SPOOLing值班进程即输入值班进程SPi和输出值班进程SPo。输入值班进程SPi模拟SPOOLing输入时的外围控制机的功能。控制输入设备把用户的数据传送到输入井中,当用户进程需要输入数据时,直接将输入井中预存的输入数据读入内存,提供给用户进程使用。输出值班进程SPo模拟SPOOLing输出时的外围控制机的功能。把用户进程的输出数据传送到输出井中,形成输出请求队列。控制输出井中的数据经输出缓冲区传送到低速的输出设备。③创建SPOOLing目录创建SPOOLing目录,登记SPOOLing数据文件,SPOOLing目录里的输入请求文件和输出请求文件分别存放在输入井和输出井中。28打印机是一种典型的独占设备,一个进程打开了它,将会很长时间使用它,这样导致其他进程都无法使用这台打印机打印。SPOOLing技术可将打印机改造成可供多个用户使用的共享设备。SPOOLing创建一个特殊值班进程,以及一个特殊SPOOLing目录。当用户进程请求打印输出时,操作系统并不真正把打印机分配给该进程,由输出值班进程(SPo)在输出井中为之申请一个空闲区,生成整个要打印的文件,并将要打印的数据写入输出井中。再将该表放入SPOOLing目录的请求打印队列。经过上述处理,用户进程的打印输出在逻辑上已经完成,用户进程继续执行,不必等待真正打印的过程的完成。29复习思考题一选择题1.CPU输出数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用___。A.并行技术B.通道技术C.缓冲技术D.需存技术2.操作系统中采用缓冲技术的目的是为了增强系统___的能力。A.串行操作B.并行操作C.控制操作D.中断操作3.为了使多个进程能有效地同时处理输入和输出,最好使用___。A.缓冲池B.单缓冲C.双缓冲D.循环缓冲4.通过硬件和软件的功能扩充,把原来独立的设备改造成能为若干个进程共享的设备,这种设备称为___。A.存储设备B.系统设备C.用户设备D.虚拟设备5.从下面关于设备独立性的论述中选择一条正确的论述。A.设备独立性是指I/O设备具有独立执行I/O功能的一种特性。B.设备独立性是指用户程序独立于具体使用的物理设备的一种特性。C.设备独立性是指能独立实现设备共享的一种特性。D.设备独立性是指设备驱动程序独立于具体使用的物理设备的一种特性。306.设备独立性是指___无关。A.程序与设备B.设备与设备C.通道与设备D.设备与CPU7.虚拟设备是通过___技术实现的。A.通道B.SPOOLingC.并行D.虚拟存储8.为实现设备分配,应为每个设备设置一张___,在系统中配置一张___;为实现设备独立性,系统中应设置一张___。A.设备控制表B.控制器控制表C.系统设备表D.设备分配表E.逻辑设备表F.设备分配表9.从下面关于虚拟设备的论述中选择一条正确的论述。A.虚拟设备是指允许用户使用比系统中具有的物理设备更多的设备。B.虚拟设备是指允许用户以标准方式来使用物理设备。C.虚拟设备是指把一个物理设备变换成多个对应的逻辑设备。D.虚拟设备是指允许用户程序不必全部装入内存就可使用系统中的设备。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钢铁行业保安工作总结
- 点滴关怀感染科护士总结
- 科技在前台工作中的应用计划
- 网络科技行业客服工作总结
- 2024年税务师题库带答案(典型题)
- 2024年设备监理师考试题库及答案4
- 2024年认识冰的教案
- 2024年燃气管网工安全作业技能考试题库及答案
- 2024年花儿朵朵教案
- 2024年电工安全总结
- 妊娠剧吐伴酮症护理查房课件
- 200#溶剂油安全技术说明书
- 单位洗车房管理制度
- 广西壮族自治区钦州市浦北县2022-2023学年七年级上学期期末英语试题
- 动力学全套课件
- 广东省深圳市2022-2023学年六年级上学期语文期末试卷(含答案)6
- 2022-2023学年北京市海淀区高一(上)期末生物试卷(附答案详解)
- 河南省出版物经营许可证申请登记表
- 细集料筛分试验检测记录表模板
- (完整word版)聘书模板红色
- 广西柳州市名校2024届数学高一上期末统考试题含解析
评论
0/150
提交评论