《2022年操作系统设备管理 .pdf》由会员分享,可在线阅读,更多相关《2022年操作系统设备管理 .pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、设备管理I/O 系统I/O 控制方式缓冲管理设备分配设备处理磁盘存储器管理设备管理的基本任务:完成用户提出的I/O 请求 ; 提高 I/O 速率 ; 提高 I/O 设备的利用率。设备管理的主要功能:缓冲区管理、设备分配、设备处理、虚拟设备、实现设备独立性等一、 I/O 系统概述I/O 设备分类设备与控制器之间的接口设备控制器I/O 通道I/O 重要的性能指标:数据传输速率数据的传输单位设备共享属性1、I/O 设备的类型1) 2) 按信息交换的单位分类3) 按设备的共享属性分类1) 低速设备,这是指其传输速率仅为每秒钟几个字节至数百个字节的一类设备。中速设备,这是指其传输速率在每秒钟数千个字节至
2、数万个字节的一类设备。高速设备,这是指其传输速率在数百千个字节至数十兆字节的一类设备。2) 块设备 (Block Device),这类设备用于存储信息。典型的块设备是磁盘。磁盘设备的基本特征是其传输速率较高;另一特征是可寻址,即对它可随机地读/写任一块;字符设备 (Character Device),用于数据的输入和输出。其基本单位是字符,故称为字符设备 (交互式终端、打印机)。 其基本特征是传输速率低;另一特征是不可寻址。3) (1)独占设备。(2) 共享设备。(3) 虚拟设备。2、 设备控制器设备控制器的主要职责是控制一个或多个I/O 设备。设备控制器是CPU 与 I/O 设备之间的接口。
3、设备控制器的主要职责是控制一个或多个I/O 设备。设备控制器是CPU 与 I/O 设备之间的接口。设备与控制器之间的接口设备控制器的基本功能1) 接收和识别命令2) 数据交换3) 标识和报告设备的状态4) 地址识别5) 数据缓冲6) 差错控制名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 设备控制器的组成3、 I/O 通道I/O 通道是一种特殊的处理机.(1) I/O 通道 (I/O Channel) 的引入降低 CPU 的负担
4、I/O 通道是一种特殊的处理机I/O 通道与一般的处理机不同,主要表现在以下两个方面:一是其指令类型单一,其所能执行的命令,主要局限于与I/O 操作有关的指令;二是通道没有自己的内存,通道所执行的通道程序是放在内存中的。(2) 通道类型(根据信息交换方式)1) 字节多路通道2) 数组选择通道3) 数组多路通道1) 字节多路通道(Byte Multiplexor Channel) 以字节为单位传送数据,主要用来连接大量的低速或中速设备。2) 数组选择通道(Block Selector Channel) 用开关来控制对高速外设 的选择,在一段时间内单独为一台外设服务。3) 数组多路通道(Block
5、 Multiplexor Channel)数组多路通道含有多个非分配型子通道,因而这种通道既具有很高的数据传输速率,又能获得令人满意的通道利用率。被广泛地用于连接多台高、中速 的外围设备,其数据传送是按数组方式进行的。(3) “ 瓶颈 ” 问题二、 I/O 控制方式1、 程序 I/O 方式2、 中断驱动I/O 控制方式3、 直接存储器访问(DMA ) I/O 控制方式4、 I/O 通道控制方式(一)程序I/O 方式(二)中断驱动I/O 控制方式名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
6、- 第 2 页,共 9 页 - - - - - - - - - (三)直接存储器访问DMA I/O控制方式1. DMA(Direct Memory Access) 控制方式的引入实现思想是外设在硬件支持下直接与内存交换成批数据而无需CPU 干预该方式的特点是: 数据传输的基本单位是数据块 所传送的数据是从设备直接送入内存的,或者相反; 仅在传送一个或多个数据块的开始和结束时,才需CPU 干预,整块数据的传送是在控制器的控制下完成的。2. DMA 控制器的组成3. DMA 工作过程DMA 方式与中断方式的主要区别( 1)中断方式在每个数据传送完后中断CPU , 而 DMA 方式则是在所要求传送的
7、一批数据全部传送结束时中断CPU (2)中断方式的数据传送是在中断处理时由 CPU控制完成的,而DMA方式则是在DMA 控制器的控制下完成的。不过,在 DMA方式下,数据传送的方向、存放数据的内存始址及传送数据的长度仍然由CPU 控制。(四 ) I/O 通道控制方式1. I/O 通道控制方式的引入I/O 通道方式把对一个数据块的读(或写 )为单位的干预,减少为对一组数据块的读(或写 )及有关的控制和管理为单位的干预。同时,又可实现CPU、通道和I/O 设备三者的并行操作,从而更有效地提高整个系统的资源利用率。2. 通道程序通道是通过执行通道程序,并与设备控制器共同实现对I/O 设备的控制的。(
8、1)操作码。(2) 内存地址。(3) 计数。(4) 通道程序结束位P。(5) 记录结束标志R。I/O控制可用哪几种方式实现?各有何优缺点?(1)程序控制方式优点是控制简单,也不需要很多硬件支持。但 CPU 和外设之间只能串行工作,且CPU的大部分时间处于循环测试状态,这使得CPU 的利用率大大降低;CPU 在一段时间内只能和一台外设交换数据信息,从而不能实现设备之间的并行工作;由于程序直接控制方式依靠测试设备状态标志来控制数据传送,因此无法发现和处理因设备或其他硬件所产生的错误。所以,程序直接控制方式只适用于那些CPU 执行速度慢且外设较少的系统。(2)中断控制方式优点是能实现CPU 与设备、
9、设备与设备间的并行操作,CPU 的利用率较程序直接控制方式大大提高。但 I/O 控制器的数据缓冲寄存器通常较小,且数据缓冲寄存器装满数据后将会发生中断,因此一次数据传送过程中中断次数较多,耗去了大量CPU 时间;如果系统中配置的外设数目较多,且都以中断方式进行控制,则名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - 将耗去大量CPU 时间或因CPU 来不及处理而造成数据丢失。(3)DMA 方式与中断方式相比,DMA 方式的优点是在
10、一批数据传送完成后中断CPU ,从而大大减少了CPU 进行中断处理的次数,并且DMA 方式下的数据传送是在DMA控制器控制下完成的,在数据传输过程中无需CPU 干预。但 CPU 方式仍有一定的局限,如对外设的管理和某些操作仍由CPU 控制,且多个DMA控制器的使用也不经济。(4)通道控制通道是一个专管I/O 工作的处理机。 在通道控制方式下, CPU 只需发出I/O 指令,通道就能完成相应的I/O 操作,并在 I/O 操作结束时向 CPU 发出中断信号。 由此可见, CPU 仅在I/O操作开始和结束时花极短的时间处理与I/O 操作有关的事宜,其余时间都与通道并行工作,此外一个通道还能控制多台外
11、设。通道价格较高,从经济的角度出发不宜过多使用。三、缓冲 管 理缓冲的引入(1)缓和 CPU与 I/O 设备间速度不匹配的矛盾。(2) 减少对 CPU的中断频率,放宽对 CPU中断响应时间的限制。(3) 提高 CPU和 I/O 设备之间的并行性。现代操作系统中,几乎所有的I/O设备在与处理机交换数据时都使用了缓冲区。实现方式:(1)专用的硬件缓冲区,如设备控制器中的数据缓冲寄存器。成本较高,数量较少。(2)内存中划出一块专门的空间,作为缓冲区来存放I/O 的数据。(一)单缓冲(Single Buffer) (二)双缓冲(Double Buffer) (三)循环缓冲1. 循环缓冲的组成2. (1
12、)Getbuf过程。(2)Releasebuf过程。3. 进程同步(1)Nexti指针追赶上Nextg 指针。(2) Nextg指针追赶上Nexti 指针。(四)缓冲池(Buffer Pool) 1. 缓冲池的组成对于既可用于输入又可用于输出的公用缓冲池, 其中至少应含有以下三种类型的缓冲区:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - 空( 闲) 缓冲区; 装满输入数据的缓冲区; 装满输出数据的缓冲区。形成以下三个队列: (
13、1) 空缓冲队列emq 。 (2) 输入队列 inq 。 (3) 输出队列outq 。除了三个队列外,还应具有四种工作缓冲区:(1)用于收容输入数据的工作缓冲区(2)用于提取输入数据的工作缓冲区(3)用于收容输出数据的工作缓冲区(4)用于提取输出数据的工作缓冲区3. 缓冲区的工作方式I/O控制方式随着计算机技术的发展而不断地由低效的方式演变为高效的方式,故在学习时应了解I/O控制方式的演变过程,每种 I/O控制方式是如何进行控制的,又是如何提高 CPU利用率的。程序I/O方式。因为当时尚未出现中断机构,所以在进行I/O 时,CPU不得不花费大量的时间去测试I/O 设备的工作状态, 此时 CPU
14、完全陷入I/O 工作中。中断驱动I/O 控制方式。 在系统中引入中断机构后, CPU 就不必再不断测试。应清楚地了解和掌握在中断机构的支持下,其I/O控制是如何实现的,CPU的利用率提高了多少。DMA I/O 控制方式。在系统中配置了DMA 控制器后,其传输数据的基本单位是数据块。应很好地了解此时I/O控制是如何实现的,CPU的效率提高了多少。I/O 通道控制方式。系统中配置了通道控制器后,在通道程序的控制下,其传输的基本单位由一个数据块增为一组数据块。应了解什么是通道程序,它是如何实现I/O 控制的。四、设备 分 配(一)设备分配中的数据结构1. 设备控制表DCT 2. 控制器控制表3. 通
15、道控制表4. 系统设备表(二)设备分配时应考虑的因素1. 设备的固有属性(1)独享设备(2) 共享设备(3) 虚拟设备2. 设备分配算法(1)先来先服务。(2) 优先级高者优先。3. 设备分配中的安全性1) 安全分配方式名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - 2)不安全分配方式(三)设备独立性1. 设备独立性(Device Independence)的概引入设备独立性的目的:为了提高OS的可适应性和可扩展性。设备独立性的
16、基本含义是: 应用程序独立于具体使用的物理设备。设备独立性的实现:在应用程序中引入了逻辑设备和物理设备这两个概念。使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能。在实现了设备独立性的功能后,可带来以下两方面的好处: 1) 设备分配时的灵活性 2) 易于实现 I/O 重定向2. 设备独立性软件1) 对独立设备的分配与回收; 将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序;对设备进行保护,禁止用户直接访问设备; 缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理,以提高 I/O 的效率;
17、 差错控制。由于在I/O 操作中的绝大多数错误都与设备无关,故主要由设备驱动程序处理,而设备独立性软件只处理那些设备驱动程序无法处理的错误。2) 向用户层 ( 或文件层 ) 软件提供统一接口无论何种设备,它们向用户所提供的接口应该是相同的。例如,对各种设备的读操作,在应用程序中都使用read; 而对各种设备的写操作,也都使用 write 。3. 逻辑设备名到物理设备名映射的实现1)逻辑设备表2) LUT的设置问题(四)独占设备的分配程序1. 基本的设备分配程序1)分配设备2) 分配控制器3) 分配通道2. 设备分配程序的改进1)增加设备的独立性2) 考虑多通路情况什么是虚拟设备虚拟设备是指通过
18、虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户进程同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。(五) SPOOLing技术1. 什么是 SPOOLing为了缓和CPU的高速性与I/O 设备低速性间的矛盾而引入了脱机输入、脱机输出技术。该技术是利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上;或者相反。事实上,当系统中引入了多道程序技术后,可以利用程序模拟脱机输入时的外围控制机功能;再用另一道程序来模拟脱机输出时外围控制机的功能。这样,便可在主机的直接控制下,实现脱机输入、输出功能。此时的外围操作与CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时
19、外围操作称为SPOOLing ,或称为假脱机操作。2. SPOOLing 系统的组成3. 共享打印机名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - 共享打印机技术已被广泛地用于多用户系统和局域网络中。当用户进程请求打印输出时, SPOOLing系统同意为它打印输出,但并不真正立即把打印机分配给该用户进程,而只为它做两件事:由输出进程在输出井中为之申请一个空闲磁盘块区,并将要打印的数据送入其中;输出进程为用户进程申请一张空白的用户
20、请求打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上。4. SPOOLing 系统的特点(1)I/O的速度。(2) 将独占设备改造为共享设备。(3) 实现了虚拟设备功能。五、设备处理1. 设备处理在系统为请求I/O的进程分配了设备及相应的数据通路之后, 启动设备去进行实际的I/O 操作, 通常由设备驱动程序和I/O 中断服务程序配合完成。2. 设备处理程序主要任务设备处理程序(设备驱动程序):I/O进程与设备控制器之间的通信程序。任务:(1)接收上层软件发来的抽象请求,再把它转换为具体要求,发送给设备控制器,启动设备去执行;(2)此外, 它也将由设备控制器发来的信号传给上层软件。
21、3. 设备驱动程序的功能(1) 接收由 I/O 进程发来的命令和参数,并将命令中的抽象要求转换为具体要求(2) 检查用户 I/O 请求的合法性,了解I/O 设备的状态,传递有关参数,设置设备的工作方式。(3) 发出 I/O 命令。(4) 及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。(5) 对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O 请求,自动地构成通道程序。4. 设备处理方式(1) 为每一类设备设置一个进程,专门用于执行这类设备的 I/O 操作。(2) 在整个系统中设置一个I/O 进程,专门用于执行系统中所有各类设备的I/O 操作。也
22、可以设置一个输入进程和一个输出进程,分别处理系统中所有各类设备的输入或输出。(3) 不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序( 模块 ) , 供用户进程或系统进程调用。5. 设备驱动程序的特点(1) 驱动程序是请求I/O的进程与设备控制器之间的一个通信和转换程序。(2) 驱动程序与设备控制器和I/O设备的硬件特性紧密相关,因而对不同类型的设备应配置不同的驱动程序。(3) 驱动程序与 I/O 设备所采用的I/O 控制方式紧密相关。(4) 由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言书写。6. 设备驱动程序的处理过程1) 2) 检查 I/O3) 读出和检查设备的
23、状态4) 传送必要的参数5) 工作方式的设置6) 启动 I/O 设备7. 中断处理程序的处理过程中断:计算机在运行过程中,出现来自系统外部、机器内部以及CPU 本身的任何异常的或例外的事件时, CPU暂停执行当前正在执行的程序而转去执行响应的文件处理程序,待处理完毕后再返回原来暂停处,继续执行暂停的程序。I/O 设备完成 I/O 操作后,设备控制器便向CPU发送一中断请求,CPU响应后便转向中断处理程序。六、磁盘存储器管理磁盘结构磁盘类型磁盘访问时间磁盘调度1. 硬盘存储器的结构名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
24、师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - 2. 磁盘的类型1) 这种磁盘在每条磁道上都有一读/写磁头, 所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O 速度。这种结构的磁盘主2) 每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O 速度较慢;但由于其结构简单,故仍广泛应用于中小型磁盘设备中。3.磁盘的访问时间磁盘上的信息以扇区为单位进行读写,平均存取时间为:T = 寻道时间 +旋转等待
25、时间 +数据传输时间寻道时间 磁头寻找到指定磁道所需时间(大约 5ms) 旋 转 等 待 时 间 指 定 扇 区 旋 转 到 磁 头 下 方 所 需 要 的 时 间 ( 大 约4 6ms) ( 转 速 :4200/5400/7200/10000rpm) 数据传输时间 数据从磁盘读出或向磁盘写入数据所经历的时间。(大约 0.01ms/扇区 ) 4. 磁盘调度目标是使磁盘的平均寻道时间最少。1.先来先服务FCFS(First-Come, First Served) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - 2. 最 短 寻 道 时 间 优 先SSTF(Shortest Seek Time First) 3. 扫描 (SCAN) 算法4. 循环扫描(CSCAN)算法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -
限制150内