操作系统设备管理课件.ppt

上传人:牧羊曲112 文档编号:1971663 上传时间:2022-12-28 格式:PPT 页数:57 大小:293.60KB
返回 下载 相关 举报
操作系统设备管理课件.ppt_第1页
第1页 / 共57页
操作系统设备管理课件.ppt_第2页
第2页 / 共57页
操作系统设备管理课件.ppt_第3页
第3页 / 共57页
操作系统设备管理课件.ppt_第4页
第4页 / 共57页
操作系统设备管理课件.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

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

1、第七章 I/O设备管理,7.1 I/O设备,7.2 数据传送控制方式,7.3 设备分配,7.4 缓冲管理,7.5 I/O处理过程,第七章 I/O设备管理7.1 I/O设备7.2 数据传送,7.1 I/O设备,OS设备管理中的设备指外部设备,包括输入设备与输出设备,即除主机(CPU+内存)之外的所有设备。 I/O性能经常成为整个系统性能的瓶颈,CPU性能并不等于系统性能,CPU性能越高,与I/O差距越大。 OS庞大复杂的原因之一就是外设资源多而杂,种类繁多,结构各异,I/O数据信号类型不同,速度差异很大。,7.1 I/O设备 OS设备管理中的设备指外部设备,包括输,7.1 I/O设备,在多道程序

2、环境中,设备管理把着眼点放在:设备的有效使用设备和CPU的并行工作让用户方便使用设备,7.1 I/O设备在多道程序环境中,设备管理把着眼点放在:,一、计算机设备的分类,7.1 I/O设备,基于设备的工作特性: 外部存储设备(长期保存信息,可随时访问,如磁盘、磁带) 输入/输出设备(字符设备,以单个字符为单位存储、传输信息,如显示器、键盘、打印机等),一、计算机设备的分类7.1 I/O设备基于设备的工作特性:,7.1 I/O设备,基于设备的从属关系: 系统设备(一般是标准设备)(OS生成时就配置在系统中的标准设备,如:键盘、鼠标、显示器、终端、打印机等) 用户设备(一般为非标准设备)(设备的处理

3、程序由用户提供,需另外安装,如:扫描仪、A-D/D-A转换设备等),7.1 I/O设备基于设备的从属关系:,7.1 I/O设备,基于设备的分配特性: 独享设备(使用具有排它性,低速I/O设备) 共享设备(可由多个用户程序交替使用,如硬盘) 虚拟设备 ( 模拟独占设备为共享设备,即将慢速的独占设备经软件技术改造成为多个进程可以共享的设备,典型如SPOOLing技术 ),7.1 I/O设备基于设备的分配特性:,7.1 I/O设备,基于信息组织和处理的方式: 字符设备(信息以字符为单位来组织和分配的;系统中大部分均属此类,如打印机、键盘、显示器等;特点是速度慢,也称慢速设备) 块设备(信息以块为单位

4、来组织和分配的;如磁盘、磁带等;特点是速度快,也称快速设备),7.1 I/O设备基于信息组织和处理的方式:,二、设备管理的目标与功能,7.1 I/O设备,1. 设备管理目标:提高系统资源利用率 多道程序环境下,资源数总是少于进程数。 需合理分配设备资源,并使外设与外设、外设与CPU并行工作,使设备尽可能处于忙碌状态。,方便用户使用 对于各种各样的外设,为用户提供便利、统一的使用界面。 OS把各种外设的物理特性隐藏起来,把各种外设的具体操作方式隐藏起来,由OS面对; 而让用户面对的是使用方便的设备,这样就可使用户摆脱繁琐的编程负担。,二、设备管理的目标与功能7.1 I/O设备1. 设备管理目,7

5、.1 I/O设备,2. 设备管理的功能:提供用户接口:提供一组I/O命令,即用户使用外设的接口,用户在程序中通过这些命令使用外设。进行设备的分配与回收:OS中I/O管理程序负责接受用户使用外设的请求、分配设备、回收设备。 实现真正的I/O操作:OS依据用户的请求,通过具体的设备驱动程序,启动外设,进行实际的I/O操作;操作完毕就通知用户进程,由设备中断服务程序完成善后工作。其它功能:管理缓冲区,CPU与I/O设备通过缓冲区传送数据,以解决高速CPU与慢速外设之间矛盾。OS有专门软件管理缓冲区的分配与回收。,7.1 I/O设备2. 设备管理的功能:,7.2 数据传送控制方式,计算机系统的输入/输

