第四章-设备管理_第1页
第四章-设备管理_第2页
第四章-设备管理_第3页
第四章-设备管理_第4页
第四章-设备管理_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

第四章设备管理

设备管理:操作系统对除CPU和内存以外的所有I/O设备的管理。

I/O设备是计算机系统的重要资源,用户无权直接使用。

设备管理的一个重要任务:按照一定的算法在各进程间调度和分配设备。设备管理按照用户要求启动具体设备,完成数据传输操作,并且处理设备的中断。4.1设备管理概述

4.1.1设备管理的基本任务和功能

1.设备管理的任务⑴

选择和分配输入/输出设备以便于进行数据传输操作。⑵控制输入/输出设备和CPU(或内存)之间交换数据。⑶

为用户提供一个友好的透明接口。⑷

提高设备和设备之间、CPU和设备之间以及进程和进程之间的并行操作度,以使操作系统获得最佳运行效率。2.设备管理的目标方便性:指用户能独立于具体设备的复杂物理特性之外而方便使用设备。并行性:应尽量提高CPU与I/O、I/O设备与I/O设备之间的并行操作程度,主要利用的技术有:中断技术、DMA技术、通道技术和缓冲技术。

均衡性:均衡地使用设备。独立性:指设备的无关性,要求用户方便地操作逻辑设备,而具体的I/O物理设备由操作系统去实现。3.设备管理的基本功能(1)提供与进程管理系统的接口;(2)进行设备分配;(3)实现设备和设备、设备和CPU之间的并行操作;(4)进行缓冲区管理。4.1.2设备的分类

1、按设备的使用特性分类

(1)外存设备;(2)输入输出设备;(3)终端设备;(4)脱机设备。2、按从属关系分类(1)系统设备:指在操作系统启动过程中已经登记在系统中的标准设备。如键盘、显示器、打印机等。(2)用户设备:指操作系统启动过程中未登记入系统的非标准设备。如绘图仪、扫描仪等。3.按传输速率分类(1)低速设备:指传输速率为每秒钟几个字符至数百个字节设备,如键盘、鼠标、语音输入等。(2)中速设备:指传输速率为每秒钟数千个字节至数万个字节的设备,如针式打印机、激光打印机等。(3)高速设备:指传输速率为数兆字节的设备,如磁带机、磁盘机、光盘机等。

4.按使用特性分类(1)存储设备:计算机用来保存各种信息的设备,如磁盘、磁带等。(2)I/O设备:向CPU传输信息或输出CPU加工处理信息的设备。例如:键盘,显示器(1)独占设备:指在一段时间内只允许一个用户(进程)访问的设备,大多数低速的I/O设备。如用户终端、打印机等属于这类设备。因为独占设备属于临界资源,所以多个并发进程必须互斥地访问独占设备。5.按设备共享属性分类

(2)共享设备:指在一段时间内允许多个进程同时访问的设备。显然,共享设备必须是可寻址的和可随机访问的设备,典型的共享设备是磁盘。(3)虚拟设备:指通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机(SPOOLing)技术实现虚拟设备。

(1)字符设备:指处理信息的基本单位是字符的设备,如键盘、打印机、显示器是字符设备。(2)块设备:指处理信息的基本单位是数据块的设备,一般块的大小为512B~4KB,如磁盘、磁带等都是块设备。

6.按信息交换单位分类设备管理的功能(1)设备分配。按照设备类型和相应的分配算法决定将I/O设备分配给哪一要求使用该设备的进程。凡未分配到所需设备的进程被放入一个等待队列。(2)设备处理。设备处理程序实现CPU和设备控制器之间的通信。即当CPU向设备控制器发出I/O指令时,设备处理程序应启动设备进行I/O操作,并能对设备发来的中断请求作出及时的响应和处理。(3)实现其他功能。

包括对缓冲区的管理功能及实现设备独立性。

4.1.3设备的分配

