操作系统设备管理.doc

上传人:仙人指路1688 文档编号:3796599 上传时间:2023-03-22 格式:DOC 页数:9 大小:812KB
返回 下载 相关 举报
操作系统设备管理.doc_第1页
第1页 / 共9页
操作系统设备管理.doc_第2页
第2页 / 共9页
操作系统设备管理.doc_第3页
第3页 / 共9页
操作系统设备管理.doc_第4页
第4页 / 共9页
操作系统设备管理.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《操作系统设备管理.doc》由会员分享,可在线阅读,更多相关《操作系统设备管理.doc(9页珍藏版)》请在三一办公上搜索。

1、设备管理I/O系统 I/O控制方式 缓冲管理 设备分配 设备处理 磁盘存储器管理 设备管理的基本任务:完成用户提出的I/O请求;提高I/O速率;提高I/O设备的利用率。 设备管理的主要功能:缓冲区管理、设备分配、设备处理、虚拟设备、实现设备独立性等一、I/O系统概述n I/O设备分类n 设备与控制器之间的接口n 设备控制器n I/O通道I/O重要的性能指标:数据传输速率数据的传输单位设备共享属性1、I/O设备的类型 1) 按传输速率分类 2) 按信息交换的单位分类 3) 按设备的共享属性分类1) 按传输速率分类低速设备,这是指其传输速率仅为每秒钟几个字节至数百个字节的一类设备。中速设备,这是指

2、其传输速率在每秒钟数千个字节至数万个字节的一类设备。高速设备, 这是指其传输速率在数百千个字节至数十兆字节的一类设备。2) 按信息交换的单位分类块设备(Block Device),这类设备用于存储信息。 典型的块设备是磁盘。磁盘设备的基本特征是其传输速率较高;另一特征是可寻址,即对它可随机地读/写任一块;字符设备(Character Device),用于数据的输入和输出。 其基本单位是字符, 故称为字符设备(交互式终端、打印机) 。 其基本特征是传输速率低;另一特征是不可寻址。3) 按设备的共享属性分类(1) 独占设备。 (2) 共享设备。 (3) 虚拟设备。 2、 设备控制器设备控制器的主要

3、职责是控制一个或多个I/O设备。设备控制器是CPU与I/O设备之间的接口。n 设备控制器的主要职责是控制一个或多个I/O设备。n 设备控制器是CPU与I/O设备之间的接口。设备与控制器之间的接口 设备控制器的基本功能 1) 接收和识别命令 2) 数据交换 3) 标识和报告设备的状态 4) 地址识别 5) 数据缓冲 6) 差错控制设备控制器的组成 3、 I/O通道 I/O通道是一种特殊的处理机.(1) I/O通道(I/O Channel)的引入 降低CPU的负担 I/O通道是一种特殊的处理机 I/O 通道与一般的处理机不同,主要表现在以下两个方面: 一是其指令类型单一,其所能执行的命令,主要局限

4、于与I/O操作有关的指令; 二是通道没有自己的内存,通道所执行的通道程序是放在内存中的。(2) 通道类型(根据信息交换方式) 1) 字节多路通道 2) 数组选择通道 3) 数组多路通道 1) 字节多路通道(Byte Multiplexor Channel) 以字节为单位传送数据,主要用来连接大量的低速或中速设备。2) 数组选择通道(Block Selector Channel) 用开关来控制对高速外设的选择,在一段时间内单独为一台外设服务。3) 数组多路通道(Block Multiplexor Channel) 数组多路通道含有多个非分配型子通道, 因而这种通道既具有很高的数据传输速率,又能获

5、得令人满意的通道利用率。被广泛地用于连接多台高、中速的外围设备,其数据传送是按数组方式进行的。 (3) “瓶颈”问题 二、I/O控制方式 1、 程序I/O方式2、 中断驱动I/O控制方式3、 直接存储器访问(DMA) I/O控制方式4、 I/O通道控制方式 (一)程序I/O方式 (二)中断驱动I/O控制方式(三) 直接存储器访问 DMA I/O控制方式 1. DMA(Direct Memory Access)控制方式的引入 实现思想是外设在硬件支持下直接与内存交换成批数据而无需CPU干预该方式的特点是: 数据传输的基本单位是数据块 所传送的数据是从设备直接送入内存的,或者相反; 仅在传送一个或