6、出,实质是进行数据的输入/输出,即数据的传输。数据传输:I/O设备内存 I/O设备CPU数据传输方式有四种:程序直接控制方式中断控制方式DMA方式通道控制方式,7.2 数据传送控制方式计算机系统的输入/输出,实质是进,7.2 数据传送控制方式,一、设备控制器,I/O设备一般由机械部分与电子部分构成,把这两部分分开处理,通过接插件、电缆相连。机械部分即设备本身电子部分即设备控制器(适配器、接口卡) 每种I/O设备都要通过设备控制器与CPU相连。 设备控制器是CPU与I/O设备间的接口,处于CPU与外设之间。,7.2 数据传送控制方式一、设备控制器 I/O,7.2 数据传送控制方式,系统总线,CP

7、U,内存,磁盘控制器,打印机控制器,HD,打印机,微机的I/O设备通过总线与CPU连接,设备控制器,7.2 数据传送控制方式系统总线CPU内存磁盘控制器打印,7.2 数据传送控制方式,设备控制器通过自己内部的寄存器与CPU通信数据寄存器 数据传输的缓冲状态寄存器 存放外设的状态,供CPU测试控制寄存器 存放CPU发出的操作命令与参数OS把命令以及参数写入控制寄存器,外设据此实现I/O设备控制器接受命令后,就独立于CPU去完成命令指定的任务。,7.2 数据传送控制方式设备控制器通过自己内部的寄存器与,7.2 数据传送控制方式,外设接受了CPU的I/O命令,随后即独立于CPU进行I/O操作,这时外

8、设与CPU并行,即在外设I/O的同时,CPU在运行其它进程。 外设完成所要求的I/O任务后,要通知CPU。 早期采用“被动式”,控制器设置一个完成标志,等待CPU来查询,即程序直接控制方式。 现在采用“主动式”,即通过中断方式主动通知CPU,让CPU来进行处理,即中断控制方式。 直接存储器存取方式(DMA)和通道控制方式也是基于中断的主动型的数据传输控制方式。,7.2 数据传送控制方式 外设接受了CPU的I/O,7.2 数据传送控制方式,二、程序直接控制方式,向控制器发读命令,读控制器状态,检查状态,从控制器中读入字,向存储器中写字,传送完成?,出错,未就绪,未完成,完成,下条指令,CPUI/

9、O,I/OCPU,I/OCPU,CPU内存,就绪,以读为例,说明程序直接控制I/O方式,7.2 数据传送控制方式二、程序直接控制方式向控制器发读,7.2 数据传送控制方式,评价:在程序I/O方式中,由于CPU的高速与I/O设备的低速,使得CPU绝大部分时间,都处于等待外设完成数据I/O的循环测试之中,造成CPU的极大浪费。此外,CPU与I/O设备只能串行工作,整个计算机系统效率低下。,7.2 数据传送控制方式评价:,7.2 数据传送控制方式,三、中断方式,以读为例,说明中断控制I/O方式,向控制器发读命令,读控制器状态,检查状态,从控制器中读入字,向内存中写字,传送完成?,出错,未完成,完成,

10、下条指令,CPUI/O,I/OCPU,I/OCPU,CPU内存,就绪,CPU做其它事,中断完成信号,7.2 数据传送控制方式三、中断方式以读为例,说明中断控,7.2 数据传送控制方式,中断方式说明:1.某一进程处于执行状态,通过CPU向外设控制器发出I/O指令; 该进程随即阻塞,等待I/O完成; OS立即将CPU调度给其它进程使用; 而外设控制器得到指令后,就独立于CPU进行指令规定的操作; 如此,CPU与I/O并行工作。2.当外设I/O操作完成,设备控制器立即向CPU发中断完成信号; CPU接到信号响应该中断,立即转中断处理程序; 由中断处理程序把数据从设备控制器传送到内存。3.被阻塞进程在