1.设备分配时需考虑的因素(1)设备的固有属性;(2)I/O设备的分配算法:先请求先服务、优先级高者先服务;

(3)设备分配的安全性;(4)

设备独立性。

设备独立性

设备独立性也称设备无关性:应用程序所用设备独立于具体使用的物理设备。

为了实现设备独立性而引入了逻辑设备和物理设备两个概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称,程序执行时由系统完成逻辑设备到物理设备的映射。逻辑设备:指对某类物理设备的抽象,用户给物理设备的一个别名。设备独立性的优点(1)设备分配时的灵活性,用户和物理外围设备无关,系统增减或变更外围设备时程序不必修改;(2)实现I/O重定向,例如,某台行式打印机发生故障时,可用另一台替换,甚至可用磁带机或磁盘机等不同类型的设备代替,从而提高了系统的可靠性,增加了外围设备分配的灵活性,能更有效地利用外围设备资源,实现多道程序设计技术。操作系统提供了设备独立特性后,程序员可利用逻辑设备进行行输入输出,而逻辑设备与物理设备之间的转换通常由操作系统的命令或语言来实现。实现从逻辑设备名到物理设备名的变换,采用逻辑设备表(LogicalUnitTable)来建立逻辑设备和物理设备之间的映射关系。逻辑设备名物理设备名驱动程序入口地址/dev/tty1E123/dev/print235A6……......……逻辑设备表设备分配的数据结构

OS建立了一组反映系统设备状态的数据结构:设备控制表DCT、控制器控制表COCT、通道控制表CHCT以及系统设备表SDT。表目1表目2表目n系统设备表SDT...设备类型设备标识获得设备的进程DCT指针......

DCT、COCT、CHCT之间的关系设备分配的数据结构设备类型设备标识设备状态COCT指针等待此设备的进程表设备控制表DCT重复执行次数和时间...控制器标识控制器状态CHCT指针等待此设备的进程表控制器控制表COCT...通道标识通道状态COCT指针等待此设备的进程表通道控制表CHCT...设备管理的3种控制表设备工作系统设备表SDT是操作系统范围内的数据结构,记录操作系统中所拥有的全部I/O设备类型,每一类设备占用一个表目。每个表目包含若干项,项目数量和具体内容由操作系统确定。工作原理:根据所请求的I/O设备,由系统状态表找到该设备的DCT,再由DCT的“与此设备相连的控制器表”项找到COCT的“与此控制器相连的通道表”找到CHCT,从而构成一条从主存到I/O设备的通路。若有一条通路可用,则在DCT、COCT、CHCT中将进程名(或PCB首址)登记在“正在使用该设备(控制器、通道)”的状态表目内;否则进行排队等候。MT的DCT集合MTDISC系统设备表SDT与DCT的关系...设备类型设备标识获得设备的进程DCT指针...DCT始址系统设备表SDTCARDDCT始址PRINTDCT始址DCT始址4.2数据传输控制方式程序轮询I/O控制方式中断I/O控制方式DMAI/O控制方式通道I/O控制方式4.2.1程序直接控制方式

程序直接控制方式,是一种用程序直接控制I/O操作的方式。在这种方式下,计算机的I/O测试指令,通过测试一台设备的忙/闲标志,决定主存和外设之间是否要传输一个字符或一个字。程序直接控制方式控制简单,也不需要多少硬件支持。4.2.2中断控制方式为了减少程序直接控制方式中CPU等待时间以及提高系统的并行工作程度,引入中断控制方式来控制外围设备和内存与CPU之间的数据传输。中断机构引入之后,外围设备有了反映其自身状态的能力,仅当I/O操作正常或异常结束时才中断中央处理机,从而实现了一定程度的并行操作。

中断1.基本概念:中断是指计算机在执行期间,系统内发生了某一急需处理的事件,暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完毕后又返回到刚才暂停程序的被中断处继续执行的过程。中断是操作系统实现并发性的基础之一。需要中断处理器正常工作的典型事件:

