操作系统原理(第2版)课件 第7章 IO管理_第1页
操作系统原理(第2版)课件 第7章 IO管理_第2页
操作系统原理(第2版)课件 第7章 IO管理_第3页
操作系统原理(第2版)课件 第7章 IO管理_第4页
操作系统原理(第2版)课件 第7章 IO管理_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

操作系统原理第7章I/O管理17.1I/O管理概述 7.2I/O系统 7.3I/O缓冲7.4独占设备的分配7.5设备处理

目录27.6虚拟设备 7.7磁盘管理 7.8磁盘高速缓存7.9磁盘讨论

目录3教学目的与要求4了解:1.系统I/O的过程,I/O系统的组成部分和关系;2.缓冲区的作用和分类;3.设备的分类和基本特性。4.磁盘的基本特性理解:1.缓冲区的类型;2.设备处理的过程。教学目的与要求5掌握:1.缓冲区的管理;2.虚拟设备技术及应用;3.磁盘空间管理和调度;重点:1.缓冲区管理;2.虚拟设备概念和应用。3.磁盘调度算法难点:1.虚拟设备技术;2.磁盘调度算法;2026/7/12本章知识点:计算机系统中的设备种类繁多,特性各异,操作系统使用设备管理系统实现设备的统一管理。不同设备之间速度和数据读取方式不同,需要添加缓冲区进行管理。通过虚拟设备可以减少对物理设备的依赖,提高数据处理的速度。磁盘调度用于合理安排磁盘申请的响应顺序,提高系统效率。2026/7/12问题导入7

2026/7/12计算机系统中的I/O设备越来越多,系统如何管理这些设备呢?如何使这些设备都得到高效的利用呢?当多个进程共享设备时,如果管理不当就会造成错误。例如,如果系统中只有一台打印机,多个进程都需要打印,A进程提交打印任务的同时B进程也提交打印任务,很有可能A进程和B进程的结果交叉输出,这个输出结果是混乱无序的,那么该怎么解决呢?7.1I/O管理概述8一般以CPU为中心,根据数据的流动方向可以将设备分为输入设备和输出设备,统称I/O设备。I/O设备种类繁多,从操作系统的角度出发可以进行如下的分类:按照数据的传输速率可以分为低速设备、中速设备和高速设备;按照数据传输单位可以分为块设备和字符设备;按照设备的共享情况可以分为独占设备;共享设备和虚拟设备。7.1I/O管理概述9由于不同I/O设备之间性能差别非常大,而且控制方式也不完全相同,所以一般I/O设备并不是直接与主机相连,而是通过设备控制器、通道与主机系统相连。设备控制器是连接I/O设备和主机的中间接口,用来控制I/O和主机之间的数据交换。设备控制器可以接收主机发来的命令,从而控制外围设备,避免了主机直接处理繁杂的外围设备事务。2026/7/127.1I/O管理概述10设备控制器一般包括控制器与主机的接口、控制器和设备的接口和控制器本身的I/O部分组成。控制器和主机的数据交换主要是通过数据线、地线和数据线相连。控制器中包含控制寄存器、状态寄存器和数据寄存器三类寄存器,用来存储需要完成的通信类型,I/O设备的状态和通信传输的数据2026/7/127.1I/O管理概述

11通道将I/O的组织、管理和结束处理以通道程序的形式存储,这样在通信的过程中,处理机只需要发出一个指令就可以完成整个的I/O过程,I/O结束后通道以中断的形式通知处理机,使得处理机可以从繁杂的I/O处理中解脱出来。2026/7/127.1I/O管理概述12I/O通道是一种特殊的处理机。它具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作。按通道的工作方式,通道分为:选择通道字节多路通道数组多路通道三种类型。2026/7/127.2.1I/O系统结构

7.2.2I/O控制方式

7.2I/O系统137.2.1I/O系统结构14I/O系统结构是指I/O设备和主机系统的具体连接方式。不同的计算机系统使用不同的链接方式。对于微型机和PC一般使用总线结构将外部设备和主机相连,工作站和工作站以上的系统使用通道、控制器的结构连接。2026/7/127.2.1I/O系统结构15目前常用的总线有:ISA总线EISA总线VESA总线PCI总线。2026/7/12

7.2.2I/O控制方式