11、I/O完成后,状态即转变为就绪,等待OS调度,以执行余下的程序。,7.2 数据传送控制方式中断方式说明:,7.2 数据传送控制方式,四、直接存储器存取方式,以上介绍的程序控制方式和中断方式,主机与外设进行的数据传送都是以CPU为中心组织的。,CPU,I/O设备,内存,DMA(Direct Memory Access)DMA方式在外设与内存之间开辟了直接交换数据的通路,使用于磁盘等高速I/O设备。在DMA控制器的控制下,内存和硬盘直接进行成批数据的快速传送,不需要CPU的加入。形成了以内存为中心组织的数据传送。,内存,CPU,I/O设备,7.2 数据传送控制方式四、直接存储器存取方式以上介绍的,

12、7.2 数据传送控制方式,DMA传输数据步骤:1.一进程请求设备I/O,CPU做如下事: 内存起始地址DMA控制器的地址寄存器 传输字节数 DMA控制器的字节计数器 启动DMA控制器2.该进程阻塞,等待I/O完成3.DMA与内存进行数据传输,成批数据传送由字节计数器计算控制4.传输完,向CPU发中断完成信号5.CPU接受DMA中断请求,转中断处理程序6.数据传送完成,唤醒被阻塞进程,7.2 数据传送控制方式DMA传输数据步骤:,7.2 数据传送控制方式,7.2 数据传送控制方式,7.2 数据传送控制方式,五、通道方式,通道介绍:独立于CPU、专门用作管理I/O的处理机,控制设备与内存直接进行数

13、据交换通道有自己的指令系统,数量不多,仅涉及读、写、查询、控制等功能;用以编写通道程序采用通道的系统中,主机与通道相连,通道与设备控制器相连,设备控制器与设备相连,7.2 数据传送控制方式五、通道方式通道介绍:,7.2 数据传送控制方式,CPU,通道,设备控制器,设备控制器,设备,设备,设备,设备,7.2 数据传送控制方式CPU通道设备控制器设备控制器设,7.2 数据传送控制方式,通道方式工作步骤:一进程提出I/O请求,CPU把数据传输任务交给通道(指明操作方向、设备号、通道号)该进程阻塞,CPU随即被调度给其它进程通道按CPU发来的启动命令,调用通道程序执行(这时通道与CPU并行工作),外设

14、在通道程序的规定下,与内存交换数据数据传输完毕,通道向CPU发中断请求CPU响应中断,转中断处理程序,对I/O作善后处理,唤醒被阻塞的进程成就绪态。,7.2 数据传送控制方式通道方式工作步骤:,7.3 设备分配,在OS的统一管理下,用户进程使用设备,须先提出I/O请求,由OS的设备管理程序进行分配。设备分配与下列因素有关:设备属性系统采用的分配算法与设备无关性原则设备分配的安全性,7.3 设备分配在OS的统一管理下,用户进程使用设备,须,7.3 设备分配,一、设备属性和设备分配方法,1.独占设备:使用上具有排它性的设备,如打印机。 分配策略:系统一旦将该类设备分配给指定进程,就由它独占使用,直

15、到用毕释放。2.共享设备:如磁盘,这类设备可由多个进程同时使用,每个进程只用其中一部分,在时间上则是交叉对设备进行存取访问。 系统对共享设备不进行分配,而是对这一类的I/O请求进行调度。,7.3 设备分配一、设备属性和设备分配方法1.独占设备:,7.3 设备分配,3.虚拟设备:在大容量磁盘的支持下,用软件技术对独占设备进行改造,使得用户在使用独占设备时,感觉上认为不用同其它进程竞争,便可方便地获得独占设备。 Spooling技术就是一个典型的实现虚拟设备的系统。,7.3 设备分配3.虚拟设备:在大容量磁盘的支持下,用软,7.3 设备分配,二、Spooling技术,基本思想:一些低速字符设备都是