•请求系统服务

•实现并行工作

•处理突发事件

•满足实时要求2.中断的分类与优先级

中断的分类角度很多,比如,IBM中大型机操作系统,便按照中断事件的性质和激活的手段,将中断分成以下两类:

•强迫性中断事件不是正在运行的程序所期待的,而是由于某种事故或外部请求信息所引起的,具体分为:机器故障中断事件,程序性中断事件,外部中断事件,输入输出中断事件。

•自愿性中断事件正在运行的程序所期待的事件。比如,其对操作系统有某种需求,一旦机器执行到一条访管指令时,便自愿停止现行程序的执行而转入访管中断处理程序处理。

而Windows2000/XP则按照中断信号的来源,把中断分为外中断和内中断两类:

•外中断(又称中断):指来自处理器和主存之外的中断。包括:电源故障中断、时钟中断、控制台中断、I/O中断等。不同的中断具有不同的中断优先级,处理高一级中断时,往往会屏蔽部分或全部低级中断。

•内中断(又称异常):指来自处理器和主存内部的中断。包括:通路校验错、主存奇偶错、非法操作码、地址越界、页面失效、调试指令、访管中断、算术操作溢出等各种程序性中断。内中断是不能被屏蔽的,一旦出现应立即响应并加以处理。3.中断处理过程(由中断装置和中断服务程序共同完成,教材P127):CPU响应中断。收到中断信号,CPU处理完当前指令响应中断,同时关中断。保护被中断进程的运行现场。即未被硬件保护的一些必需的处理状态,如PSW、PC(或IP)等。判断中断源。分析产生中断的原因根据中断源查询中断向量表,获得中断处理程序的入口地址,调出相应的中断处理程序。执行中断处理程序。退出中断。恢复被中断进程的现场,然后开中断。4.2.3DMA方式当进程要求设备输入数据时,CPU把准备存放输入数据的内存始址以及要传送的字节数分别送入DMA控制器中的内存地址寄存器和传送字节计数器,并把控制状态寄存器中的中断允许位和启动位置1,从而启动设备开始进行数据输入。发出数据要求的进程进入等待状态,进程调度程序调度其他进程占用CPU。输入设备不断地挪用CPU工作周期,将数据缓冲寄存器中的数据源源不断地写入内存,直到所要求的字节全部传送完毕。DMA控制器在传送字节数完成时通过中断请求发出中断信号,CPU在接收到中断信号后转中断处理程序进行相应处理。中断处理结束时,CPU返回被中断进程继续执行。

DMA方式与中断方式的主要区别中断方式指在数据缓冲寄存器满之后发出中断请求,而DMA方式则是在所要求传输的数据块全部传送结束后发出中断请求。这就大减少了CPU进行中断处理的次数。中断方式的数据传送是在中断处理时由CPU控制完成的。而DMA方式则不经过CPU而是在DMA控制器的控制下完成的。这样排除了因并行操作设备过多时CPU来不及处理或因速度不匹配而造成数据丢失等现像。4.2.4通道方式

通道控制方式的数据输入处理过程:当进程要求设备输入数据时。CPU发start指令指明I/O操作、设备号和对应通道。对应通道接收到CPU发来的启动指令start之后,把存放在内存中的通道指令程序读出,设置对应设备的I/O控制器中的控制状态寄存器。设备根据通道指令的要求,把数据送往内存中指定区域。若数据传送结束,I/O控制器通过中断请求线发中断信号请求CPU做中断处理。4.3设备管理技术

1.缓冲技术的基本实现思想

(1)在CPU和外设之间设立缓冲区,用以暂存CPU与外设之间交换的数据,从而缓和CPU与外设速度不匹配所产生的矛盾。

(2)其实,凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。例如,CPU与内存之间也需要设置缓冲,只不过设在cache里。2.引入缓冲的目的