16操作系统的I/O控制方式是指操作系统控制I/O设备执行I/O操作的方式,主要有:程序直接控制方式中断方式DMA方式通道控制方式。2026/7/127.2.2I/O控制方式17在程序直接控制方式中,主机从外部设备每次读一个字的数据到存储器,读入过程中处理机持续检测I/O控制中的状态寄存器,直到数据寄存器中的数据准备好。2026/7/127.2.2I/O控制方式18中断方式的思想是,允许I/O设备主动打断CPU正在执行的运算并请求系统提供服务,这就使得CPU可以从忙等待中解放出来,使得CPU向I/O控制器发送读命令后可以继续做其它有用的工作。中断方式比程序直接控制方式有效,但由于数据中的每个字在存储器与I/O控制器之间的传输都必须经过CPU,这就导致了中断驱动方式仍然会消耗较多的CPU时间。2026/7/127.2.2I/O控制方式19DMA(直接存储器存取)方式的基本思想是在I/O设备和内存之间开辟直接的数据交换通路,彻底“解放”CPU。DMA方式的特点是:基本单位是数据块。所传送的数据,是从设备直接送入内存的,或者相反。仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在DMA控制器的控制下完成的。2026/7/127.2.2I/O控制方式20

I/O通道方式是DMA方式的发展,它可以进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。同时,又可以实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。2026/7/127.3.1缓冲的作用

7.3.2单缓冲7.3.3双缓冲7.3.4多缓冲7.3.5缓冲池

7.3I/O缓冲217.3.1缓冲的作用22在计算机系统中,所有数据到来和数据离开速度不匹配的地方都使用了缓冲区。缓冲主要有以下几个作用:缓和CPU与I/O设备之间速度不匹配的矛盾。减少对CPU的中断频率,放宽对CPU中断响应时间的限制。2026/7/127.3.1缓冲的作用23解决基本数据单元大小(即数据粒度)不匹配的问题。提高CPU和I/O设备之间的并行性。2026/7/127.3.2单缓冲24在设备和处理机之间设置一个缓冲区。设备和处理机交换数据时,先把被交换数据写入缓冲区,然后需要数据的设备或处理机从缓冲区取走数据。2026/7/127.3.2双缓冲25I/O设备输入数据时先装填到缓冲区1,在缓冲区1填满后才开始装填缓冲区2,与此同时处理机可以从缓冲区1中取出数据放入用户进程处理,当缓冲区1中的数据处理完后,若缓冲区2已填满,则处理机又从缓冲区2中取出数据放入用户进程处理,而I/O设备又可以装填缓冲区1。双缓冲机制提高了处理机和输入设备的并行操作的程度。2026/7/127.3.2多缓冲26

多缓冲区包含多个大小相等的缓冲区,每个缓冲区中有一个链接指针指向下一个缓冲区,最后一个缓冲区指针指向第一个缓冲区,多个缓冲区构成一个环形。循环缓冲用于输入/输出时,还需要有两个指针in和out。2026/7/127.3.5缓冲池27由多个系统公用的缓冲区组成,缓冲区按其使用状况可以形成三个队列:空缓冲队列、装满输入数据的缓冲队列(输入队列)和装满输出数据的缓沖队列(输出队列)。还应具有四种缓冲区:用于收容输入数据的工作缓冲区、用于提取输入数据的工作缓冲区、用于收容输出数据的工作缓冲区及用于提取输出数据的工作缓冲区2026/7/127.4.1设备的逻辑号和物理号

7.4.2设备的独立性7.4.3独占设备的分配7.4独占设备的分配287.4独占设备的分配29为了使复杂的I/O软件具有清晰的结构,良好的可移植性和适应性,在I/O软件中普遍釆用了层次式结构,将系统输入/输出功能组织成一系列的层次,每一层都利用其下层提供的服务,完成输入/输出功能中的某些子功能,并屏蔽这些功能实现的细节,向高层提供服务。2026/7/127.4.1设备的逻辑号和物理号30设备在操作系统中一般有两个标号,即逻辑设备号和物理设备号。逻辑设备号用来表明设备的类型。物理设备号用来表明具体的设备。当用户层软件需要使用I/O设备时,使用逻辑设备号即可申请设备,但是操作系统实际分配设备时需要使用设备的物理号。2026/7/12逻辑设备名物理设备名/dev/tty4/dev/printer5……7.4.2设备的独立性31设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。具有设备独立性的系统中,逻辑设备名是用户命名的,物理设备名是系统规定的。2026/7/127.4.3独占设备的分配32