16、独享设备,其使用具有排它性,不利于多道程序并行工作,影响系统效率。OS以大容量的共享设备磁盘为依托,用软件技术来改造独享设备,使用户在感觉上认为他们使用的是共享设备。,7.3 设备分配二、Spooling技术基本思想:,7.3 设备分配,SPOOLing系统由3部分组成:输入井与输出井 硬盘上2大存储空间 输入井:用于收容I/O设备的输入数据 输出井:用于收容用户程序的输出数据输入缓冲区与输出缓冲区 内存中开辟的2个缓冲区 输入缓冲区:用于暂存由输入设备送来的数据,以后再传送输入井 输出缓冲区:用于暂存由输出井送来的数据,以后再传送输出设备,7.3 设备分配SPOOLing系统由3部分组成:,

17、7.3 设备分配,预输入程序与缓输出程序 预输入进程 将用户要求的输入数据, 从输入设备输入缓冲区输入井, 当CPU需要输入数据时,直接从输入井读入内存。 缓输出进程 将用户要求输出的数据,从内存 输出井输出缓冲区(当输出设备空闲时)输出设备。,7.3 设备分配预输入程序与缓输出程序,7.3 设备分配,输入井,输出井,输出设备,SPOOLing系统工作示意,磁盘,输入设备,预输入进程,输出缓冲区,缓输出进程,输入缓冲区,内存,7.3 设备分配输入井输出井输出设备SPOOLing系统,7.3 设备分配,系统对用户请求的处理当用户请求打印输出时,SPOOLing系统中输出进程做如下2件事:A)在输

18、出井申请一空闲盘块区 将要打印的数据送入其中B)为用户申请空白的用户请求打印表 将用户的打印请求填入表中 把该表挂到请求打印队列上。如还有其它进程提出打印请求,系统一概接受请求,同样做上述2件事。,以共享打印机为例说明SPOOLing系统工作过程,7.3 设备分配系统对用户请求的处理以共享打印机为例说明,7.3 设备分配,系统对具体输出的处理 如打印机空闲,输出进程做以下操作: 从请求打印队列的队首取出请求打印表 将打印数据从输出井送内存输出缓冲区 打印机执行打印操作 打印完即检查打印队列是否还有请求表 ,若有,取出现时队首的请求表,继续上述操作,若无,即打印队列空,输出进程阻塞自己等再有打印

19、请求才被唤醒,7.3 设备分配系统对具体输出的处理若有,取出现时队首的,7.3 设备分配,SPOOLing系统的特点 :将独占设备改造为共享设备,实现了虚拟设备功能。 宏观上看,多个进程能同时使用一台独占设备,从每一个进程看,都认为自己独占了一个设备(逻辑设备)。提高了I/O速度。 从请求打印的进程角度看,其输出数据实质上是送到输出井,极其快速。,7.3 设备分配SPOOLing系统的特点 :,7.3 设备分配,三、设备分配方法,设备分配2种方式:静态分配方式 在用户进程创建时,OS便一次性地把进程运行所要求的全部设备都分配给它,并由该进程占有,直到进程撤消。 不会死锁,但设备利用率极其低下。

20、动态分配方式 在进程执行过程中,随时根据需要,向系统提出设备请求,由系统依据一定算法给进程分配设备,用户进程用完设备,即予释放。 有利于提高设备利用率,但分配不当即有死锁可能。,7.3 设备分配三、设备分配方法设备分配2种方式:,7.3 设备分配,动态分配算法:先来先服务 对于多个请求某类设备的用户进程,系统按其发出请求的先后顺序,使它们在设备请求队列里排队,并把设备分配给队列的前列者。优先级高者优先 进入设备请求队列的进程,按优先级排队,优先级相同,则按到达的先后排,系统总是把设备分配给队列的首进程使用。,7.3 设备分配动态分配算法:,7.3 设备分配,四、设备管理采用的数据结构,系统设备

21、表SDT(System Device Table) 整个系统一张,记录了系统中所有外设,每类设备占一个表项。设备控制表DCT(Device Control Table) 系统中每台设备一个,其中随时记录了该设备的基本信息(设备状态、等待使用该设备的阻塞进程等)。,7.3 设备分配四、设备管理采用的数据结构系统设备表SD,7.3 设备分配,I/O过程中,OS从SDT内查得某类设备的DCT地址,然后再转到DCT取得具体设备信息。,SDT,类设备类型DCT首址驱动程序地址,DCT1,设备标识设备状态设备队列指针,DCT0DCT1DCT2, 类设备DCT区,7.3 设备分配I/O过程中,OS从SDT内