6、多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。2. DMA控制器的组成 3. DMA工作过程 DMA方式与中断方式的主要区别n (1)中断方式在每个数据传送完后中断CPU,而DMA方式则是在所要求传送的一批数据全部传送结束时中断CPUn (2)中断方式的数据传送是在中断处理时由CPU控制完成的,而DMA方式则是在DMA控制器的控制下完成的。不过,在DMA方式下,数据传送的方向、存放数据的内存始址及传送数据的长度仍然由CPU控制。(四) I/O通道控制方式 1. I/O通道控制方式的引入 I/O通道方式把对一个数据块的读(或写)为单位的干预,减少为对一组数据块

7、的读(或写)及有关的控制和管理为单位的干预。 同时,又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。2. 通道程序通道是通过执行通道程序,并与设备控制器共同实现对I/O设备的控制的。 (1) 操作码。 (2) 内存地址。 (3) 计数。 (4) 通道程序结束位P。 (5) 记录结束标志R。 I/O控制可用哪几种方式实现?各有何优缺点?(1)程序控制方式n 优点是控制简单,也不需要很多硬件支持。n 但CPU和外设之间只能串行工作,且CPU的大部分时间处于循环测试状态,这使得CPU的利用率大大降低;CPU在一段时间内只能和一台外设交换数据信息,从而不能实现设备

8、之间的并行工作;由于程序直接控制方式依靠测试设备状态标志来控制数据传送,因此无法发现和处理因设备或其他硬件所产生的错误。所以,程序直接控制方式只适用于那些CPU执行速度慢且外设较少的系统。(2)中断控制方式n 优点是能实现CPU与设备、设备与设备间的并行操作,CPU的利用率较程序直接控制方式大大提高。n 但I/O控制器的数据缓冲寄存器通常较小,且数据缓冲寄存器装满数据后将会发生中断,因此一次数据传送过程中中断次数较多,耗去了大量CPU时间;如果系统中配置的外设数目较多,且都以中断方式进行控制,则将耗去大量CPU时间或因CPU来不及处理而造成数据丢失。(3)DMA方式与中断方式相比,DMA方式的

9、优点是在一批数据传送完成后中断CPU,从而大大减少了CPU进行中断处理的次数,并且DMA方式下的数据传送是在DMA控制器控制下完成的,在数据传输过程中无需CPU干预。但CPU方式仍有一定的局限,如对外设的管理和某些操作仍由CPU控制,且多个DMA控制器的使用也不经济。(4)通道控制通道是一个专管I/O工作的处理机。在通道控制方式下,CPU只需发出I/O指令,通道就能完成相应的I/O操作,并在I/O操作结束时向CPU发出中断信号。由此可见,CPU仅在I/O操作开始和结束时花极短的时间处理与I/O操作有关的事宜,其余时间都与通道并行工作,此外一个通道还能控制多台外设。通道价格较高,从经济的角度出发

10、不宜过多使用。三、缓 冲 管 理缓冲的引入 (1) 缓和CPU与I/O设备间速度不匹配的矛盾。 (2) 减少对CPU的中断频率, 放宽对CPU中断响应时间的限制。 (3) 提高CPU和I/O设备之间的并行性。 现代操作系统中,几乎所有的I/O设备在与处理机交换数据时都使用了缓冲区。实现方式:(1)专用的硬件缓冲区,如设备控制器中的数据缓冲寄存器。成本较高,数量较少。(2)内存中划出一块专门的空间,作为缓冲区来存放I/O的数据。(一)单缓冲(Single Buffer) (二)双缓冲(Double Buffer) (三)循环缓冲 1. 循环缓冲的组成 2. 循环缓冲区的使用 (1)Getbuf过