(1)改善CPU与I/O设备之间速度不匹配的矛盾(2)减少对CPU的中断频率,放宽对中断响应时间的限制(3)提高CPU与I/O设备之间的并行性3.缓冲的分类及使用缓冲有硬件缓冲(设备寄存器)和软件缓冲(内存区)之分。后者容量大,使用灵活,又可从不同角度划分成多类。比如,有专用和通用之分,还可根据系统设置的缓冲区个数,将缓冲技术分为:单缓冲、双缓冲、环形缓冲和缓冲池。缓冲操作主要由getbuffer()和putbuffer()过程实现,它们之间有同步约束。单缓冲区用户进程输入设备缓冲区操作系统单缓冲示意图双缓冲用户进程输入设备缓冲区1操作系统双缓冲示意图缓冲区2双缓冲用户进程输入设备缓冲区1操作系统循环缓冲示意图缓冲区2缓冲区2...缓冲池对于用于同时输入、输出的公用缓冲池包含3种类型缓冲区:空缓冲区、装满输入数据的缓冲区、装满输出数据的缓冲区。将相同类型的缓冲区连成一个队列:空缓冲区队列、输入缓冲区队列、输出缓冲区队列。收容输入数据的工作缓冲区hin;提取输入数据的工作缓冲区sin;收容输出数据的工作缓冲区hout;提取输出数据的工作缓冲区sout。缓冲池hinhout缓冲区nsout缓冲区1sin缓冲区m缓冲区z收容输入收容输出提取输入提取输出CPUI/O设备缓冲池缓冲池的工作缓冲区示意图通道技术1.通道功能通道又称I/O处理机,它能完成主存储器和外设之间的信息传输,并与中央处理机并行操作。采用通道技术解决了I/O操作的独立性和各部件工作的并行性。

2.

通道类型字节多路通道

选择通道数组多路通道

3.CPU与通道的通信⑴当运行的程序要求数据传输时,CPU向通道发I/O指令,命令通道工作;⑵通道接收到CPU的I/O指令后,从内存中取出相应的通道程序,完成I/O操作;⑶当I/O操作完成(或出错),通道以中断方式中断CPU正在执行的程序,请求CPU的处理。spooling技术1.SPOOLing技术:SPOOLing

(即外部设备联机并行操作),即SimultaneousPeripheralOperationOn-Line的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。2.SPOOLing系统优点将独占设备改造成共享设备提高了I/O的速度实现了虚拟设备的功能

spooling技术3.SPOOLing系统主要包括以下三部分:(1)输入井和输出井:在磁盘上开辟出来的两个存储区域。输入井模拟脱机输入时的磁盘,用于收容I/O设备输入的数据。输出井模拟脱机输入时的磁盘,用于收容用户程序的输出数据。(2)输入缓冲区和输出缓冲区:在内存中开辟的两个缓冲区。输入缓冲区用于暂存有输入设备送来的数据,以后在传送到输出井。输出缓冲区用于暂存从输出井送来的数据,以后再传送到输出设备。(3)输入进程和输出进程:输入进程模拟脱机输入时的外围控制机,将用户要求的数据有输入设备到输入缓冲区,再送到输入井。当CPU需要输入设备时,直接从输入井读入内存。输出进程模拟脱机输出时的外围控制机,把用户要求输入的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据,经过输出缓冲区送到输出设备上。Spooling系统输入进程输出进程输出设备输入设备输入井输出井输入缓冲区输出缓冲区磁盘内存Spooling系统示意图假若进程打开了打印机特殊文件后几小时内无所事事,则其他进程什么都打印不了!解决方案:创建值班进程(daemon)、SPOOLing打印目录进程首先生成要打印的文件,放入SPOOLing目录值班进程:唯一获准使用打印机特殊文件的进程,

温馨提示

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

评论

0/150

提交评论