22、查得某类设备,7.3 设备分配,五、与设备无关性,基本含义: 应用程序独立于具体使用的物理设备。用户程序中要用到外设时,不须指定具体哪一台设备,而用逻辑设备名来代替,这样用户程序就与实际使用的物理设备无关;执行程序时,由系统进行逻辑设备到具体物理的链接。,7.3 设备分配五、与设备无关性基本含义:,7.3 设备分配,与设备无关性带来的好处:如果在程序中指定具体的物理设备,则当该设备已经分配,或正在维修,而此时尽管有同类设备空闲,可供分配,则该进程也只能阻塞等待。遵循了设备无关性,在编程时不具体指定具体物理设备,当系统中设备变更,用户程序就不用修改。,7.3 设备分配与设备无关性带来的好处:,7

23、.4 缓冲管理,凡是数据到达和离去速度不匹配的地方均可采用缓冲技术,几乎所有的外设在与CPU交换数据时,都使用了缓冲区。 OS采用缓冲是为了实现数据的I/O操作,缓解CPU与外部设备之间速度不匹配的矛盾,提高资源利用率,7.4 缓冲管理凡是数据到达和离去速度不匹配的地方均可采,7.4 缓冲管理,实现缓冲的2种方法: 硬缓冲:在设备中设置缓冲区,安置硬件寄存器,如设备驱动器中的数据寄存器 软缓冲:在内存中开辟一个空间,作为专用的I/O缓冲区,存放I/O数据 主要采用软缓冲,7.4 缓冲管理实现缓冲的2种方法:,7.4 缓冲管理,缓冲的四种类型,单缓冲 为I/O设备设置单个缓冲区 产生数据的进程与

24、接受数据的进程不直接传递,而是通过单个缓冲。,缓冲区,发送数据,接收数据,缺点:发送者与接收者不能并行工作。发送者与接收者的速度的不匹配,造成大量的等待时间。,7.4 缓冲管理缓冲的四种类型单缓冲 为I/O设备设,7.4 缓冲管理,双缓冲 为I/O设备设置两个缓冲区 发送者和接收者可交替使用2个缓冲区,这样,发送和接收可并行工作。 当两者速度相差很大时,还是有等待现象出现。,缓冲区1,发送数据,接收数据,缓冲区2,7.4 缓冲管理双缓冲 为I/O设备设置两个缓冲区缓,7.4 缓冲管理,多缓冲 为相同类型的I/O设备设置两个公共缓冲队列,一个用于输入,另一个用于输出。 当输入设备进行输入时,就取

25、输入缓冲队列指针所指向的缓冲使用,设备用完后归还缓冲。 指针则前行指向下一个,整个缓冲队列循环使用。 当输出设备进行输出时,就取输出缓冲队列指针所指向的缓冲使用,用完后归还缓冲。,缓冲区,输入缓冲指针,缓冲区,缓冲区,缓冲区,缓冲区,输出缓冲指针,缓冲区,缓冲区,缓冲区,7.4 缓冲管理多缓冲 为相同类型的I/O设备设置两,7.4 缓冲管理,缓冲池 整个缓冲区由n个单位缓冲构成,每个缓冲既可用于输入,也可用于输出;所有单位缓冲可供多个进程共享。 有4个基本工作方式: 收容输入、提取输入、收容输出、提取输出 有4种工作缓冲:hin、sin、hout、sout,CPU,输入设备,输出设备,缓冲池,