11、程。(2)Releasebuf过程。 3. 进程同步 (1)Nexti指针追赶上Nextg指针。(2) Nextg指针追赶上Nexti指针。 (四)缓冲池(Buffer Pool) 1. 缓冲池的组成对于既可用于输入又可用于输出的公用缓冲池, 其中至少应含有以下三种类型的缓冲区: 空(闲)缓冲区; 装满输入数据的缓冲区; 装满输出数据的缓冲区。 形成以下三个队列: (1) 空缓冲队列emq。 (2) 输入队列inq。 (3) 输出队列outq。 n 除了三个队列外,还应具有四种工作缓冲区:(1)用于收容输入数据的工作缓冲区(2)用于提取输入数据的工作缓冲区(3)用于收容输出数据的工作缓冲区(4

12、)用于提取输出数据的工作缓冲区3. 缓冲区的工作方式 n I/O控制方式随着计算机技术的发展而不断地由低效的方式演变为高效的方式,故在学习时应了解I/O控制方式的演变过程,每种I/O控制方式是如何进行控制的,又是如何提高CPU利用率的。n 程序I/O方式。因为当时尚未出现中断机构,所以在进行I/O时,CPU不得不花费大量的时间去测试I/O设备的工作状态,此时CPU完全陷入I/O工作中。n 中断驱动I/O控制方式。在系统中引入中断机构后,CPU就不必再不断测试。应清楚地了解和掌握在中断机构的支持下,其I/O控制是如何实现的,CPU的利用率提高了多少。n DMA I/O控制方式。在系统中配置了DM

13、A控制器后,其传输数据的基本单位是数据块。应很好地了解此时I/O控制是如何实现的,CPU的效率提高了多少。n I/O通道控制方式。系统中配置了通道控制器后,在通道程序的控制下,其传输的基本单位由一个数据块增为一组数据块。应了解什么是通道程序,它是如何实现I/O控制的。四、设 备 分 配 (一)设备分配中的数据结构 1. 设备控制表DCT 2. 控制器控制表3. 通道控制表4. 系统设备表 (二)设备分配时应考虑的因素1. 设备的固有属性 (1) 独享设备(2) 共享设备(3) 虚拟设备 2. 设备分配算法(1) 先来先服务。 (2) 优先级高者优先。 3. 设备分配中的安全性 1)安全分配方式

14、 2)不安全分配方式 (三)设备独立性 1. 设备独立性(Device Independence)的概念引入设备独立性的目的:为了提高OS的可适应性和可扩展性。 设备独立性的基本含义是: 应用程序独立于具体使用的物理设备。设备独立性的实现:在应用程序中引入了逻辑设备和物理设备这两个概念。使用逻辑设备名称来请求使用某类设备;而系统在实际执行时, 还必须使用物理设备名称。因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能。 在实现了设备独立性的功能后, 可带来以下两方面的好处: 1) 设备分配时的灵活性 2) 易于实现I/O重定向2. 设备独立性软件 1) 执行所有设备的公有操作 对独立设备

15、的分配与回收; 将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序; 对设备进行保护,禁止用户直接访问设备; 缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理, 以提高I/O的效率; 差错控制。由于在I/O操作中的绝大多数错误都与设备无关,故主要由设备驱动程序处理,而设备独立性软件只处理那些设备驱动程序无法处理的错误。2) 向用户层(或文件层)软件提供统一接口无论何种设备, 它们向用户所提供的接口应该是相同的。 例如, 对各种设备的读操作,在应用程序中都使用read; 而对各种设备的写操作,也都使用write。 3. 逻辑设备名到物理设备名映射的实现 1) 逻辑设备表2)

16、LUT的设置问题 (四) 独占设备的分配程序 1. 基本的设备分配程序 1) 分配设备 2) 分配控制器 3) 分配通道 2. 设备分配程序的改进 1) 增加设备的独立性2) 考虑多通路情况 什么是虚拟设备n 虚拟设备是指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户进程同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。(五)SPOOLing技术 1. 什么是SPOOLing 为了缓和CPU的高速性与I/O设备低速性间的矛盾而引入了脱机输入、 脱机输出技术。 该技术是利用专门的外围控制机, 将低速I/O设备上的数据传送到高速磁盘上;或者相反。事实上, 当系统中引入了多道程

