操作系统原理 第九章 设备管理.ppt

上传人:s****8 文档编号:77418198 上传时间:2023-03-14 格式:PPT 页数:86 大小:476.50KB
返回 下载 相关 举报
操作系统原理 第九章 设备管理.ppt_第1页
第1页 / 共86页
操作系统原理 第九章 设备管理.ppt_第2页
第2页 / 共86页
点击查看更多>>
资源描述

《操作系统原理 第九章 设备管理.ppt》由会员分享,可在线阅读,更多相关《操作系统原理 第九章 设备管理.ppt(86页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第九章设备管理计算机外部设备:在计算机系统中除CPU和内存储外所有的设备和装置称为计算机外部设备(外围设备、I/O设备)。一、I/O系统的组成1、I/O系统的结构微机型IO系统主机IO系统IO通道四级结构:IO设备、设备控制器、IO通道、计算机2IO设备概述按交互对象分类,大体分为三类:1)人可读的(人机交互设备):视频显示设备、键盘、鼠标、打印机2)机可读的(与计算机或其他电子设备交互的设备):磁盘、磁带、传感器、控制器3)通信:网卡、调制解调器按设备的使用特性分类1)输入设备:计算机用以感受或接触外部信息的设备。2)输出设备:产生人可感知的信息,或输出信息用以影响或控制其它外部装置的信息。

2、3)交互式设备:用户命令信息通过各种输入设备进入计算机系统,系统同步的在显示器上显示用户的命令信息以及执行命林后所得到的处理结果。4)存储设备:保存信息的装置按照传输速率分1)低速设备2)中速设备3)高速设备按照信息交换的单位分1)块设备:磁盘、磁带、光盘等以字符快为单位组织和处理信息的设备能够随时读写其中的任何一块而与所有别的快无关,外存设备都是块设备。2)字符设备:键盘、终端、打印机等以字符为单位组织和处理信息的设备字符设备传递或接受一连串的字符,不考虑任何块结构。它不寻址,并且没有查找操作,这样,终端、鼠标、键盘、打印机、网络接口都是字符设备。从资源分配角度分1)独占设备:打印机、磁带机

3、2)共享设备:磁盘3)虚拟设备3、设备控制器(io设备的硬件部分)IO设备通常有电子和机械两部分组成,电子部分称作设备控制器或适配卡.(DeviceController或Adapter)就是大家常见的各种接口卡,插入到计算机内部。控制卡上通常有一个可插接的控制器,通过电缆与设备内部相连。机械部分是设备本身。设备控制器是CPU和IO设备之间的接口,接收CPU传来的io命令,控制io设备工作。它通常具有以下功能:1)接收和识别命令2)数据交换3)设备状态的了解和报告4)地址识别4、IO通道在计算机中,io通道是一种特殊的处理器,专门负责输入/输出,控制设备于内存直接进行数据交换,通道有自己的指令系

4、统(一般只有数据传送指令、设备控制指令等),通道没有自己的内存,它所执行的程序是存放在主机内存的,与cpu共享内存。目的:建立独立的io操作,不仅数据的传送能独立于cpu,而且也希望有关io操作的组织、管理及结束也尽量独立,保证cpu有更多的时间处理数据。或者说将原来由cpu处理的io任务转由通道来承担,把cpu从繁杂的io任务重解脱出来。1)字节多路通道数据传输以字节为单位,主要用于连接大量低速设备,如打印机。该通道含有许多非分配型子通道,每个子通道连接一个设备,采用时间片轮转方式共享主通道。以字节为单位交叉传输,当一台传送一个字节后,腾出主通道,让另一个子通道使用主通道,立即转去为另一台传

5、送字节。2)数组选择通道用来连接多个高速设备,但只有一个分配型子通道,一段时间只能执行一个通道程序,控制一个设备进行数据传送,效率比较低。当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序。这种通道以组方式工作,每次传送一批数据。主要连接磁盘,磁带等高速I/O设备。选择通道选择通道3)数组多路通道结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点,数据传送以块为单位。通道所连接的几个设备可并行工作。先选择一台传送一批数据,再选择另一台,即几台设备的通道程序都在执行中,它相当于多道程序设计技术在通道中的应用。单通道I/O系统“瓶颈”问题:目前要使用设备4,

