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

下载本文档

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

文档简介

操作系统,第7章 设备管理,第 7 章 设备管理,7-1 概述 7-2 I/O硬件特点 7-3 I/O软件的组成 7-4 设备分配 7-5 虚拟设备 7-6 Linux I/O设备管理,7-1-1 设备的分类 按所属关系分类 系统设备、用户设备 从资源分配角度分类 独占设备、共享设备、虚拟设备 从外部设备分类 存储设备(或文件设备)、输入输出设备 按信息交换方式分类 块设备、字符设备,7-1 概述,7-1-2 设备管理的目标和功能 设备管理的目标 方便性、并行性、均衡性、独立性(或无关性) 设备管理的功能 监视所有设备的状态 制定设备分配策略 设备的分配 设备的回收,7-1 概述,7-2-1 设备组成 一般而言,I/O设备由物理设备和电子部件两部分组成 7-2-2 设备接口 接口的功能 按照计算机主机与设备的约定格式和过程接收或发送数据和信号 接口的标准化 除了通用I/O接口之外,还有一些专用I/O接口 。任何一种接口都有自己的技术特点 ,都要制定各自的标准,7-2 I/O硬件特点,7-2-3 设备控制器 分类 用于控制字符设备的控制器 用于控制块设备的控制器 设备控制器主要功能 接收和识别命令 数据交换 地址识别 标识和报告设备的状态 数据缓冲 差错控制,7-2 I/O硬件特点,7-2-4 通道 由通道、设备控制器和设备三级组成 。因为通道、设备控制器都是独立的功能部件,它们可以并行操作,所以可以构成I/O系统多通路情况,7-2 I/O硬件特点,通道的类型 根据信息交换方式,通道可分成三种类型: 字节多路通道 数组选择通道 数组多路通道,7-2 I/O硬件特点,通道程序 通道是通过执行通道程序,并与设备控制器共同实现对I/O设备的控制 通道程序是由一系列通道指令(或称为通道命令)所构成 通道指令中包含如下信息:操作码、内存地址、计数、通道程序结束位P,7-2 I/O硬件特点,7-2-5 I/O控制方式 程序查询方式 采用程序查询方式,每当程序要使用某一外设进行I/O操作时,CPU要执行一段循环测试程序,以实现在外设准备好时执行一条输入/输出指令,进行一个字节或字的数据传送操作。,7-2 I/O硬件特点,I/O中断方式 每当设备完成I/O操作时,便向CPU发出中断请求信号,通知CPU外设已准备好,可以进行数据传送操作。这样,CPU一旦启动I/O设备后便可执行其它程序,仅在收到I/O中断请求时才执行其中断服务程序,进行I/O处理和I/O操作。 直接存储器访问 采用DMA方式时,不仅允许CPU控制地址线,进行CPU与主存贮器的数据交换,而且允许DMA控制器接管地址线的控制权,直接控制DMA控制器与主存的数据交换。从而使磁盘设备与存贮器之间的数据传送不需要CPU介入,因而减轻了CPU的负担 。,7-2 I/O硬件特点,7-2-6 缓冲技术 缓冲的引入 凡数据到达速度和离去速度不匹配的地方都可以采用缓冲技术 引入缓冲的主要原因 缓和CPU与I/O设备间速度不匹配的矛盾 减少对CPU的中断频率,放宽对中断响应时间的限制 提高CPU和I/O设备的并行性 缓冲的类型 按照缓冲区存在的位置分类 硬件缓冲、软件缓冲,7-2 I/O硬件特点,按照缓冲区的个数以及缓冲区的组织形式 单缓冲 双缓冲 循环缓冲 缓冲池 缓冲池 缓冲池的组成 在缓冲池中存在由三类缓冲区组成的三条队列: 空缓冲队列emq 输入队列inq 输出队列outq,7-2 I/O硬件特点,在缓冲池中,有4种工作缓冲区: 用于收容设备输入数据的收容输入缓冲区hin; 用于提取设备输入数据的提取输入缓冲区sin; 用于收容CPU输出数据的收容输出缓冲区hout; 用于提取CPU输出数据的提取输出缓冲区sout,7-2 I/O硬件特点,缓冲池的操作 从缓冲区队列中取出一个缓冲区的过程Take_buf(type) 把缓冲区插入到相应的缓冲区队列的过程Add_buf(type,number) 申请缓冲区用的过程Get_buf(type,number) 将缓冲区插入到相应缓冲区队列的过程put_buf(type,work_buf) Get_buf和Put_buf过程描述: void Get_buf(type) Wait(RS(type); Wati(MS(type); B(number)=Take_buf(type); Signal(MS(type); ,7-2 I/O硬件特点,void Put_buf(type,number) Wait(MS(type); Add_buf(type,number); Signal(MS(type); Signal(RS(type); 缓冲池的工作过程可描述如下: 收容输入。在输入进程需要输入数据时,调用Get_buf(emq)过程,从空缓冲队列emq的队首摘下一空缓冲,把它作为收容输入工作缓冲区hin,把数据输入其中,装满后再调用Put_buf(inq,hin)过程,将该缓冲区挂在输入队列inq上。,7-2 I/O硬件特点,提取输入。当计算进程需要输入数据时,调用Get_buf(inq)过程,从输入队列inq的队首取得一缓冲区作为提取输入工作缓冲区sin,计算进程从中提取数据。计算进程用完该数据后,再调用Put_buf(emq,sin)过程,将该缓冲区挂到空缓冲队列emq上。 收容输入。当计算进程需要输出时,调用Get_buf(emq)过程,从空缓冲队列emq的队首取得一空缓冲作为收容输入工作缓冲区hout。当其中装满输出数据后,又调用Put_buf(outq,hout)过程,将该缓冲区挂在outq末尾。,7-2 I/O硬件特点,提取输出。由输出调用Get_buf(outq)过程,从输出队列的队首取得一装满输出数据的缓冲区作为提取输出工作缓冲区sout。在数据提取完后,再调用Put_buf(emq,sout)过程,将该缓冲区挂在空缓冲队列末尾。,7-2 I/O硬件特点,I/O设备管理软件结构的基本思想是层次化,低层与硬件相关,它把硬件与较高层次的软件隔离开来;而最高层的软件则向应用提供一个友好的、清晰而统一的I/O设备接口。 7-3-1 I/O软件的目标 设备独立性 除了直接与设备打交道的低层软件之外,其他部分的软件并不与依赖于硬件。 I/O软件独立于设备,就可以提高设备管理软件的设计效率,当输入输出设备更新时,没有必要重新编写全部涉及设备管理的程序。 I/O软件一般分为4层,它们分别是中断处理程序,设备驱动程序,与设备无关的系统软件和用户级软件,7-3 I/O软件的组成,统一命名 - 统一命名是指在系统中采取预先设计的、统一的逻辑名称,对各类设备进行命名,并且应用在同设备有关的全部软件模块中。 - 对设备统一命名是与设备独立性密切相关的 7-3-2 中断处理程序 I/O设备中断 由设备发出的中断,属于外部中断 软中断 硬中断:通过硬件产生相应的中断请求 软中断:在通信进程之间,通过模拟硬中断而实现的一种通信方式,7-3 I/O软件的组成,设备管理与中断方式 为了提高整体效率,减少在程序直接控制方式中CPU等待时间,采用中断方式来控制输入输出设备和内存与CPU之间的数据传送,是很必要的 中断方式的实现 - 在硬件结构上,这种中断方式要求CPU与输入输出设备(或控制器)之间有相应的中断请求线,而且在输入输出设备控制器的控制状态寄存器上有相应的中断允许位 - 在中断方式下,中央处理器与I/O设备之间数据的传输,大致步骤如下: 在某个进程需要数据时,发出指令启动输入输出设备准备数据。同时该指令还通知输入输出设备控制状态寄存器中的中断允许位置位。,7-3 I/O软件的组成,在进程发出指令启动设备之后,该进程放弃处理机,等待相关I/O操作完成。另一种方式是该进程继续运用(如果能够运行的话),直到I/O中断信号来临。 当I/O操作完成时,输入输出设备控制器通过中断请求线向处理机发出中断信号。处理机收到中断信号之后,转向预先设计好的中断处理程序,对数据传送工作进行相应的处理。 得到了数据的进程,转入就绪状态。 中断方式的优缺点 中断方式使处理器的利用率提高,支持多道程序和I/O设备的并行操作 但有的情况下可能造成中断频率过高,以致使CPU无法响应中断,耗去大量的CPU处理时间,7-3 I/O软件的组成,7-3-3 设备驱动程序 设备处理程序通常又称为设备驱动程序,它是I/O进程与设备控制器之间的通信程序、又由于它常以进程的形式存在,放以后就简称之为设备驱动进程。 设备驱动程序功能 将接收到的抽象要求转换为具体要求 检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式 发出I/O命令,启动分配到的I/O设备,完成指定的I/O操作 及时响应由控制器或通道发来的中断请求,并根据其中断类型(正常、异常结束的中断或其他类型中断)调用相应的中断处理程序进行处理,7-3 I/O软件的组成,对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序 设备驱动程序特点 驱动程序主要是在请求I/O的进程与设备控制器之间的一个通信程序 驱动程序与I/O设备的特性紧密相关 驱动程序与I/O控制方式紧密相关 驱动程序与硬件紧密相关 ,很多驱动程序其基本部分已经固化,7-3 I/O软件的组成,7-3-4 独立于设备的软件 独立于设备的软件的基本任务是实现所有设备都需要的功能,并且向用户级软件提供一个统一的接口 设备独立的软件层通常实现的功能 如图,7-3 I/O软件的组成,7-3-5 用户空间的I/O软件 大部分I/O软件包含在操作系统中,但是在用户程序中仍有一小部分是与I/O过程连接在一起的 通常的系统调用,包括I/O系统调用,由库过程实现 并非所有的用户层I/O软件都是由库过程组成的。Spooling系统则是另一种重要的处理方法,7-3 I/O软件的组成,7-3 I/O软件的组成,7-4-1 设备分配中的数据结构 设备控制表DCT 系统为每个设备配置 了一张DCT。设备控制表 DCT反映设备的特性、设 备和I/O控制器的连接情 况。 控制器控制表COCT COCT也是每个控制器一张,它反映控制器的使用状态以及和通道的连接情况,7-4 设备分配,通道控制表CHCT 每个通道都配有一张通道控制表,以记录通道的信息,7-4 设备分配,系统设备表SDT 整个系统设置一张SDT,记录当前系统中所有设备的情况。每个设备占一个表目,其中包括有设备类型、设备标识符、设备控制表、驱动程序入口、正在使用设备的进程表示等信息 7-4-2 设备独立性 引入的目的 为了提高操作系统的可适应性和可扩展性 设备独立性的含义 应用程序独立于具体使用的物理设备,7-4 设备分配,实现 为了实现设备的独立性,在操作系统中引入了逻辑设备名和物理设备名两个概念 为了实现设备独立性,系统必须设置一张逻辑设备表,用于将应用程序中所使用的逻辑设备名映射为物理设备名。在该表目中包含三项:逻辑设备名、物理设备名和设备驱动程序的入口地址 思考:在有系统设备表的情况下如何设计数据表格?如何分配?,7-4 设备分配,申请某类设备时,系统先查“逻辑设备表”; 如果该类设备的现存台数可以满足申请要求,则从该类设备的“系统设备表”始址开始依次查该类设备在系统设备表中的登记项,找出空闲设备分配给作业; 分配后要修改逻辑设备表中的空闲台数;,7-4 设备分配,7-4-3 设备分配 设备分配中应考虑的因素 设备的固有属性 独占设备:应采用独占分配策略,即在把设备分配给一个用户进程后,只有等该用户进程使用完该设备,系统回收该设备后,才能把该设备分配给其他进程使用。 共享设备:因为共享设备可以供多个进程使用,所以对该类设备应注意对各个进程访问设备的先后次序进行合理的调度。,7-4 设备分配,虚拟设备:虚拟设备已属可共享设备,因而也可将它分配给多个进程使用,并可对这些进程访问该设备的先后次序进行控制。 设备分配算法 先来先服务算法 优先权高者优先算法 设备分配中的安全性 安全分配方式:在这种分配方式中,每当进程发出I/O请求后,便进入阻塞状态,直到其I/O操作完成时才被唤醒。 不安全分配方式:在这种分配方式中,进程发出I/O请求后仍继续运行,需要时又可发出第二个I/O请求、第三个I/O请求。仅当进程所请求的设备已被另一进程占用时,进程才进入阻塞状态。,7-4 设备分配,独占设备的分配程序 基本分配程序 分配设备 分配控制器 分配通道 改进后的分配程序 增加设备的独立性 进程应用逻辑设备名请求I/O设备。 考虑多通路情况 为了防止在I/O系统出现“瓶颈”现象,通常都采用多通路的I/O系统结构。,7-4 设备分配,虚拟设备是通过某种技术将一台独占设备改造为可以供多个用户共享的共享设备 7-5-1 Spooling技术 Spooling简述 Spooling技术是一种虚拟设备技术,它可以把一台独占设备改造为虚拟设备,在进程所需的物理设备不存在或被占用的情况下,使用该设备 Spooling系统的组成 Spooling系统主要有以下三部分组成: 输入井和输出井 输入缓冲区和输出缓冲区 输入进程SPi和输出进程SPo,7-5 虚拟设备,7-5 虚拟设备,7-5-2 共享打印机 共享打印机即利用Spooling技术,可将它改造为一台可供多个用户共享的虚拟设备 共享打印机的工作流程 当用户进程请求打印输出时 由输出

温馨提示

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

评论

0/150

提交评论