设备管理6教材_第1页
设备管理6教材_第2页
设备管理6教材_第3页
设备管理6教材_第4页
设备管理6教材_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

第6章设备管理6.1外设管理引言6.2缓冲技术6.3设备分配6.4磁盘设备管理外设的特点:种类多差异大(控制和速度)外设管理目的包括:外设资源的控制外设资源的共享提高外设资源的利用率。6.1外设管理引言1.1外部设备类型和特征1.2设备的I/O控制技术1.3外设管理的目的和功能1.4外设管理结构1.1外部设备类型和特征人机交互设备:视频显示设备、键盘、鼠标、打印机与计算机或其他电子设备交互的设备:磁盘、磁带、传感器、控制器计算机间的通信设备:网卡、调制解调器1.按交互对象分类输入(可读):键盘、扫描仪2.按交互方向分类

输出(可写):显示设备、打印机

输入/输出(可读写):磁盘、网卡使用特征:存储、输入/输出、终端数据传输率:低速(如键盘)、中速(如打印机)、高速(如网卡、磁盘)信息组织特征:单个字符或数据块字符设备(如打印机)块设备(如磁盘)3.按外设特性分类

4.按外设分配方式分类独占设备:任何时刻只能被一个用户使用,如终端、绘图仪、打印机等。共享设备:可以同时(或宏观同时)被多个用户使用。一般容量大、数度快,如硬盘。用户在作业程序中提出输入/输出请求,目的是要实现数据的传输。数据传输,或发生在I/O设备与内存之间,或发生在I/O设备与CPU之间。所谓“数据传输的方式”,就是讨论在进行输入/输出时,I/O设备与CPU谁做什么的问题。随着计算机硬件的发展,随着高智能I/O设备的出现,数据传输的方式也在向前推进,I/O设备与CPU的分工越来越合理,使得整个计算机系统的效率得到了更好的发挥。计算机系统控制数据传输的4种方式:程序循环测试方式、中断方式、直接存储器存取(DMA)方式以及通道控制方式。1.2设备的I/O控制技术1.2设备的I/O控制技术1.程序控制I/O(programmedI/O)

在早期的计算机系统中,都是采用程序循环测试的方式来控制数据传输的。下面介绍设备控制器与CPU是如何进行分工合作的。(1)设备控制器。命令寄存器与具体的I/O请求有关,数据寄存器和状态寄存器则与完成数据的传输更加密切:

数据寄存器:该寄存器是用来存放传输的数据的。对于输入设备,总是把所要输入的数据送入该寄存器,然后由CPU从中取走;反之,对于输出设备输出数据时,也是先把数据送至该寄存器,再由设备输出。

状态寄存器:该寄存器是用来记录设备当前所处状态的。对于输入设备,在启动输入后,只有设备把数据读到数据寄存器,它才会将状态寄存器置成“完成”状态;对于输出设备,在启动输出后,只有设备让数据寄存器做好了接收数据的准备,它才会把状态寄存器置成“准备就绪”状态。(2)CPU。对于CPU,设有两条硬指令,一条是启动输入/输出的指令,比如记为start。另一条是测试设备控制器中状态寄存器内容的指令,比如记为test。所谓“程序循环测试”的数据传输方式,就是指用户进程使用start指令启动设备后,不断地执行test指令,去测试所启动设备的状态寄存器。只有在状态寄存器出现了所需要的状态后,才停止测试工作,完成输入/输出。缺点:在外设进行数据处理时,CPU只能等待。所谓“中断”,是一种使CPU暂时中止正在执行的程序而转去处理特殊事件的操作。能够引起中断的事件称为“中断源”,它们可能是计算机的一些异常事故或其他内部原因(比如缺页),更多的是来自外部设备的输入输出请求。程序中产生的中断或由CPU的某些错误结果(如计算溢出)产生的中断称为“内中断”;由外部设备控制器引起的中断成为“外中断”。为了减少程序循环测试方式中CPU进行的测试和等待时间,为了提高系统并行处理的能力,利用设备的中断能力来参与数据传输是一个很好的方法。这时,一方面要在CPU与设备控制器之间连有中断请求线路;另一方面要在设备控制器的状态寄存器中增设“中断允许位”。2.中断驱动方式(interrupt-drivenI/O)I/O操作由程序发起,在操作完成时(如数据可读或已经写入,在此之前,该程序可进入等待状态或继续执行)由外设向CPU发出中断,通知该程序。数据的每次读写通过CPU。优点:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序。缺点:CPU每次处理的数据量少(通常不超过几个字节:从设备控制器中的数据缓冲寄存器中存取数据),只适于数据传输率较低的设备。另外,I/O操作频繁,有可能丢失中断信号。2.中断驱动方式(interrupt-drivenI/O)3.直接存储访问方式