6、就必须用到通道1和控制器2,但如果这个通道或者这个控制器已经给其他的设备占用,则无法启动设备4。“瓶颈”问题:由于通道的数量比较少,因而在运行的过程中会产生瓶颈问题,导致系统的吞吐量下降。解决办法:1、提高IO设备的独立性,以减少占用通道的时间2、增加通路增加设备到主机之间的通路,是解决“瓶颈”问题最有效的方法,即可把一个设备连接到多个控制器上,而一个控制器又被连接到多个通道上多通道I/O系统二、IO控制方式1程序io方式当用户进程需要输入数据时,由处理器向设备控制器发出一条io指令启动io设备进行输入,在设备输入数据期间,处理器通过循环执行测试指令不间断的测试设备状态寄存器的值,当状态寄存器

7、的值显示设备输入完成时,处理器将数据寄存器的数据取出,送入内存制定单元,在启动设备去读下一个数据。优点:控制简单,不需要硬件支持缺点:cpu利用率低,因为cpu执行指令的速度高出io设备几个数量级,循环测试过程中,浪费了大量的cpu时减。CPU和外设只能串行工作;CPU在同一时间内只能和一台外设交换数据;只适合于与外设速度慢的设备。2中断驱动io方式处理器给模块发送io指令,然后继续作其他一些有用的工作,当io模块准备好与处理器交换数据时,它将打断处理器并请求服务。处理器和前面一样执行数据传送,然后恢复它以前的处理。优点:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序。缺点

8、:a.I/O控制寄存器的数据寄存器小,对大量数据传输中断次数较多,耗去CPU大量时间;b.不适合于高速I/O设备。也就是说外设将数据送入数据寄存器发出中断请求后,CPU有足够的时间将数据取走,否则可能造成CPU来不及取走数据而造成数据的丢失。3直接存贮器存取方式又称存储器直接存取方式,它是在内存和外设之间开辟直接的数据交换通路,由DMA控制器完成数据交换。DMA控制器的组成命令/状态寄存器CR内存地址寄存器MAR数据寄存器DR数据计数器DCDMA工作过程(以磁盘数据读入为例)1)CPU向磁盘控制器发送一条读命令到CR中,目标起始地址到MAR中,数据字节数到DC中,磁盘中的源地址到控制器的控制逻

9、辑上;2)启动DMA控制器进行数据传送(窃用总线周期),此后,CPU可以执行其它任务;3)DMA控制器按照命令每传送一个字节,修改并检查DC中的数值;4)若DC中的值不为0,则继续传送下一个字节;为0,则发出一个中断请求。DMA模块可以由系统总线中一个独立的模块执行,也可以并入一个io模块中。由DMA模块直接从存储器中或者往存储器中传送整个数据块,每次传送一个字,传送结束,DMA模块给处理器发一个中断信号,因此只有在开始传送和结束传送的时候用到处理器。有时会有总线竞争的情况发生,处理器用总线时可能稍作等待,不会引起中断,不引起程序上下文的保存,通常过程只有一个总线周期优点:CPU只需干预I/O

10、操作的开始和结束,而其中的一批数据读写无需CPU控制,适于高速设备。特点:p129DMA方式与中断方式的不同1)中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理2)DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理,大大减少了CPU进行中断处理的次数3)中断方式的数据传送是由CPU控制完成的,而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的4io通道方式独立于中央处理器,专门负责数据I/O传输的处理机它对外设实现统一管理代替CPU对I/O操作进行控制使CPU和外设可以并行工作引入通道的目的:为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设

11、备、设备与设备之间的并行度。通道又称I/O处理机。它也是完成内存与外设之间的直接的数据交换。采用通道技术后,不仅能实现CPU与通道之间的并行操作,而且通道与通道之间、各通道上连接的外设之间都能实现并行操作。与DMA方式类似,也是一种以内存为中心,实现设备与内存直接交换数据的控制方式。不同于DMA的是,通道有自己的通道指令,并设有通道控制器和自己的指令执行机构。只要CPU发出通道启动指令,指出通道相应的操作和I/O设备,该指令就可启动通道并使通道从内存调出相应的通道指令执行。优点:执行一个通道程序可以完成几批I/O操作。总结总结:简单对比四种简单对比四种io控制方式控制方式程程序序控控制制方方式

