操作系统原理 第九章 设备管理.ppt_第1页
操作系统原理 第九章 设备管理.ppt_第2页
操作系统原理 第九章 设备管理.ppt_第3页
操作系统原理 第九章 设备管理.ppt_第4页
操作系统原理 第九章 设备管理.ppt_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、盘、打印机、网络接口都是字符设备。,从资源分配角度分 1) 独占设备:打印机、磁带机 2) 共享设备:磁盘 3) 虚拟设备,3、设备控制器(io设备的硬件部分) IO设备通常有电子和机械两部分组成,电子部分称作设备控制器或适配卡.(Device Controller或Adapter)就是大家常见的各种接口卡,插入到计算机内部。控制卡上通常有一个可插接的控制器,通过电缆与设备内部相连。 机械部分是设备本身。,设备控制器是CPU和IO设备之间的接口,接收CPU传来的io命令,控制io设备工作。它通常具有以下功能: 1) 接收和识别命令 2) 数据交换 3) 设备状态的了解和报告 4) 地址识别,4

4、、IO通道 在计算机中,io通道是一种特殊的处理器,专门负责输入/输出,控制设备于内存直接进行数据交换,通道有自己的指令系统(一般只有数据传送指令、设备控制指令等),通道没有自己的内存,它所执行的程序是存放在主机内存的,与cpu共享内存。,目的:建立独立的io操作,不仅数据的传送能独立于cpu,而且也希望有关io操作的组织、管理及结束也尽量独立,保证cpu有更多的时间处理数据。或者说将原来由cpu处理的io任务转由通道来承担,把cpu从繁杂的io任务重解脱出来。,1) 字节多路通道 数据传输以字节为单位,主要用于连接大量低速设备,如打印机。该通道含有许多非分配型子通道,每个子通道连接一个设备,

5、采用时间片轮转方式共享主通道。以字节为单位交叉传输,当一台传送一个字节后,腾出主通道,让另一个子通道使用主通道,立即转去为另一台传送字节。,2) 数组选择通道 用来连接多个高速设备,但只有一个分配型子通道,一段时间只能执行一个通道程序,控制一个设备进行数据传送,效率比较低。当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序。这种通道以组方式工作,每次传送一批数据。主要连接磁盘,磁带等高速I/O设备。,3) 数组多路通道 结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点,数据传送以块为单位。通道所连接的几个设备可并行工作。先选择一台传送一批数据,再选择另

6、一台,即几台设备的通道程序都在执行中,它相当于多道程序设计技术在通道中的应用。,单通道I/O系统,“瓶颈”问题:目前要使用设备4,就必须用到通道1和控制器2,但如果这个通道或者这个控制器已经给其他的设备占用,则无法启动设备4。,“瓶颈”问题:由于通道的数量比较少,因而在运行的过程中会产生瓶颈问题,导致系统的吞吐量下降。,解决办法: 1、提高IO设备的独立性,以减少占用通道的时间 2、增加通路 增加设备到主机之间的通路,是解决“瓶颈”问题最有效的方法,即可把一个设备连接到多个控制器上,而一个控制器又被连接到多个通道上,多通道I/O系统,二、IO控制方式 1 程序io方式 当用户进程需要输入数据时

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

8、时,它将打断处理器并请求服务。处理器和前面一样执行数据传送,然后恢复它以前的处理。,优点:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序。 缺点: a. I/O控制寄存器的数据寄存器小,对大量数据传输中断次数较多,耗去CPU大量时间; b. 不适合于高速I/O 设备。也就是说外设将数据送入数据寄存器发出中断请求后,CPU有足够的时间将数据取走,否则可能造成CPU来不及取走数据而造成数据的丢失。,3 直接存贮器存取方式 又称存储器直接存取方式,它是在内存和外设之间开辟直接的数据交换通路,由DMA 控制器完成数据交换。,DMA控制器的组成 命令/状态寄存器CR 内存地址寄存器M

9、AR 数据寄存器DR 数据计数器DC,DMA工作过程(以磁盘数据读入为例) 1)CPU向磁盘控制器发送一条读命令到CR中,目标起始地址到MAR中,数据字节数到DC中,磁盘中的源地址到控制器的控制逻辑上; 2)启动DMA控制器进行数据传送(窃用总线周期),此后,CPU可以执行其它任务; 3)DMA控制器按照命令每传送一个字节,修改并检查DC中的数值; 4)若DC中的值不为0,则继续传送下一个字节;为0,则发出一个中断请求。,DMA模块可以由系统总线中一个独立的模块执行,也可以并入一个io模块中。 由DMA模块直接从存储器中或者往存储器中传送整个数据块,每次传送一个字,传送结束,DMA模块给处理器