(DMA,DirectMemoryAccess)直接存储器存取方式即是通常所说的DMA(DirectMemoryAccess)方式,主要适用于一些高速的I/O设备,如磁带、磁盘等。这些设备传输字节的速率非常快,如磁盘的数据传输率约为每秒200,000字节。也就是说,磁盘与存储器传输一个字节只需5微秒,因此,对于这类高速的I/O设备,如果用执行输入输出指令的方式(即程序循环测试方式)或完成一次次中断的方式来传输字节,将会造成数据的丢失。DMA方式传输数据的最大特点是能使I/O设备直接和内存储器进行成批数据的快速传输。3.直接存储访问方式

(DMA,DirectMemoryAccess)

由程序设置DMA控制器中的若干寄存器值(如内存始址,传送字节数),然后发起I/O操作,而由后者完成内存与外设的成批数据交换,在操作完成时由DMA控制器向CPU发出中断。优点:CPU只需干预I/O操作的开始和结束,而其中的数据读写无需CPU控制,CPU与DMA控制器并行工作。适于高速设备。缺点:功能比较简单,不能完成较复杂的要求。中断方式和DMA方式的区别中断方式在数据缓冲寄存器满时发中断请求,而DMA方式在数据全部传送完时发中断请求。中断方式中,数据从数据缓冲寄存器到内存是CPU在进行中断处理时完成的。而DMA方式数据是直接在DMA控制下完成的。4.通道控制方式(channelcontrol)

DMA方式能够满足高速数据传输的需要,但它是通过“窃取”总线控制权的办法来工作的。在它工作时,CPU被挂起,所以并非设备与CPU在并行工作。这种做法对大、中型计算机系统显然不合适。通道方式能够使CPU彻底从I/O中解放出来。当用户发出I/O请求后,CPU就把该请求全部交由通道去完成。通道在整个I/O任务结束后,才发出中断信号,请求CPU进行善后处理。4.通道控制方式(channelcontrol)通道是一个独立与CPU的、专门用来管理输入/输出操作的处理机,它控制设备与内存储器直接进行数据交换。通道有自己的指令系统,为了与CPU的指令相区别,通道的指令被称为“通道命令字”。通道命令字条数不多,主要涉及控制、转移、读、写及查询等功能。通道命令字一般包含有:被交换数据在内存中的位置、传输方向、数据块长度以及被控制的I/O设备的地址信息、特征信息等。4.通道控制方式(channelcontrol)

通道控制器(ChannelProcessor)有自己的专用存储器,可以执行由通道指令组成的通道程序,因此可以进行较为复杂的I/O控制,如网卡上信道访问控制。通道程序通常由操作系统所构造,放在内存里。优点:执行一个通道程序可以完成几批I/O操作。通道有以下两种:选择通道(selectorchannel):可以连接多个外设,而一次只能访问其中一个外设。多路通道(multiplexerchannel):可以并发访问多个外设。