12、式:忙-等方式,即在处理器向设备控制器发出一条io指令时,要不断循环测试,以测试的方式等待设备操作完毕,cpu花费大量的时间用在设备io的等待上,cpu利用率较低。中中断断驱驱动动io控控制制方方式式:通过中断方式来驱动,当进程需要启动io外设时,向外部设备发出一条io指令后,立即返回继续执行后续任务,设备控制器按照要求控制外部设备,当io操作完成后,设备控制器向cpu发出中断请求,让cpu进行处理。这种方式每传送完一项数据中断cpu一次,对cpu的干扰还是相当频繁的。DMA方方式式:这种方式一次可以传送一个连续区域的数据,每传送完一个连续区域就像cpu发出一次中断,与前两种方式相比,该方式对

13、cpu的干扰比较少。Io通通道道方方式式:由通道程序控制,可以一次传送多个不连续的区域的数据,当程序执行结束时,也就是将控制的所有数据传送完毕后才向cpu发送中断。所以是效率最高的方式,主要用于大中型计算机系统中。三、缓冲管理1、缓冲的引入1)缓和cpu和io设备间速度不匹配的矛盾2)减少中断cpu的次数,放宽对中断响应的要求3)提高cpu、通道和io设备之间的并行性2、缓冲区及其管理缓冲的实现方式有两种:一种是采用硬件缓冲器实现,譬如说在io控制器中的数据缓冲寄存器;另一种是在内存中划出一块存储区,专门用来临时存放输入、输出数据,这个数据叫做缓冲区。1)单缓冲用户进程工作区缓冲区I/O设备输

14、入传送设备和处理器之间设置一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。Io设备和处理机交换数据时,先把被交换的数据写入缓冲区,然后,需要数据的设备或处理机从缓冲区取走数据。由于缓冲区属于临界资源,也就是不允许多个进程同时对一个缓冲区进行操作,因此,尽管单缓冲可以匹配设备和处理机的处理速度,但是不能通过单缓冲达到并行的目的。2)双缓冲用户进程工作区缓冲区I/O设备缓冲区两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。在双缓冲方案中,具体的做法是为输入或输出操作设置两个缓冲区buffer1和buffer2。输入时,输入设备先将数据送入第一缓冲

15、区,装满后转向第二缓冲区,此时os可以从第一缓冲区中溢出数据送用户进程区。双缓冲方式和单缓冲方式相比,虽然双缓冲方式能进一步提高CPU和外设的并行程度,并能使输入设备和输出设备并行工作,但是在实际系统中很少采用这一方式,这是因为在计算机系统中的外设很多,又有大量的输入和输出,同时双缓冲很难匹配设备和CPU的处理速度。因此现代计算机系统中一般使用环形缓冲或缓冲池结构。3)环形缓冲(circularbuffer):多个缓冲区,CPU和外设的处理速度可以相差较大。环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来,每个缓冲区中有一个指向下一个缓冲的指针,最后一个缓冲区的

16、指针指向第一个缓冲区,这样n个缓冲区就成了一个环形。4)缓冲池由多个大小相等的缓冲区组成,与环形缓冲不同的是池中每个缓冲区可供多个进程共享,且既能用于输入,也能用户输出。1)缓冲池的结构系统把各缓冲区按其使用状况分成三个队列:a.空白缓冲队列em,其队首、队尾指针为F(em)、L(em);b.装满输入数据的输入缓冲队列in,队首队尾指针F(in)、L(in);c.装满输出数据的输出缓冲队列out,队首队尾指针F(out)、L(out).在缓冲池中有4种工作缓冲区:a.用于收容设备输入数据的收容输入缓冲区hin;b.用于提取设备输入数据的提取输入缓冲区sin;c.用于收容CPU输出数据的收容输出

17、缓冲区hout;d.用于提取CPU输出数据的提取输出缓冲区sout。缓冲池收容输入提取输入提取输出收容输出hinsinsouthout用户程序常用的两个操作:Getbuf(type,number)申请使用type型队列的缓冲区,区号为numberPutbuf(type,work_buf),将workbuf这种工作缓冲区放到type类型的队列中输入过程:从空缓冲区队列F(em)取得一个空缓冲区作为hin,外设将其装满数据后放入输入缓冲队列F(in),从输入缓冲队列F(in)取得一个装满数据的缓冲区作为工作缓冲区的输入缓冲区sin,CPU读取其中的数据,读完,将缓冲区放入空缓冲队列F(em)。输出