17、序技术后,可以利用程序模拟脱机输入时的外围控制机功能;再用另一道程序来模拟脱机输出时外围控制机的功能。这样,便可在主机的直接控制下,实现脱机输入、 输出功能。 此时的外围操作与CPU对数据的处理同时进行, 我们把这种在联机情况下实现的同时外围操作称为SPOOLing,或称为假脱机操作。 2. SPOOLing系统的组成 3. 共享打印机 共享打印机技术已被广泛地用于多用户系统和局域网络中。 当用户进程请求打印输出时, SPOOLing系统同意为它打印输出, 但并不真正立即把打印机分配给该用户进程, 而只为它做两件事: 由输出进程在输出井中为之申请一个空闲磁盘块区, 并将要打印的数据送入其中;

18、输出进程为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中, 再将该表挂到请求打印队列上。 4. SPOOLing系统的特点 (1)I/O的速度。 (2) 将独占设备改造为共享设备。 (3) 实现了虚拟设备功能。 五、设备处理1.设备处理在系统为请求I/O的进程分配了设备及相应的数据通路之后,启动设备去进行实际的I/O操作,通常由设备驱动程序和I/O中断服务程序配合完成。2.设备处理程序主要任务n 设备处理程序(设备驱动程序):I/O进程与设备控制器之间的通信程序。n 任务: (1)接收上层软件发来的抽象请求,再把它转换为具体要求,发送给设备控制器,启动设备去执行; (2)此外

19、,它也将由设备控制器发来的信号传给上层软件。3. 设备驱动程序的功能 (1) 接收由I/O进程发来的命令和参数, 并将命令中的抽象要求转换为具体要求(2) 检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。(3) 发出I/O命令。(4) 及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。(5) 对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。 4. 设备处理方式 (1) 为每一类设备设置一个进程,专门用于执行这类设备的I/O操作。(2) 在整个系统中设置一个I/O进程,专门用于执行系统中

20、所有各类设备的I/O操作。也可以设置一个输入进程和一个输出进程,分别处理系统中所有各类设备的输入或输出。 (3) 不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块), 供用户进程或系统进程调用。 5. 设备驱动程序的特点 (1) 驱动程序是请求I/O的进程与设备控制器之间的一个通信和转换程序。 (2) 驱动程序与设备控制器和I/O设备的硬件特性紧密相关, 因而对不同类型的设备应配置不同的驱动程序。 (3) 驱动程序与I/O设备所采用的I/O控制方式紧密相关。 (4) 由于驱动程序与硬件紧密相关, 因而其中的一部分必须用汇编语言书写。 6. 设备驱动程序的处理过程 1) 将抽

21、象要求转换为具体要求 2) 检查I/O请求的合法性 3) 读出和检查设备的状态 4) 传送必要的参数 5) 工作方式的设置 6) 启动I/O设备 7. 中断处理程序的处理过程n 中断:计算机在运行过程中,出现来自系统外部、机器内部以及CPU本身的任何异常的或例外的事件时,CPU暂停执行当前正在执行的程序而转去执行响应的文件处理程序,待处理完毕后再返回原来暂停处,继续执行暂停的程序。n I/O设备完成I/O操作后,设备控制器便向CPU发送一中断请求,CPU响应后便转向中断处理程序。六、磁盘存储器管理磁盘结构磁盘类型磁盘访问时间磁盘调度1. 硬盘存储器的结构2. 磁盘的类型 1) 固定头磁盘 这种

22、磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。 这种结构的磁盘主要用于大容量磁盘上。2) 移动头磁盘 每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单, 故仍广泛应用于中小型磁盘设备中。 3.磁盘的访问时间l 磁盘上的信息以扇区为单位进行读写,平均存取时间为:T = 寻道时间+旋转等待时间+数据传输时间l 寻道时间磁头寻找到指定磁道所需时间(大约5ms)l 旋转等待时间指定扇区旋转到磁头下方所需要的时间(大约46ms) (转速: 4200/5400/7200/10000rpm)l 数据传输时间数据从磁盘读出或向磁盘写入数据所经历的时间。 (大约0.01ms/扇区)4. 磁盘调度目标是使磁盘的平均寻道时间最少。1. 先来先服务FCFS(First-Come, First Served)2. 最短寻道时间优先SSTF(Shortest Seek Time First) 3. 扫描(SCAN)算法 4. 循环扫描(CSCAN)算法

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号