1.3外设管理的目的和功能提高效率:提高I/O访问效率,匹配CPU和多种不同处理速度的外设方便使用:方便用户使用,对不同类型的设备统一使用方法,协调对设备的并发使用方便控制:方便OS内部对设备的控制:增加和删除设备,适应新的设备类型返回1.外设管理目的2.外设管理功能提供设备使用的用户接口:命令接口和编程接口设备分配和释放:使用设备前,需要分配设备和相应的通道、控制器。设备的访问和控制:包括并发访问和差错处理。I/O缓冲和调度:目标是提高I/O访问效率1.4外设管理结构返回逻辑I/O:逻辑设备(也称为虚拟设备)实体,不涉及实际的设备控制;针对用户接口,提供抽象的命令,如:Open,Close,Read,Write。针对通信设备,则是通信体系结构如网络协议栈;针对文件存储设备,是文件系统的逻辑结构控制;设备I/O:逻辑设备与物理设备间的过渡协调机构。用户命令到设备操作序列的转换I/O缓冲:提高I/O效率。调度和控制:物理设备控制实体;直接面对硬件设备的控制细节。这部分通常体现为设备驱动程序。并发I/O访问调度设备控制和状态维护中断处理6.2缓冲技术1.引入缓冲技术的目的缓冲技术可提高外设利用率,尽可能使外设处于忙状态。匹配CPU或用户进程与外设的不同处理速度减少对CPU的中断次数,提高CPU和I/O设备之间以及各个I/O设备之间的处理并行性。因此,缓冲区所在的位置可以是内存,控制器或外设。这些在不同位置的缓冲区组合在一起,构成多级缓冲机制。2.缓冲缓冲的实现有两种方法:一种是采用专门的硬件寄存器,比如设备控制器里的数据寄存器,这是“硬件缓冲”;另一种是在内存储器中开辟出n个单元,作为专用的I/O缓冲区,以便存放输入/输出的数据,这种内存缓冲区就是“软件缓冲”。由于硬件缓冲价格较贵,因此在I/O管理中,主要采用的是软件缓冲。根据系统设置缓冲区的个数,可以分为单缓冲、双缓冲、多缓冲以及缓冲池等四种。(1)单缓冲:只为设备设置一个缓冲区的情形称为“单缓冲”。它表示产生数据者(即生产者)不是把数据直接送给接收数据者(即接收者),而是把数据送入到所设置的缓冲区中。接收数据者总是从缓冲区中去取所需要的数据。(2)双缓冲:为I/O设备设置两个缓冲区,就称为“双缓冲”。它表示产生数据的生产者总是先把产生的数据送入缓冲区1中,下一次把产生的数据送入缓冲区2中;接收者总是先从缓冲区1中取数据,再从缓冲区2中取数据。所以,整个I/O的路线是先1后2,并且交替进行。比如说,输入设备输入了一个数据到控制器的数据寄存器中,CPU从数据寄存器中取出数据后,则把它放到缓冲区1中。CPU从数据寄存器中取出的下一个数据时,将被放到缓冲区2中。用户进程需要数据时,就先从缓冲区1中取出,然后再从缓冲区2中取出,如此反复交替地进行。(3)多缓冲:系统为同类型的I/O设备设置两个公共缓冲队列,一个专门用于输入,一个专门用于输出,这就是“多缓冲”。当输入设备进行输入时,就到输入缓冲首指针所指的缓冲区队列里申请一个缓冲区使用,使用完毕后仍归还到该队列;当输出设备进行输出时,就到输出缓冲首指针所指的缓冲区队列中申请一个缓冲区使用,使用完毕后仍归还到该队列。(4)缓冲池:系统为同类型的I/O设备设置一个公共缓冲队列,既用于输入,也用于输出。它是多缓冲的一种变异,以避免缓冲区使用上忙闲不均的现象。于是,在缓冲池中有3类缓冲区,一类现在用于输入;一类现在用于输出;还有一类为空闲,既可用于输入,也可用于输出。无论现在用于输入的还是用于输出的,它们在用完后,都归还到空闲的缓冲区队列中,受系统的统一管理和调配。4.缓冲池(bufferpool)缓冲区队列:三种:空闲缓冲区,输入缓冲区,输出缓冲区操作:四种:设备输入,CPU读入,设备输出,CPU写出。上述操作访问各个缓冲区队列时,需要进行相应的互斥操作。这是一种双方向缓冲技术;缓冲区整体利用率高。6.3设备分配

由于外设资源的有限,需解决进程间的外设共享问题,以提高外设资源的利用率。 设备分配是对进程使用外设过程的管理。设备分配应保证设备有高的利用率和避免死锁。这里有两种作法:1)在进程间切换使用外设,如键盘和鼠标;2)通过一个虚拟设备把外设与应用进程隔开,只由虚拟设备来使用设备。6.3.1设备分配数据结构设备控制表(DCT,DeviceControlTable):每个设备一张,描述设备特性和状态。反映设备的特性、设备和控制器的连接情况。DCT的内容主要包括:等待队列:等待使用该设备的进程队列;设备状态:工作或空闲状态;设备配置:I/O地址等;设备类型:反映设备的特性;如:块设备或字符设备;设备标识:用来区别不同的设备;系统设备表(SDT,SystemDeviceTable):系统内一张,反映系统中设备资源的状态,记录所有设备的状态及其设备控制表的入口。SDT表项的主要组成:DCT指针:指向相应设备的DCT;设备使用进程标识:正在使用该设备的进程标识;DCT信息:为引用方便而保存的DCT信息,如:设备标识、设备类型等;控制器控制表(COCT,ControllerControlTable):每个设备控制器一张,描述I/O控制器的配置和状态。如DMA控制器所占用的中断号、DMA数据通道的分配。通道控制表(CHCT,ChannelControlTable):每个通道一张,描述通道工作状态。6.3.2设备分配原则与设备分配有关的设备属性:独享设备:打印机等;共享设备:磁盘、网卡等;设备分配方式:各有优缺点静态分配:在进程分创建时分配,在进程退出时释放;不会出现死锁;设备利用率不高;设备分配的原则是合理使用外设(公平和避免死锁),提高设备利用率。