18、过程:从空缓冲队列F(em)取得一个空缓冲区作为工作缓冲区的输出缓冲区hout,CPU将其装满数据后放入输出缓冲队列F(out),从输出缓冲队列F(out)取得一个装满数据的缓冲区作为工作缓冲区的输出缓冲区sout,外设读取其中的数据,读完,将缓冲区放入空缓冲区队列F(em)。四、设备分配设备分配的任务是按照规定的策略为申请设备的进程分配合适的设备、控制器和通道。1、设备分配中的数据结构设备控制表()每个设备一个DCT表设备类型设备标识设备忙/闲标记COCT指针等待队列首指针等待队列尾指针系统为每个io设备都配置了一张用于记录本设备情况的设备控制表,反映了设备的特性、设备和控制器的连接情况。控

19、制器表()每个控制器一个控制器标识控制器忙/闲标识CHCT指针控制器等待队列首指针控制器等待队列尾指针.每个控制器有一张COCT,反映io控制器的使用状态以及和通道的连接情况等。(DMA方式时,没有通道的连接情况这个项)通道表(H)每个通道一个通道标识通道忙/闲标识COCT指针通道等待队列首指针通道等待队列尾指针.在通道控制方式的系统中存在,每个通道一张系统设备表()整个系统一个表目1表目i设备类型设备标识获得设备的进程DCT指针.SDT记录系统中所有物理设备的情况,每个物理设备占了一个表项。SDT表的主要意义在于反映系统中设备资源的状态,即系统中有多少设备,有多少是空闲的,又有多少已经分配给

20、了哪些进程。2、设备分配策略(1)设备的固有属性1)独占分配2)共享分配3)虚拟分配(2)io设备的分配算法1)先来先服务2)优先级高者先分配(3)设备分配的安全性1)安全分配方式2)不安全分配方式3、设备独立性(设备无关性)用户程序独立与具体使用的物理设备,也就是说除了直接与设备打交道的低层软件之外,其他部分的软件并不依赖与硬件。逻辑设备表LUT用于将逻辑设备映射到物理设备,表914、独占设备分配方法分配设备分配控制器分配通道5、SPOOLing技术1)什么是SPOOLing技术多道程序设计中处理独占io设备的一种技术,它可以提高设备利用率并缩短单个程序的响应时间。它通过共享设备来模拟独占型

21、设备的动作,使独占型设备成为共享设备,从而提高设备利用率和系统的效率,也成为假脱机技术。SPOOLing程序和外设进行数据交换,可以称为“实际I/O”。一方面,SPOOLing程序预先从外设输入数据并加以缓冲,在以后需要的时候输入到应用程序;另一方面,SPOOLing程序接受应用程序的输出数据并加以缓冲,在以后适当的时候输出到外设。在SPOOLing程序中,需要管理两级缓冲区:内存缓冲区和快速外存上的缓冲池,后者可以暂存多批I/O操作的较多数据。应用程序进行I/O操作时,只是和SPOOLing程序交换数据,可以称为虚拟I/O。这时虚拟I/O实际上是从SPOOLing程序的缓冲池中读出数据或把数

22、据送入缓冲池,而不是跟实际的外设进行I/O操作。2)SPOOLing系统的组成(1)输入井和输出井(外存)磁盘上开辟的两个存储区域。(2)输入缓冲区和输出缓冲区(内存)(3)输入进程SPi和输出进程SPo3)SPOOLing系统的工作过程4)共享打印机由输出进程在输出井中为之申请一个空闲磁盘块区,并将要打印的数据送入其中;输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上。五、磁盘IO1、磁盘性能概述1)固定头磁盘2)移动头磁盘2、数据的组织柱面号、磁头号、扇区号3、磁盘访问时间1)寻道时间Ts:把磁头从当前位置移动到指定磁道上所经历的时间

23、,由启动磁盘的时间S和磁头移动n条磁道所经历的时间。2)旋转延迟时间Tr:固定扇区转动到磁头下面所经历的时间3)传输时间Tt:把数据从磁盘读出或向磁盘写入数据所经历的时间4、磁盘调度算法1)先来先服务FCFS根据进程请求访问磁盘的先后次序进行调度优点:公平、简单;缺点:平均寻道时间可能较长,仅适用于磁盘请求较少的场合。2)最短寻道时间优先SSTF 选择要求访问的磁道与当前磁头所在的磁道距离最近的进程(磁盘请求),使每次的寻道时间最短。SSTF算法虽然能获得较好的寻道性能,但却可能导致某个进程发生“饥饿”(Starvation)现象。因为只要不断有新进程的请求到达,且其所要访问的磁道与磁头当前所

