您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 《操作系统》第5章 IO设备管理
操作系统原理PrinciplesofOperatingSystem2结合实验浅谈命令行接口的作用。结合实验浅谈图形接口的作用。结合实验浅谈任务管理器。结合实验浅谈资源管理器。结合实验浅谈设备管理器。结合实验浅谈控制面板。结合实验浅谈资源管理。3第5章I/O设备管理计算机系统中的I/O设备种类繁多,结构各异,特性各异,使用方法各异,用途各异。在许多方面它们总是计算机中最慢的部分,操作系统需要控制设备,向应用程序提供各种功能。操作系统I/O子系统的关键目标之一就是向系统的其他部分提供尽可能简单的接口。4设备管理的重要性主要体现在以下几点:①CPU性能越高,输入输出设备性能同CPU性能不匹配的反差也越大。如何解决这一矛盾,而又尽量不降低处理机的性能。②I/O设备千变万化,如何对它们实现统一的管理,从而方便用户使用。③I/O设备能否及时将各种信息传送给计算机系统,计算机发出的各种命令能否通过I/O设备及时传送给执行部件。④由设备传送的数据应该是安全和保密的,数据不能被破坏或被泄露。多用户多任务环境中的设备使用应该通过协调,避免冲突,不能破坏设备。设备硬件工作过程和各种硬件连接模式的复杂性、多样性导致了整个硬件I/O过程的复杂多样,需要操作系统的进一步配合来达到更高性能。55.1.2计算机I/O系统结构6⑴按照所属关系,可以将外部设备分为两类:①系统设备:系统生成时就已经登记的设备。如键盘、磁盘和显示器等。②用户设备:系统生成时未登记的设备。如移动硬盘、扫描仪和数码相机等。⑵按传输的信息特点分类,可以将外部设备分为两类:①字符设备。这类设备与内存之间交换信息是以字符为单位来进行的。如键盘、鼠标等。②块设备。这类设备与内存之间交换信息是以块为单位来进行的。如磁盘、磁带、光盘等。③网络设备。网络设备与块设备和字符设备有所区别,用户不能直接把数据交换到网络设备上,必须通过打开内核网络子系统的连接进行间接通信。7⑶按照工作和使用特性,可以将外部设备分成:①I/O设备:输入设备是计算机用来将信息传送到内存,如键盘,扫描仪,鼠标等。输出设备是将计算机加工处理好的信息从内存传送到设备,如显示器、扫描仪、绘图仪等。I/O设备又分为输入设备、输出设备、输入输出设备3类。②存储设备:以存储大容量的信息和快速检索为目标,在系统中作为内存的扩充,又称为外存或者辅存。相对于内存而言,具有容量大,速度慢和价格相对便宜等特点。⑷从资源分配角度,设备可分为以下三类:①独占设备:是指在一段时间内只允许一个进程使用的设备。进程使用期间独占该设备,只有当进程将设备释放给操作系统时,才能再将该设备分配给其他进程使用。多数低速字符设备都属于独占设备,如行式打印机等。②共享设备:是指一段时间内允许多个进程同时访问的设备。宏观上,多个进程同时使用设备,在微观上,多个进程在交替地访问设备。共享设备必须是可寻址的和可随机访问的设备。典型的共享设备是磁盘。③虚拟设备:以大容量的外存为支持,通过虚拟技术将一台独占设备改造成能被多个进程共享的设备,以提高设备的利用率。这种经过虚拟技术改造后的设备,是一种逻辑上的,概念上的设备,我们称为虚拟设备。85.1.4设备管理的基本功能①缓冲管理:CPU与设备之间、设备与设备之间交换信息时,都要利用缓冲区来缓解速度不匹配的矛盾,提高CPU与设备之间、设备与设备之间操作的并行程度。②设备分配:系统根据进程所请求的设备类型,按分配算法对设备和设备相应的控制器和通道进行分配,建立从设备到内存之间传输信息的通路。在进程的I/O完成后,系统应及时回收设备,以便重新分配给其他进程使用。将未获得所需设备的进程放进相应设备的等待队列。③设备驱动:逻辑设备名转换成设备的物理地址,启动指定的I/O设备,完成程序规定的I/O操作,并对由设备发来的中断请求进行及时响应,根据中断类型进行相应的处理。④设备无关性:用户在编制程序时,应尽量避免直接使用实际的设备名而使用逻辑设备名。这样,有利于解决设备的故障和增加设备分配的灵活性。⑤虚拟设备:把一次仅允许一个进程使用的设备称为独占设备。独占设备使得系统效率很低,并且可能产生死锁。以大容量外存为支持,通过虚拟技术将一台独占设备改造成能被多个进程共享的设备,以提高设备的利用率。这种经过虚拟技术改造后的设备,即逻辑上的设备称为虚拟设备。95.2.1程序I/O控制寄存器有几个重要的信息位:启动位、完成位、忙位。当用户进程需要输入数据时,由处理机向设备控制器发出一条I/O指令,启动设备进行输入;在设备输入数据期间,处理机通过循环执行测试指令不间断地检测设备状态寄存器的值,当状态寄存器的值显示设备输入完成时,处理机将数据寄存器中的数据取出,送入内存指定单元,然后再启动设备读下一个数据。反之,当用户进程需要向设备输出数据时,同样必须用启动命令启动设备输出,并等待输出操作完成。程序直接控制方式的工作过程非常简单,但在循环测试中浪费了大量的CPU处理时间,所以CPU的利用率相当低。105.2.2中断技术采用中断控制方式具有以下好处:①CPU与外设在大部分时间内并行工作,有效地提高了计算机的效率。CPU启动外设后,不需要查询其工作状态,可继续执行主程序,因此两者可并行工作。等外设将数据准备好后,主动申请中断CPU的工作,请求服务。②具有实时响应能力,可适用于实时控制场合。外部中断源始终处于主动地位,随时可请求CPU为其服务。可保证实时控制中现场的许多实时信息随时得到响应。③及时处理异常情况,提高计算机的可靠性。计算机在运行过程中,有可能出现一些意想不到的情况或发生一些故障。利用中断功能就可以及时进行处理,而不至于造成无可挽回的局面。11中断控制方式的处理过程如下:①CPU通过总线发出命令,启动外设工作,当前进程阻塞,调度程序调度其他进程。②外设数据准备好,将中断请求触发器置位。③若此时接口中断屏蔽触发器状态为非屏蔽状态,则接口向CPU发中断请求(IR)。④CPU接受中断请求,且中断为允许中断状态,则中断判优电路工作。⑤中断判优电路对优先级最高的中断请求给予响应,CPU中断正在执行的其他进程,转而执行中断服务程序。在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去做些中断处理。可见,这样可使CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。125.2.3DMA技术用中断方式交换数据时,每处理一次I/O数据交换,都会耗去一定的CPU处理时间,对于一些高速的外围设备,以及成组交换数据的情形来说,仍然显得速度太慢。采用DMA方式可以解决这一问题。DMA是直接存储器存取(DirectMemoryAccess,DMA)的缩写,它是一种完全由硬件执行I/O数据交换的工作方式。在这种方式中,DMA控制器(DMAC)从CPU完全接管对总线的控制,数据交换不经过CPU而直接在内存和I/O设备之间进行。采用DMA方式工作时,由DMA控制器向内存发出地址和控制信号,进行地址修改,对传送字的个数计数,并且以中断方式向CPU报告传送操作结束。DMA方式的数据传送结构如图所示。13DMA方式的数据块传送过程可分为三个阶段:传送前预处理、数据传送、传送后处理。①预处理阶段:由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交替访问内存的方法,通过硬件线路分时地控制这两者对总线的使用权,来提高整个系统的效率。145.2.4通道技术现代大、中型计算机系统中设置了专门的处理I/O操作的处理机,并把这种处理机称为通道(Channel)。①字节多路通道字节多路通道是一种简单的共享通道,适用于连接慢速的字符设备,如打印机、终端等设备。字节多路通道在时间片分时的基础上为多台低速和中速设备服务,它的主要特点是:各设备与通道之间的数据传送是以字节为单位交替进行的,各设备轮流占用一个很短的时间片,不同的设备在各自的时间片内经过通道执行各自的数据传送操作。②选择通道选择通道是一种高速通道,适用于连接高速I/O设备,如磁盘、磁带等,信息以数据块为单位高速传输。在物理上它可以连接多个设备,但是这些设备不能同时工作。在某一段时间内,通道只能选择一个设备进行工作,即使暂时出现空闲,也不允许其他设备使用,直到该设备传送完成后才让出通道。选择通道的优点是以数据块为单位进行传输,传输率高;缺点是通道利用率低。15③数组多路通道数组多路通道是对选择通道的一种改进,综合了字节多路通道分时工作和选择通道传送速率高的特点。适用于连接高速I/O设备,如磁盘、磁带等。数组多路通道的工作原理如下:当某设备进行数据传送时,通道只为该设备服务;当设备在执行寻址等控制性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为其他设备服务,即执行其他设备的通道程序。其优点是同选择通道一样,以数据块为单位进行传输,传输率高。同时又具有多路并行操作的能力,通道利用率高。缺点是控制复杂。通道是一个特殊功能的处理机,它有自己的指令和程序,可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。通道的工作过程为:①根据CAW,从内存取出通道指令,送入通道控制字寄存器(CCW),并修改CAW,使其指向下一条通道指令。②执行CCW中的通道指令,进行实际的I/O操作,执行完毕后,如果还有下一条指令,则返回前一步,否则转下一步。③发出中断信号通知CPU通道程序已执行完成。165.3缓冲管理在现代操作系统中,几乎所有的I/O设备在与内存交换数据时,都使用缓冲区。缓冲是用来平滑I/O请求的峰值的一种技术,引入缓冲的主要原因是:①改善CPU与I/O设备之间速度不匹配和负荷不均衡的矛盾。②减少对CPU的中断频率,放宽对中断响应时间的限制。③以空间换取时间,提高CPU和I/O设备之间的并行性。④在设备使用不均衡时缓冲区起到平滑作用。175.3.2缓冲区的种类1.单缓冲单缓冲是操作系统提供的最简单的缓冲区形式,单缓冲(singlebuffering)是I/O设备与内存之间共用一个缓冲区的缓冲技术。如图所示,给出了使用单缓冲和不使用缓冲之间的性能比较。假设T是输入一块所需要的时间,C是输入请求之间的计算时间。如果没有缓冲,每块的执行时间为T+C。如果有一个缓冲区执行时间为max[T,C]+M,其中M是把数据从系统缓冲区移到用户存储空间所需要的时间。我们可以得出结论使用单缓冲系统比不使用缓冲系统的效率高。单缓冲(SingleBuffer)是I/O设备与内存之间共用一个缓冲区的缓冲技术。它适用于数据的到达率与离去率相差很大的情况下。缓冲区被看作临界资源,对缓冲区的读/写操作要互斥进行。182.双缓冲对于面向块的传送,我们可以粗略地估计执行时间为max[T,C]。因此,如果C≤T,就有可能使面向块的设备全速进行;另一方面,如果CT,双缓冲能确保该进程不需要等待I/O。在任何一种情况下,比单缓冲都有所提高。两个缓冲区交替使用,使CPU与I/O设备并行性进一步
本文标题:《操作系统》第5章 IO设备管理
链接地址:https://www.777doc.com/doc-3291114 .html