系统确定I/O请求的可能性和安全性后才会按照分配策略给用户(进程)分配设备。在有控制器和通道的系统中,还要考虑分配相应的控制器和通道。为了进行设备分配,系统需要相关表格记录设备、控制器和通道的相关信息。表格有:设备控制表(DCT)控制器控制表(COCT)通道控制表(CHCT)系统设备表(SDT)

2026/7/127.4.3独占设备的分配33

对于独占设备,由于分配不当可能会发生死锁。在可分配的情况下按如下步骤分配:分配设备分配控制器分配通道2026/7/127.5.1设备驱动程序

7.5.2设备的中断处理7.5设备处理347.5.1设备驱动程序35设备驱动程序通常又称为设备处理程序,是I/O进程与设备控制器之间的通信程序,由于常以进程的形式存在,简称为设备驱动进程。其主要任务是接收上层软件发来的抽象I/O要求,转换为具体要求后,发送给设备控制器,启动设备去执行I/O操作;此外,驱动程序也将从设备控制器发来的信号传送给上层软件。2026/7/127.5.1设备驱动程序36由于驱动程序与硬件密切相关,故应为每一类设备配置一种驱动程序,有时也可为非常类似的两类设备配置一个驱动程序。不同类型的设备应有不同的设备驱动程序,但大体上它们都可以分成两部分:能够驱动I/O设备工作的驱动程序;设备中断处理程序(处理I/O完成后的工作)。2026/7/127.5.2设备中断处理37I/O设备完成数据处理后,由外设通过接口电路向CPU发出中断请求信号,CPU在满足一定的条件下,暂停执行当前正在执行的程序,转入执行相应能够进行输入/输出操作的程序,待输入/输出操作执行完毕之后CPU即返回继续执行原来被中断的程序。2026/7/127.5.2设备中断处理38无论是外部中断还是内部中断,中断处理过程都要经历以下步骤:请求中断→响应中断→关闭中断→保留断点→中断源识别→保护现场→中断服务子程序→恢复现场→中断返回。2026/7/127.6.1脱机外围设备操作

7.6.2联机外围设备操作7.6.3SPOOLing技术应用7.6虚拟设备397.6.1脱机外围设备操作40脱机处理是指在不受主机控制的外部设备上进行数据处理,或与实时控制系统、主机不直接相连的数据处理。常用于主机速度不高的数据处理中提高设备的利用率。数据处理工作完全独立于主机进行,使主机能摆脱慢速的输入输出工作的牵制2026/7/127.6.2联机外围设备操作41与脱机处理相对应的是联机处理,也就是I/O处理全部都在主机的控制之下执行。在输入数据时,如果要对数据进行合法性验证,就应考虑采用联机处理的方式,以便及时发现输入数据的错误,并及时予以更正。2026/7/127.6.3SPOOLing技术应用42在用直接存取的大容量磁盘作为辅助存储器的系统中,不使用卫星机实现脱机输入输出,而由主机和通道来承担这一功能。由于输入程序和输出程序的运行时间很短,仅仅是组织信息的输入和输出以及在相应队列中登记信息所需的时间,可使人产生一种作业进入和信息输出是脱机进行的感觉,这称为假脱机输入输出系统。2026/7/127.6.3SPOOLing技术应用43这种在联机情况下实现的同时外围操作称为SPOOLing(SimultaneausPeripheralOperatingOnLine),或称为假脱机操作。SPOOLing系统主要有以下三部分:输入井和输出井。输入缓冲区和输出缓冲区。输入进程SPi和输出进程SPo。2026/7/127.6.3SPOOLing技术应用44SPOOLing系统具有如下主要特点:提高了I/O的速度。将独占设备改造为共享设备。实现了虚拟设备功能。2026/7/127.7.1磁盘结构与性能参数

7.7.2磁盘空间的管理7.7.3磁盘调度策略7.7.4RAID技术7.7磁盘管理457.7.1磁盘结构与性能参数46磁盘存储器(magneticdiskstorage),以磁盘为存储介质的存储器。它是利用磁记录技术在涂有磁记录介质的旋转圆盘上进行数据存储的辅助存储器。具有存储容量大、数据传输率高、存储数据可长期保存等特点。提高了I/O的速度。2026/7/127.7.1磁盘结构与性能参数47磁盘存储器利用磁记录技术在旋转的圆盘介质上进行数据存储的辅助存储器。典型的磁盘驱动器包括盘片主轴旋转机构与驱动电机、头臂与头臂支架、头臂驱动电机、净化盘腔与空气净化机构、写入读出电路、伺服定位电路和控制逻辑电路等。