24、在磁道的距离较近,这种新进程的I/O请求必须优先满足。对SSTF算法略加修改后所形成的SCAN算法,即可防止老进程出现“饥饿”现象。3)扫描算法SCAN磁头每次只作单方向移动,直到到达边缘磁道为止,然后再作反向移动。下一次待访问的磁道只能在此头移动的前方,且选择磁头移动距离最近的一个磁盘请求响应。又称为“电梯调度算法”。消除了饥饿现象。4)扫描CSCAN磁头只作由内向外的单方向扫描,到达外边缘后,则返回最内侧的磁道重新进行下一轮扫描。改进了对于边缘区磁道访问的不公平。5)N-Step-SCAN算法“磁臂粘着”现象:一个或几个进程对某一磁道有较高的访问频率时,造成磁头的“不移动”现象。N步扫描:

25、把磁盘访问请求排成长度为N的多个队列。系统在处理完一个磁盘请求队列的工作后,再响应其它队列的请求。6)FSCAN算法 对N步扫描的简化。只排两个队列:当前队列、等待队列。六、IO软件的组成IO设备管理软件结构的基本思想是分层构造,把设备管理软件组织成一系列的层次,低层与硬件相关,高层则向用户提供提供一个友好清晰而统一的接口。一般的io软件分为四层,中断处理程序、设备驱动程序、与设备无关的操作系统软件和用户级软件。从功能上看,与设备无关层是io管理的主要部分,从代码量上看,设备驱动层是io管理的主要部分。1、中断处理程序1)中断的基本概念 CPU对系统发生的某个事件作出的一种反应CPU暂停正在执

26、行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序特点:特点:(1)中断随机的(2)中断是可恢复的(3)中断是自动处理的几个重要概念:中断源中断请求中断响应禁止中断开、关中断中断屏蔽2)中断的分类和优先级外中断(中断)内中断(陷阱)3)软中断通过硬件产生相应的中断请求,称为硬中断。软中断是通信进程之间通过模拟硬中断而实现的一种通信方式。4)中断处理过程5)设备管理程序和中断方式2、设备驱动程序设备密切相关的代码放在设备驱动程序中,每个设备驱动程序处理一种设备类型每一个控制器都设有一个或多个设备寄存器,用来存放向设备发送的命令和参数。设备驱动程序负责释放

27、这些命令,并监督它们正确执行 一般,设备驱动程序的任务是接收来自与设备无关的上层软件的抽象请求,并执行个请求。1)设备驱动程序的功能l接收由I/O进程发来的命令和参数,转换为具体要求;l检查用户I/O请求的合法性,了解设备状态,传递或设置参数;l发出I/O命令,启动设备,或挂在相应的设备队列上;l及时响应由控制器或通道发来的中断请求;l对于设有通道的计算机系统,根据I/O请求自动构成通道程序。2)设备驱动程序的特征:与io设备的硬件结构密切联系3)设备驱动程序的结构4)设备驱动程序层的内部策略(1)确定是否发请求(2)确定发出什么(3)发布命令(4)发后处理(5)中断时被调用驱动程序的事后处理

28、3、与设备无关的系统软件主要功能1)统一命名:负责把设备的符号映射相应得设备驱动程序上。2)设备保护3)提供与设备无关的逻辑快4)缓冲5)存储设备的块分配6)独占设备的分配和释放7)出错处理4、用户空间的io软件尽管大部分IO软件都包含在操作系统中,但仍有一小部分是由与用户程序连接在一起的库过程,甚至完全由运行于核外的程序构成。系统调用,包括IO系统调用,通常由库过程实现这些过程所做的工作只是将系统调用时所用的参数放在合适的位置,由其它的IO过程实际实现真正的操作(1)用户进程层执行输入输出系统调用,对IO数据进行格式化,为假脱机输入输出作准备(2)独立于设备的软件实现设备的命名、设备的保护、成块处理、缓冲技术和设备分配(3)设备驱动程序设置设备寄存器、检查设备的执行状态(4)中断处理程序负责IO完成时,唤醒设备驱动程序进程,进行中断处理(5)硬件层实现物理IO的操作

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 施工组织

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com