26、收容输入,提取输出,提取输入,收容输出,hin,sin,sout,hout,7.4 缓冲管理缓冲池 整个缓冲区由n个单位缓冲构成,7.5 I/O处理过程,根据OS提供的命令形式,由用户程序发出I/O请求;I/O管理程序(与设备无关的系统软件)接受请求;实现抽象接口到物理接口的转化,独立于具体设备;设备驱动程序具体完成要求的I/O操作;设备中断处理程序处理该请求。,7.5 I/O处理过程根据OS提供的命令形式,由用户程序,7.5 I/O处理过程,I/O软件按分层的思想构成。较低层软件要使较高层软件独立于硬件的特性;较高层软件则要向用户提供一个简单的、功能更强的接口,让用户能方便使用外设。,7.5

27、 I/O处理过程I/O软件按分层的思想构成。较低层,7.5 I/O处理过程,用户进程,I/O管理程序,设备驱动程序,READ(input,buffer,n)buffer(缓冲区), 阻塞调用进程 验证I/O请求 调用驱动程序 校验设备状态 激活调用进程,I/O请求, 初始化并启动I/O 实际完成I/O 全部完成返回I/O管理程序,设备中断处理程序, 保护中断现场 传送数据 恢复现场 未全完成再次调用驱动程序,外设,主机,中断完成信号,调用中断程序,7.5 I/O处理过程用户进程I/O管理程序设备驱动程序,7.5 I/O处理过程,一、I/O 请求的提出,I/O请求来自于用户进程。假设程序中命令形

28、式为: READ(input,buffer,n)即从输入设备input读入n个数据到buffer所指的缓冲区OS即依据命令调用I/O管理程序,并将命令中参数传递给I/O管理程序,7.5 I/O处理过程一、I/O 请求的提出I/O请求来,7.5 I/O处理过程,二、OS对I/O请求的管理,I/O管理程序负责管理用户的I/O请求。I/O管理程序有3方面功能: 接受用户I/O请求 把I/O请求交设备驱动程序实际完成 I/O完成后的善后处理,7.5 I/O处理过程二、OS对I/O请求的管理I/O管,7.5 I/O处理过程,具体步骤:接受用户进程的I/O请求用户请求进程阻塞,进入相关阻塞队列,等候I/O

29、完成如设备空闲,就分配给该进程使用调用相应设备驱动程序,控制转移到驱动程序,由驱动程序完成具体的I/O操作I/O操作完成,控制返回I/O管理程序把等待I/O完成进程的状态由阻塞改为就绪,参与CPU竞争,7.5 I/O处理过程 具体步骤:,7.5 I/O处理过程,三、 I/O的具体实现,设备驱动程序实际完成I/O请求、与具体外设硬件打交道。 当I/O管理程序调用设备驱动程序后,控制就转移到驱动程序,其操作如下:读设备状态,如空闲,就向设备发出I/O硬指令,启动一个I/O操作 多道程序环境里,驱动程序一旦启动I/O操作,就 让出CPU控制权,这样外设进行I/O的同时,CPU就脱身做其它事情,此即I

30、/O与CPU并行操作设备完成一次I/O操作,发中断完成信号给CPU,CPU即调用该设备的中断处理程序,7.5 I/O处理过程三、 I/O的具体实现 设备,7.5 I/O处理过程,中断处理程序被调用,即做如下事情:保护中断现场按I/O请求传输数据(如是输入操作,就把外设刚输入的数据送入指定缓冲区)恢复现场判断I/O是否完成: 如未完成,则再次调用驱动程序,启动外设,又一次输入/输出 如已完成,则从驱动程序转I/O管理程序,进行I/O善后工作,7.5 I/O处理过程 中断处理程序被调用,即做,7.5 I/O处理过程,例:读硬盘文件,用户程序发命令,读一硬盘文件I/O管理程序接受请求调用设备驱动程序,向I/O硬件发请求用户进程阻塞,等待读操作完成磁盘操作完成,硬件发中断完成信号转入中断处理程序中断处理程序查中断原因查得磁盘读操作完成,唤醒用户进程取回读得信息用户进程得到所需文件后,继续运行,7.5 I/O处理过程例:读硬盘文件用户程序发命令,读一,操作系统术语 7,29、中断: Interrupt30、设备控制器:Device Controller31、适配器: Adapter,操作系统术语 729、中断: Interrupt,作业 7,1Page245 #12. Page245 #53. Page245 #7,作业 71Page245 #1,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号