您好,欢迎访问三七文档
12019/10/3第4章设备管理●设备管理是指计算机系统中除了CPU和内存以外的其它所有设备的管理。●除了进行实际I/O操作的设备之外,也包括了诸如设备控制器、DMA控制器、中断控制器、I/O处理机等支持设备。●在实际使用过程中,外围设备的种类繁多,功能各异,管理复杂。如何有效而又方便地使用这些设备是设备管理的重要任务。●设备管理是操作系统的重要和基本的组成部分,对设备管理的好坏,直接影响系统的效率。22019/10/34.1.设备管理概述4.2.I/O控制方式4.3.缓冲技术4.4.设备分配4.5.WINDOWS2003Server的I/O系统4.6.本章小结32019/10/34.1.1设备的分类计算机系统的外围设备包括:显示器、键盘、纸带阅读器、纸带穿孔机、打印机、磁带、磁盘、光盘、激光打印机、绘图仪、图形数字化仪、鼠标器、声音输入、声音输出设备以及办公自动化设备等等,种类相当繁多,可从不同的角度对它们进行分类。4.1设备管理概述42019/10/3系统设备:在操作系统生成时已登记于系统的标准设备,一般至少有键盘、显示器、打印机、磁盘或磁带设备等。用户设备:在系统生成时并没有登入系统的非标准设备,一般由用户提供设备及其处理程序,并通过适当的手段把它们纳入系统中,由系统实施管理。例如实时测控系统中的各种A/D、D/A转换器,图像处理系统中的图像设备,CAD系统所需的专用设备等。1.设备的从属关系分类52019/10/3块设备:指以数据块为单位来组织和传送数据的设备,如磁盘、磁带等。字符设备:指以单个字符为单位来传送信息的设备,如终端、打印机等。2.设备中的数据组织方式分类62019/10/3存储设备:磁带、磁盘(软盘、硬盘)、光盘、其它(磁鼓等)。输入输出设备:键盘、打印机、显示器、图形输入输出设备、图像输入输出设备、绘图仪、声音输入输出设备、网卡、其它。终端设备:通用终端(会话型、批量型、智能型)、多用终端、虚终端。3.按设备的使用特性分类72019/10/3独占设备:这类设备在用户作业的整个运行期间必须为此用户所占有,才能保证传送设备的连贯性。大多数低速I/O设备,如用户终端、打印机、纸带输入机等均属于这类设备。共享设备:这类设备通常指磁盘这类直接存取设备,很容易被多个用户所共享。实际上是几个进程或作业交替地对它们进行读写,而宏观上看是同时对它们进行访问。虚拟设备:在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚拟设备。4.按资源分配的角度分类82019/10/3为将慢速的独占设备改造成多个用户可共享的设备,以提高设备的利用率,可借助于假脱机技术(Spooling)。Spooling技术的基本思想是:当某作业或进程请求分配独占设备时,系统就分配给它共享设备中的某一部分,使其与独占设备相关联。92019/10/3例如用磁盘中的某一部分代替打印机,程序欲打印输出的信息先写入磁盘的这部分存储空间中,适当的时候,例如打印机空闲时,再从盘中取出该信息交由打印机输出。这样,用户或进程是直接和磁盘打交道,而间接地使用打印机。由于磁盘的存取速度远高于打印机的打印速度,而且磁盘是可共享的,所以,对用户来说似乎有了一台高速的可共享的打印机。102019/10/3I/O系统的结构CPU磁盘控制器存储器打印机控制器其他控制器一、微型机I/O系统:总线结构磁盘驱动器打印机112019/10/3二、主机系统输入输出结构在一台通用的计算机系统中,通过输入输出控制系统完成外围设备与主存储器之间的信息传送。各种外围设备连接在相应的设备控制器上,这些设备控制器又通过通道连接在公共的系统总线上。I/O系统共分为4级:最低级为I/O设备,次低级为设备控制器,次高级为I/O通道,最高级是主机。122019/10/3132019/10/3三.设备控制器设备控制器是CPU与I/O设备的接口(1)作用:接收从CPU发来的命令,控制I/O设备工作。(2)功能:接收和识别命令数据交换设备状态的了解和报告地址识别142019/10/3I/O设备一般由机械与电子线路两部分组成。为了使设计模块化、具有通用性,也为了降低设备成本,通常总是把这两部分分开:机械部称为设备本身,电子部分称为“设备控制器(或适配器)”。设备控制器上有供插接用的连接器,通过电缆与设备内部相连。由于设备控制器是电子设备,工作速度快,因此很多设备控制器可以连接2个、4个、甚至8个相同类型的设备。152019/10/3每种I/O设备都要通过一个控制器和CPU相连。例如软磁盘通过软盘控制器和CPU连接,打印机通过打印机控制器和CPU连接。控制器是通过自己内部的若干个寄存器与CPU进行通信的。有用作数据缓冲的数据寄存器;有用作保存设备状态信息供CPU对外部设备进行测试的状态寄存器;还有用来保存CPU发出的命令以及各种参数的命令寄存器。为了标识这些寄存器,有的计算机系统把它们作为常规存储器地址空间的一个部分来对待;有的计算机系统则给予它们专用的I/O地址。比如图列出了IBMPC机上某些控制器所配置的I/O地址和相应的中断向量。162019/10/3172019/10/3由于是设备挂接在控制器上,因此要让设备做输入/输出操作,操作系统总是与控制器交往,而不是与设备交往。操作系统把命令以及执行命令时所需要的参数一起写入控制器的寄存器中,以实现输入/输出。在控制器接受了一条命令后,就可以独立于CPU去完成命令指定的任务。182019/10/3(3)设备控制器的组成1.与处理机的接口2.与设备的接口3.I/O逻辑192019/10/31.设备备管理的目标(1)提高外围设备的利用效率设备管理的首要目标是要提高外围设备的利用率,尽可能地提高外设之间,外设和CPU之间的并行程度,使系统中的各种设备尽可能地处于忙碌状态。4.1.2设备管理的目标和功能202019/10/3所谓方便,是指用户程序应该与给定的不同类型、型号的设备无关,并且与具体设备的物理特性无关,而方便的使用设备。所谓统一,是指对不同设备尽量能有统一的操作方式。方便和统一都要求操作系统去实现具体设备的物理I/O操作,而对用户程序屏蔽这些细节,呈现给用户的是一种性能理想化的、操作简便的逻辑设备。(2)为用户提供方便、统一的界面212019/10/3有时把系统的这种性能称为设备的独立性。例如对于用户的同一个程序,操作系统应该能够让用户程序对不同的打印机进行操作,而对不同的打印机的具体特性不必理睬,且用户程序也不必修改。222019/10/3为实现设备的有效管理和用户方便使用,设备管理一般应具备下述功能:(1)设备分配在多道程序环境中,多个用户和进程往往同时要求使用同一个设备,按照设备的类型和系统中采用的方法,决定把某个设备分配给哪一个要求该类设备的进程。在进行分配的同时还应分配相应的控制器和通道,以保证设备与CPU之间能够传递信息,未能分配到所需设备的进程,应排成一个队列,按一定的次序等待使用设备。设备分配程序完成这一工作。2.设备管理的功能232019/10/3在设置通道的系统中,其I/O操作一般由通道执行通道程序来完成。因此,操作系统的设备管理软件应具有这样的功能:根据用户提出的I/O要求,生成相应的通道程序并提交给通道,然后用专门的通道指令启动通道对指定设备进行I/O操作,并能响应通道的中断请求。在未设置通道的系统中,由设备管理软件对设备I/O请求做必要的处理,如设备分配、缓冲区分配,并直接对设备接口编程,然后驱动指定的设备进行I/O操作。(2)实现物理I/O操作242019/10/3设备管理程序应具有对缓冲区进行管理的功能。此外,为改善系统的可适应性和可扩展性,应使用户程序与实际的设备无关。(3)实现其它功能252019/10/3输入输出操作的控制方式一般有四种:查询方式中断方式直接内存存取方式通道方式它们的主要差别在于处理器和外设并行工作的方式和程度的不同。4.2I/O控制方式262019/10/3查询方式是最简单的I/O控制方式。在设备控制器中有两个寄存器,一个是状态寄存器,由其中的一个状态位的值反映设备的忙或闲;另一个是数据缓冲寄存器。当设备启动时,状态寄存器的启动位为1,此时外设把数据送往数据缓冲寄存器,并将状态寄存器的状态位置1。CPU执行完一条指令后就测试状态位,如果为1,就把数据寄存器中的数据取到内存;若状态位为0,则再测试,直到状态寄存器的状态位为1,然后再读取数据。所以此种方式也称循环测试I/O方式。4.2.1查询方式272019/10/3就绪向设备控制器发读命令读设备控制器的状态检查状态从设备控制器中读入字向存储器中写字传送完成CPU-I/OCPU-内存I/O-CPU出错I/O-CPU完成下条指令未完成未就绪282019/10/3由于CPU的速度远高于设备I/O的速度,使得CPU绝大部分时间都处于等待I/O完成的循环测试中。显然,这是对CPU的极大浪费。但是,它的管理简单,在要求不高的场合下常被采用,而且不能支持多道程序。292019/10/3查询方式是主机向外设询问,而引入中断后,每当设备完成I/O操作,它便以中断请求方式主动向CPU汇报。因此,CPU一旦启动I/O设备后便可转去处理其他程序,仅在接到I/O中断信息请求时才花费极少时间去处理。4.2.2中断方式302019/10/3例如,打印机每打一行需要60ms,在查询方式中,大约有59.99ms,CPU都处于循环等待中,而以中断方式处理的话,CPU仅花费0.1ms时间来处理I/O设备发来的中断,其余的59.99ms都可以用来做别的事情。所以中断方式比查询方式节省CPU的时间。312019/10/3向设备控制器发读命令读设备控制器的状态检查状态从设备控制器中读入字向存储器中写字传送完成CPU-I/OCPU-内存I/O-CPU出错I/O-CPU完成下条指令未完成CPU做其他中断322019/10/3中断方式的方法是当设备完成I/O操作后,主动向CPU报告,CPU只用少量时间处理I/O中断,并将数据取回。在多道程序中的环境下,一个程序或进程启动I/O设备并允许中断后,不是自己主动去执行别的程序或继续执行主流程,而是应当把自己挂起,控制权交还给进程调度程序。在中断处理程序中,完成指定的I/O操作之后应把等待此结果的进程唤醒,而后由进程调度程序在适当时机把此进程投入运行。多道程序下的中断处理方式如图4-3所示。332019/10/3某进程其他进程输入中断处理中断调度调度唤醒启动I/O并允许中断阻塞等待处理输入的数据保护现场输入处理唤醒等待进程恢复现场342019/10/3中断处理方式提高了主机的利用率,但是每次中断都要保存现场信息,恢复现场等,仍占用CPU时间。在传送数据量大、速度高的情况下,中断方式就不适应了。目前在块设备(如磁盘)的传输系统中,都普遍采用了直接内存存取方式,即DMA方式。是指对I/O设备的控制由DMA控制器完成,在DMA控制器的作用下,设备和主存之间可以成批地进行数据交换,而不用CPU的干涉。4.2.3直接内存存取方式352019/10/3DMA方式控制器功能更强,除有中断功能外,还有一个DMA控制机构。在DMA控制器的控制下,设备同主存之间可成批交换数据,不用CPU干预。DMA控制器组成:362019/10/3DMA方式直接存储器存取控制方式的步骤:①当进程要求设备输入一批数据时,CPU将设备存放输入数据的内存始址以及要传送的字节数分别送入DMA控制器中的地址寄存器和传送字节计数器;另外,还要将中断位和启动位置为1,以启动设备开始进行数据输入并允许中断。②发出数据要求的进程进入等待状态,进程调度程序调度其他进程占据CPU。③输入设备不断地挪用CPU工作周期,将数据寄存器中的数据源源不断地写入内存,直到所要求的字节全部传送完毕。④DMA控制器在传送字节数完成时,通过
本文标题:OS04设备管理
链接地址:https://www.777doc.com/doc-1307240 .html