10、发一个中断信号,因此只有在开始传送和结束传送的时候用到处理器。有时会有总线竞争的情况发生,处理器用总线时可能稍作等待,不会引起中断,不引起程序上下文的保存,通常过程只有一个总线周期,优点:CPU只需干预I/O操作的开始和结束,而其中的一批数据读写无需CPU控制,适于高速设备。 特点:p129,DMA方式与中断方式的不同 1)中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理 2)DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理,大大减少了CPU进行中断处理的次数 3)中断方式的数据传送是由CPU控制完成的,而DMA方式则是在DMA控制器的控制下不经过CPU控制

11、完成的,4 io通道方式 独立于中央处理器,专门负责数据I/O传输的处理机 它对外设实现统一管理 代替CPU对I/O操作进行控制 使CPU和外设可以并行工作,引入通道的目的:为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备、设备与设备之间的并行度。 通道又称I/O处理机。它也是完成内存与外设之间的直接的数据交换。采用通道技术后,不仅能实现CPU与通道之间的并行操作,而且通道与通道之间、各通道上连接的外设之间都能实现并行操作。,与DMA方式类似,也是一种以内存为中心,实现设备与内存直接交换数据的控制方式。不同于DMA的是,通道有自己的通道指令,并设有通道控制器和自己的指令执行机构。只

12、要CPU发出通道启动指令,指出通道相应的操作和I/O设备,该指令就可启动通道并使通道从内存调出相应的通道指令执行。 优点:执行一个通道程序可以完成几批I/O操作。,总结:简单对比四种io控制方式 程序控制方式:忙-等方式,即在处理器向设备控制器发出一条io指令时,要不断循环测试,以测试的方式等待设备操作完毕,cpu花费大量的时间用在设备io的等待上,cpu利用率较低。 中断驱动io控制方式:通过中断方式来驱动,当进程需要启动io外设时,向外部设备发出一条io指令后,立即返回继续执行后续任务,设备控制器按照要求控制外部设备,当io操作完成后,设备控制器向cpu发出中断请求,让cpu进行处理。这种

13、方式每传送完一项数据中断cpu一次,对cpu的干扰还是相当频繁的。,DMA方式:这种方式一次可以传送一个连续区域的数据,每传送完一个连续区域就像cpu发出一次中断,与前两种方式相比,该方式对cpu的干扰比较少。 Io通道方式:由通道程序控制,可以一次传送多个不连续的区域的数据,当程序执行结束时,也就是将控制的所有数据传送完毕后才向cpu发送中断。所以是效率最高的方式,主要用于大中型计算机系统中。,三、缓冲管理 1、缓冲的引入 1)缓和cpu和io设备间速度不匹配的矛盾 2)减少中断cpu的次数,放宽对中断响应的要求 3)提高cpu、通道和io设备之间的并行性,2、缓冲区及其管理 缓冲的实现方式

14、有两种: 一种是采用硬件缓冲器实现,譬如说在io控制器中的数据缓冲寄存器; 另一种是在内存中划出一块存储区,专门用来临时存放输入、输出数据,这个数据叫做缓冲区。,1)单缓冲,设备和处理器之间设置一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。,Io设备和处理机交换数据时,先把被交换的数据写入缓冲区,然后,需要数据的设备或处理机从缓冲区取走数据。由于缓冲区属于临界资源,也就是不允许多个进程同时对一个缓冲区进行操作,因此,尽管单缓冲可以匹配设备和处理机的处理速度,但是不能通过单缓冲达到并行的目的。,2)双缓冲,两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设

15、的速度相近。,在双缓冲方案中,具体的做法是为输入或输出操作设置两个缓冲区buffer1和buffer2。输入时,输入设备先将数据送入第一缓冲区,装满后转向第二缓冲区,此时os可以从第一缓冲区中溢出数据送用户进程区。,双缓冲方式和单缓冲方式相比,虽然双缓冲方式能进一步提高CPU和外设的并行程度,并能使输入设备和输出设备并行工作,但是在实际系统中很少采用这一方式,这是因为在计算机系统中的外设很多,又有大量的输入和输出,同时双缓冲很难匹配设备和CPU的处理速度。因此现代计算机系统中一般使用环形缓冲或缓冲池结构。,3)环形缓冲(circular buffer):多个缓冲区,CPU和外设的处理速度可以相

