电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

操作系统-第九章设备管理

70页
  • 卖家[上传人]:san****019
  • 文档编号:70807170
  • 上传时间:2019-01-18
  • 文档格式:PPT
  • 文档大小:1MB
  • / 70 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第九章 设备管理 9.1 引言 9.1.1 设备的类别,IO设备的分类,按数据传输率分类 低速设备:键盘、鼠标等 数据传输率在每秒几个到几百字节范围。 中速设备:针式、激光打印机等 数据传输率在每秒数千字节到万字节的范围。 高速设备:磁盘、光盘等,按一次操作信息量 键盘、终端、打印机等以字符为单位组织和处理信息的设备被称为字符设备; 而磁盘、磁带等以字符块为单位组织和处理信息的设备被称为块设备。,按共享属性划分设备类型 独占设备 一段时间内只允许一个用户(进程)访问的设备; 如打印机、磁带机等顺序设备; 作为系统资源,也称为临界资源; 在多个进程并发运行的系统中,应互斥的访问该类资源。 使用方式:申请,使用,使用,使用,释放。 共享设备 一段时间内可以允许多个用户(进程)访问的设备; 如磁盘可随机访问的随机设备; 使用方式:使用,使用,使用。 虚拟设备 通过虚拟技术将独占设备变换成可以共享的逻辑设备,供多个进程同时访问。spooling技术,按适配器,CPU,磁盘适配器,USB适配器,图形适配器,内存,操作系统如何管理设备的呢?,CPU与内存 已经讲过,9.1.2 设备管理的功能和任务

      2、 1、任务 A、分配设备 B、外设与CPU交换数据 C、提供用户和设备之间的接口 D、实现设备与设备、设备与CPU的并行操作,2、功能 A、将进程对设备的要求转达给设备管理程序 B、分配设备给请求进程,并使未满足设备要求的进程阻塞等待。 C、实现设备与设备、设备与CPU的并行操作 D、进行缓冲区管理,9.2 数据传送控制方式 设备管理的主要任务之一是控制设备和内存或CPU之间的数据传送,本节介绍常用数据传送控制方式。 选择和衡量控制方式有如下几条原则: (1) 数据传送速度足够高,能满足用户的需要但又不丢失数据; (2) 系统开销小,所需的处理控制程序少; (3) 能充分发挥硬件资源的能力,使得I/O设备尽量忙,而CPU等待时间少。,IO操作由程序发起 处理器定期轮询IO设备的状态 直到处理完毕 有点:简单,易于实现 缺点:耗费大量的时间在设备状态的查询上,严重降低系统性能,9.2.1程序直接控制方式(CPU与 IO无并行),硬件连接方式,程序控制IO(主机询问外设),发送IO请求,读取IO状态,检查IO状态,进行IO传输,读取数据,将数据写入内存,没有就绪, 进行轮询,CPU-IO,

      3、IO-CPU,出错处理,IO-CPU,CPU-内存,9.2.2 I/O中断方式 (CPU与 IO按字节并行) 硬件连接方式,中断驱动IO (外设请求主机),发送IO请求,读取IO状态,检查IO状态,进行IO传输,读取数据,将数据写入内存,CPU-IO,IO-CPU,出错处理,CPU转去执行其他任务,IO中断,中断处理是核心,就绪,中断IO的优点,优点 外设进行数据处理的时候,CPU不必等待,从而提高了CPU的使用率 能处理异常,提供系统调用 缺点 CPU每次处理的数据量比较少(通常不超过几个字节=数据缓冲寄存器的大小),DMA技术 直接访问存储器 系统总线上引入新的独立控制单元-DMA控制器 DMA控制器控制内存与IO设备之间的数据传输,9.2.3 DMA方式(CPU与 IO按块并行),1、硬件连接方式,DMA控制过程,9.2.4 通道控制方式(CPU与 IO并行),通道引入 由通道控制器处理IO 有自己专用的内存器 可执行由通道指令组成的通道程序 可进行较为复杂的IO控制,1、硬件连接方式,2、通道工作方式 为了摆脱繁杂的I/O工作,一旦有输入输出任务,CPU下达给通道,通道通过执行

      4、通道程序,独立的完成输入输出工作,然后向CPU汇报。实现了设备与设备、通道与通道、通道与CPU、设备与CPU的并行操作。 通道是专门完成输入输出工作的硬件机构,也称为I/O处理器。通道有自己的指令,称通道控制字(CCW)。其指令形式为:,write 0 0 250 1850 write 1 1 250 720 以上为一简单的通道程序,表示把一个记录的500个字符分别写入从内存1850开始的250个单元,和从内存720开始的250个单元中。 通道指令在进程要求数据时,由系统自动生成,通道程序放在内存中,有一个通道地址寄存器存放通道程序的首地址。还有一个通道状态字寄存器存放通道程序的执行情况。,通道控制方式数据输入过程描述如下: A、当输入数据时,CPU发启动指令,并指出I/O操作、设备号以及对应的通道。 B、通道收到启动指令后,形成通道程序,设置对应设备的控制状态。 C、执行通道程序,将数据送入内存指定区域。 D、输入结束时,发出中断信号,请求CPU处理。 E、中断处理结束后,返回被中断的进程,继续执行。,9.3 中断技术 9.3.1 中断的基本概念 1、术语 A、中断 B、中断源 C、

      5、中断响应 D、中断屏蔽 E、关中断和开中断(禁止中断和允许中断) F、中断处理 G、中断优先级 H、中断嵌套,中断(Interrupt)是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。 引起中断发生的事件被称为中断源。 中断源向CPU发出的请求中断处理信号称为中断请求, 而CPU收到中断请求后转相应的事件处理程序称为中断响应。,在有些情况下,尽管产生了中断源和发出了中断请求,但CPU内部的处理机状态字PSW的中断允许位已被清除,从而不允许CPU响应中断。这种情况称为禁止中断。 CPU禁止中断后只有等到PSW的中断允许位被重新设置后才能接收中断。禁止中断也称为关中断,PSW的中断允许位的设置也被称为开中断。中断请求、关中断、开中断等都由硬件实现。 开中断和关中断是为了保证某些程序执行的原子性。 中断屏蔽是指在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应。,2、中断分类与优先级 通常,根据中断源产生的条

      6、件,分为外中断和内中断。 外中断是来自处理机和内存外部的中断,如I/O中断、外部信号中断。 内中断是处理机和内存内部产生的中断,称为陷入(trap),包括程序性中断、访管中断(系统调用)。 中断优先级是指,根据中断请求轻重缓急的程度,排列出来的响应中断的次序。,3、软中断 中断和陷入都可看作硬件中断。 若由通信进程之间模拟硬中断的信号通信方式,称为软中断。当CPU收到软中断信号后,只在适当的时机才做响应。,例如:编程异常通常叫做软中断 中断源发中断请求或软中断信号后, CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号对应的功能。 软中断是软件实现的中断,也就是程序运行时其他程序对它的中断;而硬中断是硬件实现的中断,是程序运行时设备对它的中断。,4、中断处理过程,9.4 缓冲技术 9.4.1 缓冲区 通常,使用硬件寄存器或者一个内存区域,作为缓冲区,用于数据的输入输出传送。 引入缓冲的好处 A、使慢速外设与快速CPU速度尽可能匹配。 B、减少外设中断CPU的次数和CPU处理中断花费的时间。 C、缓解输入输出过程中DMA或通道方式时的瓶颈问题。,缓冲区的组织,缓冲首部:用来标识

      7、该缓冲区和用于管理; 缓冲体:用来存放数据。,操作系统,用户进程,I/O设备,进入,进入,移动到,(a)无缓冲,(b)单缓冲,(c)双缓冲,I/O设备,I/O设备,进入,移动到,(d)循环缓冲,I/O设备,进入,移动到,9.4.2 缓冲的种类,单缓冲属于临界资源,不允许多个进程同时对一个缓冲区操作,故设备之间不能达到并行操作。,现代系统中一般使用多缓冲的循环缓冲或缓冲池结构。,缓冲池,面向字符/块设备缓冲区都可以有两种属性:,私用缓冲区(专用缓冲区):前面介绍的循环缓冲就是针对某一特定设备的,会产生严重的问题:,有大量I/O操作进程因分配缓冲区不足造成阻塞。 进程无I/O请求使得所分配缓冲区资源浪费。,公用缓冲区,为所有进程所共享,即当进程需要进行I/O时,需要向系统申请一个缓冲,系统就在属于公共的缓冲区中进行分配,造成按需分配的管理方式,需建立缓冲池管理。,因此,为了提高缓冲区的利用率,通常不将缓冲区与某一具体设备固定的联系在一起,而是将所有的缓冲区集中管理。,9.4. 3缓冲池的管理 缓冲池由多个缓冲区组成,每个都可以用于输入/输出。,1、 缓冲池的结构,工作缓冲区,2、缓冲池管理

      8、 管理缓冲池的几个操作 a、从三种缓冲区队列中按一定的选取规则取出一个缓冲区的过程take_buf(type); b、把缓冲区按一定的选取规则插入相应缓冲区队列的过程add_buf(type,number),c、供进程申请缓冲区用的过程 get_buf(type,number); d、供进程将缓冲区放入相应缓冲区队列的过程put_buf(type,work_buf). 其中,参数type表示缓冲队列类型,number表示缓冲区号,work_buf表示工作缓冲区类型。,9.5 设备分配 一、设备分配使用的数据结构,系统设备表(SDT),设备控制表(DCT),通道控制表(CHCT),控制器控制表(COCT),设备分配中的数据结构,二、设备分配的原则和策略 1、原则 根据设备特性、用户要求和系统配置决定。 A、充分发挥设备使用效率 B、不能造成死锁 C、用户程序和设备相隔离即设备独立性 2、策略 A、先请求先分配 B、优先级高者先分配,补充: 设备独立性(设备无关性),1.设备独立性的概念,3.实现逻辑设备名到物理设备名映射,(1)设备分配时的灵活性,(2)易于实现I/O重定向,2.设备独立

      9、性软件,(1)执行所有设备的公有操作,(2)向用户层(或文件层)软件提供 统一接口,应用程序独立于具体使用的物理设备,在应用程序中,使用逻辑设备名称来请求使用某类设备。,1. 设备独立性,IO软件的目标,补充:I/O软件的组成,2.出错处理,3.同步(阻塞)异步(中断驱动)传输,4.独占型外围设备和共享型外围设备,1. 中断处理程序,IO软件的组成,2. 设备驱动程序,3. 设备无关性的I/O软件,4.用户空间的IO软件,IO软件的组成图,9.6 I/O进程控制 一、什么是I/O进程控制 从用户进程的输入输出请求开始,给用户进程分配设备和启动相关设备,进行I/O操作,以及在I/O操作完成以后响应中断,进行善后处理为止的整个系统控制过程称为I/O控制。,二、I/O控制的功能,三、I/O控制的实现 1、作为请求I/O操作的进程的一部分实现 2、作为当前进程的一部分实现 3、由专门的I/O进程完成 A、每类(个)设备设一专门的I/O进程,并放在系统态下执行 B、整个系统设一I/O进程,全面负责全系统的数据传送工作 C、每类(个)设备设一专门的I/O进程,但该进程既可在用户态也可在系统态下执行。,9.7 设备驱动程序 一、什么是设备驱动程序 设备驱动程序,是驱动物理设备和DMA控制器或I/O控制器等直接进行I/O操作的子程序的集合。负责设置设备有关寄存器的值,启动设备进行I/O操作,指定操作的类型和数据流向等。 二、为何要有设备驱动程序 设备驱动程序屏蔽了直接对硬件操作的细节,为编程者提供操纵设备的友好接口。,1.将接收到的抽象要求转换为具体要求,设备驱动程序的功能,3.发出I/O命令,4.及时响应由设备控制器发来的中断请求,5.对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。,2.检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式,1.是请求I/O的进程与设备控制器之间 的一个通信程序,设备驱动程序的特点,2.设备驱动程序与I/O设备的特性 紧密相关,3.设备驱动程序与I/O控制方式紧密相关,4.部分程序是

      《操作系统-第九章设备管理》由会员san****019分享,可在线阅读,更多相关《操作系统-第九章设备管理》请在金锄头文库上搜索。

      点击阅读更多内容
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.