动态分配:在进程执行过程中根据需要分配,使用结束后释放;需要考虑死锁问题有利于提高设备利用率动态分配策略:针对特定的设备采用特定的分配策略。先来先服务(FCFS):按I/O请求的先后顺序,排成I/O请求命令队列;按FCFS分配设备;基于优先级:依据进程的优先级,指定I/O请求的优先级,排成不同优先级队列;按优先级高低分配设备;6.3.3假脱机技术引入:在多道批处理系统中,专门利用一道程序(SPOOLing程序)来完成对设备的I/O操作。无需使用外围I/O处理机。利用假脱机技术(SPOOLing,SimultaneousPeripheralOperationOnLine,即外部设备同时联机操作,也称为虚拟设备技术)可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。假脱机的原理:

SPOOLing程序和外设进行数据交换,可以称为“实际I/O”。一方面,SPOOLing程序预先从外设输入数据并加以缓冲(放在输入井中),在以后需要的时候输入到应用程序;

应用程序进行I/O操作时,只是和SPOOLing程序交换数据,可以称为"虚拟I/O"。这时虚拟I/O实际上是从SPOOLing程序的缓冲池中读出数据或把数据送入缓冲池,而不是跟实际的外设进行I/O操作。另一方面,SPOOLing程序接受应用程序的输出数据并加以缓冲(放在输出井中),在以后适当的时候输出到外设。举例:打印机设备和可由打印机管理器管理的打印作业队列。如:WindowsNT中,应用程序直接向针式打印机输出需要15分钟,而向打印作业队列输出只需要1分钟,此后用户可以关闭应用程序而转入其他工作,在以后适当的时候由打印机管理器完成15分钟的打印输出而无需用户干预。高速虚拟I/O操作:应用程序的虚拟I/O比实际I/O速度提高,缩短应用程序的执行时间。另一方面,程序的虚拟I/O操作时间和实际I/O操作时间分离开来。优点:实现对独享设备的共享:由SPOOLing程序提供虚拟设备,可以对独享设备依次共享使用。6.4磁盘设备管理6.4.1磁盘I/O访问时间的组成6.4.2磁盘I/O调度策略CPU和内存的访问速度比磁盘要快若干个数量级,磁盘系统的性能对整个系统的性能有重要影响,磁盘设备管理的目标就是提高磁盘系统的性能。磁道扇区磁盘结构柱面扇区磁臂磁头信息记录在磁道上,多个盘片,正反两面都用来记录信息,每面一个磁头。所有盘面中处于同一磁道号上的所有磁道组成一个柱面物理地址形式:磁头号(盘面号)磁道号(柱面号)扇区号6.4.1磁盘I/O访问时间的组成盘块的地址:柱面号,磁头号,扇区号柱面定位时间:磁头移动到指定柱面的机械运动时间;机械运动,花费时间最多。旋转延迟时间:磁盘旋转到指定扇区的机械运动时间;它与磁盘转速相关,如:软盘转速可为600rpm(每分钟转速),硬盘可为3600rpm。数据传送时间:从指定扇区读写数据的时间。由于柱面定位时间在访问时间中占主要部分,合理组成磁盘数据的存储位置可提高磁盘I/O性能。例子:读一个128KB大小的文件:(1)文件由8个连续磁道(每个磁道32个扇区)上的256个扇区构成:其中,柱面定位时间为20ms,旋转延迟时间为8.3ms,32扇区数据传送时间为16.7ms;所花的时间:(2)文件由256个随机分布的扇区构成:其中,1扇区数据传送时间为0.5ms;所花的时间:20ms+(8.3ms+16.7ms)*8=220ms;(20ms+8.3ms+0.5ms)*256=7373ms随机分布时的访问时间为连续分布时的33.5倍。6.4.2磁盘I/O调度策略先进先出算法优先级算法短查找时间优先算法扫描(SCAN)算法来自不同进程的磁盘I/O请求构成一个随机分布的请求队列。磁盘I/O调度的主要目标就是减少请求队列对应的平均柱面定位时间。先进先出(FIFO,FirstInFirstOut)算法:磁盘I/O执行顺序为磁盘I/O请求的先后顺序。该算法的优点:简单,公平;在磁盘I/O负载较轻且每次读写多个连续扇区时,性能较好。该算法的缺点:效率不高,相临两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利优先级算法:依据进程优先级来调整磁盘I/O请求的执行顺序。该算法反映进程在系统的优先级特征,目标是系统目标的实现,而不是改进磁盘I/O性能。假设磁盘访问序列:98,183,37,122,14,124,65,67,读写头起始位置:53短查找时间优先(SSTF,ShortestServiceTimeFirst)算法:考虑磁盘I/O请求队列中各请求的磁头定位位置,选择从当前磁头位置出发,移动最少的磁盘I/O请求。该算法的目标是使每次磁头移动时间最少。它不一定是最短平均柱面定位时间,但比FI

温馨提示

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

评论

0/150

提交评论