16、差较大。,环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来,每个缓冲区中有一个指向下一个缓冲的指针,最后一个缓冲区的指针指向第一个缓冲区,这样n个缓冲区就成了一个环形。,4)缓冲池 由多个大小相等的缓冲区组成,与环形缓冲不同的是池中每个缓冲区可供多个进程共享,且既能用于输入,也能用户输出。,1)缓冲池的结构 系统把各缓冲区按其使用状况分成三个队列: a. 空白缓冲队列em,其队首、队尾指针为F(em)、L(em); b. 装满输入数据的输入缓冲队列in,队首队尾指针F(in)、L(in); c. 装满输出数据的输出缓冲队列out,队首队尾指针F(out)、L(o

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

18、取得一个装满数据的缓冲区作为工作缓冲区的输入缓冲区sin,CPU读取其中的数据,读完,将缓冲区放入空缓冲队列F(em)。 输出过程: 从空缓冲队列F(em)取得一个空缓冲区作为工作缓冲区的输出缓冲区hout,CPU将其装满数据后放入输出缓冲队列F(out),从输出缓冲队列F(out)取得一个装满数据的缓冲区作为工作缓冲区的输出缓冲区sout,外设读取其中的数据,读完,将缓冲区放入空缓冲区队列F(em)。,四、设备分配 设备分配的任务是按照规定的策略为申请设备的进程分配合适的设备、控制器和通道。,1 、设备分配中的数据结构 设备控制表()每个设备一个,系统为每个io设备都配 置了一张用于记录本设

19、备情况的设备控制表,反映了设备的特性、设备和控制器的连接情况。,控制器表()每个控制器一个,每个控制器有一张COCT,反映io控制器的使用状态以及和通道的连接情况等。(DMA方式时,没有通道的连接情况这个项),通道表(H)每个通道一个,在通道控制方式的系统中存在,每个通道一张,系统设备表()整个系统一个,记录系统中所有物理设备的情况,每个物理设备占了一个表项。SDT表的主要意义在于反映系统中设备资源的状态,即系统中有多少设备,有多少是空闲的,又有多少已经分配给了哪些进程。,2、设备分配策略 (1)设备的固有属性 1)独占分配 2)共享分配 3)虚拟分配,(2)io设备的分配算法 1)先来先服务

20、 2)优先级高者先分配 (3)设备分配的安全性 1)安全分配方式 2)不安全分配方式,3、设备独立性(设备无关性) 用户程序独立与具体使用的物理设备,也就是说除了直接与设备打交道的低层软件之外,其他部分的软件并不依赖与硬件。 逻辑设备表LUT用于将逻辑设备映射到物理设备,表91,4、独占设备分配方法 分配设备分配控制器分配通道,5、SPOOLing技术 1)什么是SPOOLing技术 多道程序设计中处理独占io设备的一种技术,它可以提高设备利用率并缩短单个程序的响应时间。它通过共享设备来模拟独占型设备的动作,使独占型设备成为共享设备,从而提高设备利用率和系统的效率,也成为假脱机技术。,SPOO

21、Ling程序和外设进行数据交换,可以称为“实际I/O”。一方面,SPOOLing程序预先从外设输入数据并加以缓冲,在以后需要的时候输入到应用程序;另一方面,SPOOLing程序接受应用程序的输出数据并加以缓冲,在以后适当的时候输出到外设。 在SPOOLing程序中,需要管理两级缓冲区:内存缓冲区和快速外存上的缓冲池,后者可以暂存多批I/O操作的较多数据。 应用程序进行I/O操作时,只是和SPOOLing程序交换数据,可以称为虚拟I/O。这时虚拟I/O实际上是从SPOOLing程序的缓冲池中读出数据或把数据送入缓冲池,而不是跟实际的外设进行I/O操作。,2)SPOOLing系统的组成 (1)输入

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

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

24、/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暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序,特点: (1) 中断随机的 (2) 中断是可恢复的 (3) 中断是自动处理的,几个重要概念:中断源 中断请求 中断响应 禁止中断 开、关中断 中断屏蔽,2)中断的分类和优先级 外中断(中断) 内中断(陷阱),3) 软中断 通过硬件产生相应的中断请求,称为硬中断。 软中断是通信进程之间通过模拟硬

温馨提示

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

评论

0/150

提交评论