2026/7/127.7.1磁盘结构与性能参数48磁盘的主要技术参数有:平均潜伏期。平均潜伏期是指磁盘转动半圈所用的时间。存储密度,存储密度分道密度,位密度和面密度。存储容量,一个磁盘存储器所能存储的字节总数,称为磁盘存储器的存储容量。存储容量有格式化容量和非格式化容量之分2026/7/127.7.1磁盘结构与性能参数49磁盘存储器平均存取时间,存取时间是指从发出读写命令后,磁头从某一起始位置移动至新的记录位置,到开始从盘片表面读出或写入信息所需要的时间.这段时间由两个数值所决定:一个是将磁头定位至所要求的磁道上所需的时间,称为定位时间或找道时间;另一个是找道完成后至磁道上需要访问的信息到达磁头下的时间,称为等待时间平均潜伏期。2026/7/127.7.1磁盘结构与性能参数50数据传输率,磁盘存储器在单位时间内向主机传送数据的字节数,叫数据传输率,传输率与存储设备和主机接口逻辑有关。2026/7/127.7.2磁盘空间的管理51磁盘存储器按照扇区,磁道和柱面进行划分。其中扇区是磁盘存储器读写的基本单位,一般我们称扇区为存储块,对I/O设备分类时,一般将磁盘存储设备称为块设备。格式化过程中会将磁盘的扇区按照文件系统的格式进行组织,实现磁盘存储空间的管理。2026/7/127.7.3磁盘调度策略52在多道程序设计的计算机系统中,各个进程可能会不断提出不同的对磁盘进行读/写操作的请求。由于有时候这些进程的发送请求的速度比磁盘响应的还要快,因此我们有必要为每个磁盘设备建立一个等待队列。磁盘调度算法能够直接决定就是寻道时间。通过影响寻道时间,磁盘调度算法就影响了磁盘访问的总时间。2026/7/127.7.3磁盘调度策略531.先来先服务算法,FCFS算法根据进程请求访问磁盘的先后顺序进行调度。假设磁盘访问序列:98,183,37,122,14,124,65,67。读写头起始位置:53。求:磁头服务序列和磁头移动总距离(道数)。由题意和先来先服务算法的思想,得到如图所示的磁头移动轨迹。2026/7/127.7.3磁盘调度策略542026/7/127.7.3磁盘调度策略55

由此:磁头服务序列为:98,183,37,122,14,124,65,67磁头移动总距离=(98-53)+(183-98)+|37-183|+(122-37)+|14-122|+(124-14)+|65-124|+(67-65)=640(磁道)2026/7/127.7.3磁盘调度策略56最短寻找时间优先算法SSTF算法选择调度处理的磁道是与当前磁头所在磁道距离最近的磁道,以使每次的寻找时间最短。当然,总是选择最小寻找时间并不能保证平均寻找时间最小,但是能提供比FCFS算法更好的性能。这种算法会产生“饥饿”现象。2026/7/127.7.3磁盘调度策略572026/7/12对上例的磁盘访问序列,可得磁头移动的轨迹如图7.7.3磁盘调度策略58扫描算法(又称电梯算法),SCAN算法在磁头当前移动方向上选择与当前磁头所在磁道距离最近的请求作为下一次服务的对象。循环扫描算法,

在扫描算法的基础上规定磁头单向移动来提供服务,回返时直接快速移动至起始端而不服务任何请求。2026/7/127.7.4RAID技术59

RAID是英文RedundantArrayofIndependentDisks的缩写,中文简称为独立冗余磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。RAID技术主要包含RAID0~RAID7等数个规范,它们的侧重点各不相同2026/7/127.8.1设计考虑因素

7.8.2性能考虑因素7.8磁盘高速缓存607.8磁盘高速缓存61磁盘缓存,又称磁盘快取,实际上就是将下载到的数据先保存于系统为软件分配的内存空间中(这个内存空间被称之为“内存池”),当保存到内存池中的数据达到一个程度时,便将数据保存到硬盘中。2026/7/127.8.1设计考虑因素62

首先,当一个I/O请求从一个磁盘高速缓存中得到满足是,磁盘高速缓存中的数据必须传送到发送请求的进程。第二个因素就是高速缓存的置

温馨提示

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

评论

0/150

提交评论