OperatingSystem设备管理

上传人:xuey****n398 文档编号:245241959 上传时间:2024-10-08 格式:PPT 页数:39 大小:396.50KB
返回 下载 相关 举报
OperatingSystem设备管理_第1页
第1页 / 共39页
OperatingSystem设备管理_第2页
第2页 / 共39页
OperatingSystem设备管理_第3页
第3页 / 共39页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第八章 外部设备管理,8.1 引言,8.2 缓冲技术,8.3 设备分配,8.4 设备控制,8.5 磁盘设备管理,外设的,特点:,种类,多,差异,大(控制和速度),外设,管理目的,包括:,外设资源的,控制,外设资源的,共享,提高外设资源的,利用率,。,8.1 引言,8.1.1 外部设备类型和特征,8.1.2 设备的I/O控制技术,8.1.3 外设管理的目的和功能,8.1.4 外设管理结构,返回,8.1.1 外部设备类型和特征,人机交互设备,:视频显示设备、键盘、鼠标、打印机,与计算机或其他,电子设备交互,的设备:磁盘、磁带、传感器、控制器,计算机间的,通信设备,:网卡、调制解调器,返回,1.按交互对象分类,输入,(可读):键盘、扫描仪,输出,(可写):显示设备、打印机,输入/输出,(可读写):磁盘、网卡,2.按交互方向分类,3.按外设特性分类,使用特征,:存储、输入/输出、终端,数据传输率,:低速(如键盘)、中速(如打印机)、高速(如网卡、磁盘),信息组织特征,:单个字符或数据块,字符设备(如打印机),块设备(如磁盘),4.按外设分配方式分类,独占设备:,任何时刻只能被一个用户使用,如终端、绘图仪、打印机等。,共享设备:,可以同时(或宏观同时)被多个用户使用。一般容量大、数度快,如硬盘。,8.1.2 设备的I/O控制技术,返回,1.程序控制I/O(programmed I/O),也称,循环测试方式,。I/O操作由程序发起,并等待操作完成,其中程序直接从设备控制器中的数据缓冲寄存器中存取数据。数据的每次读写通过CPU。,缺点,:在外设进行数据处理时,CPU只能等待。,2.中断驱动方式(interrupt-driven I/O),I/O操作由程序发起,在操作完成时(如数据可读或已经写入,在此之前,该程序可进入,等待状态,或,继续执行,)由外设向CPU发出中断,通知该程序。数据的每次读写通过CPU。,优点,:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序。,缺点,:CPU每次处理的数据量少(通常不超过几个字节:从设备控制器中的数据缓冲寄存器中存取数据),只适于数据传输率较低的设备。另外,I/O操作频繁,有可能丢失中断信号。,3.直接存储访问方式(DMA,Direct Memory Access),由程序,设置,DMA控制器中的若干寄存器值(如内存始址,传送字节数),然后,发起,I/O操作,而由后者,完成,内存与外设的成批数据交换,在操作完成时由DMA控制器向CPU发出,中断,。,优点,:CPU只需干预I/O操作的开始和结束,而其中的数据读写无需CPU控制,CPU与DMA控制器并行工作。适于高速设备。,缺点,:功能比较简单,不能完成较复杂的要求。,DMA方式下的I/O控制器结构,中断方式和DMA方式的区别,中断方式在数据缓冲寄存器满时发中断请求,而DMA方式在数据全部传送完时发中断请求,。,中断方式中,数据从数据缓冲寄存器到内存是CPU在进行中断处理时完成的。而DMA方式数据是直接在DMA控制下完成的。,4.通道控制方式(channel control),选择通道(selector channel):可以连接多个外设,而一次只能访问其中一个外设。,多路通道(multiplexer channel):可以并发访问多个外设。分为字节多路(byte)和数组多路(block)通道。,通道控制器(Channel Processor)有自己的专用存储器,可以执行由,通道指令,组成的通道程序,因此可以进行,较为复杂的I/O控制,,如网卡上信道访问控制。通道程序通常由操作系统所构造,放在内存里。,优点:执行一个通道程序可以完成几批I/O操作。,8.1.3 外设管理的目的和功能,提高效率,:提高I/O访问效率,匹配CPU和多种不同处理速度的外设,方便使用,:方便用户使用,对不同类型的设备统一使用方法,协调对设备的并发使用,方便控制,:方便OS内部对设备的控制:增加和删除设备,适应新的设备类型,返回,1.外设管理目的,2.外设管理功能,提供,设备使用的用户接口,:命令接口和编程接口,设备分配和释放,:使用设备前,需要分配设备和相应的通道、控制器。,设备的访问和控制,:包括并发访问和差错处理。,I/O缓冲和调度,:目标是提高I/O访问效率,8.1.4 外设管理结构,返回,逻辑I/O,:逻辑设备(也称为虚拟设备)实体,不涉及实际的设备控制;,针对,用户接口,,提供抽象的命令,如:Open,Close,Read,Write。,针对,通信设备,,则是通信体系结构如网络协议栈;,针对,文件存储设备,,是文件系统的逻辑结构控制;,设备I/O,:逻辑设备与物理设备间的过渡协调机构。,用户命令,到,设备操作序列,的转换,I/O缓冲,:提高I/O效率。,调度和控制,:物理设备控制实体;,直接面对硬件设备的控制细节,。这部分通常体现为,设备驱动程序,。,并发I/O访问调度,设备,控制和状态维护,中断处理,8.2 缓冲技术,返回,1.引入缓冲技术的目的,缓冲技术可提高外设利用率,尽可能使外设处于忙状态;但有一个限制:进程的I/O请求不能超过外设的处理能力。,匹配,CPU或用户应用进程与外设的不同处理,速度,减少对CPU的中断次数,,提高CPU和I/O设备之间以及各个I/O设备之间的处理并行性。因此,缓冲区所在的位置:内存,控制器或外设。这些在不同位置的缓冲区组合在一起,构成多级缓冲机制。,2.单方向缓冲,单缓冲,(single buffer):一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。,双缓冲,(double buffer):两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。,环形缓冲,(circular buffer):多个缓冲区,CPU和外设的处理速度可以相差较大。,3.缓冲池(buffer pool),缓冲区队列,:三种:空闲缓冲区,输入缓冲区,输出缓冲区,操作,:四种:设备输入,CPU读入,设备输出,CPU写出。上述操作访问各个缓冲区队列时,需要进行相应的互斥操作。,这是一种双方向缓冲技术;缓冲区整体利用率高。,8.3 设备分配,8.3.1 设备分配数据结构,8.3.2 设备分配原则,8.3.3 假脱机技术,返回,由于外设资源的有限,需解决进程间的外设共享问题,以提高外设资源的利用率。设备分配是对进程使用外设过程的管理。这里有两种作法:1)在进程间,切换使用,外设,如键盘和鼠标;2)通过一个,虚拟设备,把外设与应用进程隔开,只通过虚拟设备来使用设备。,8.3.1 设备分配数据结构,设备控制表,(DCT,Device Control Table):每个设备一张,,描述设备特性和状态,。反映设备的特性、设备和控制器的连接情况。DCT的内容主要包括:,设备标识:用来区别不同的设备;,设备类型:反映设备的特性;如:块设备或字符设备;,设备配置:I/O地址等;,设备状态:工作或空闲状态;,等待队列:等待使用该设备的进程队列;,返回,系统设备表,(SDT,System Device Table):系统内一张,反映,系统中设备资源的状态,,记录所有设备的状态及其设备控制表的入口。SDT表项的主要组成:,DCT指针:指向相应设备的DCT;,设备使用进程标识:正在使用该设备的进程标识;,DCT信息:为引用方便而保存的DCT信息,如:设备标识、设备类型等;,控制器控制表,(COCT,COntroller Control Table):每个设备控制器一张,描述,I/O控制器的配置和状态,。如DMA控制器所占用的中断号、DMA数据通道的分配。,通道控制表(CHCT,CHannel Control Table):每个通道一张,描述通道工作状态。,返回,8.3.2 设备分配原则,与设备分配有关的,设备属性,:,独享设备:打印机等;,共享设备:磁盘、网卡等;,设备,分配方式,:各有优缺点,静态分配,:在进程分创建时分配,在进程退出时释放;,不会出现死锁;,设备利用率不高;,动态分配,:在进程执行过程中根据需要分配,使用结束后释放;,需要考虑死锁问题,有利于提高设备利用率,返回,设备分配的原则是合理使用外设(公平和避免死锁),提高设备利用率。,动态分配策略,:针对特定的设备采用特定的分配策略。,先来先服务(FCFS):,按I/O请求的先后顺序,排成I/O请求命令队列;按FCFS分配设备;,基于优先级,:依据进程的优先级,指定I/O请求的优先级,排成不同优先级队列;按优先级高低分配设备;,8.3.3 假脱机技术,引入:在多道批处理系统中,专门利用一道程序(SPOOLing程序)来完成对设备的I/O操作。无需使用外围I/O处理机。,返回,利用假脱机技术(SPOOLing,Simultaneous Peripheral Operation On Line,也称为虚拟设备技术)可,把独享设备转变成具有共享特征的虚拟设备,,从而提高设备利用率。,假脱机的原理:,SPOOLing程序和外设进行数据交换,可以称为“实际I/O”。一方面,SPOOLing程序预先从外设输入数据并加以缓冲(放在输入井中),在以后需要的时候输入到应用程序;另一方面,SPOOLing程序接受应用程序的输出数据并加以缓冲(放在输出井中),在以后适当的时候输出到外设。,应用程序进行I/O操作时,只是和SPOOLing程序交换数据,可以称为虚拟I/O。这时虚拟I/O实际上是从SPOOLing程序的缓冲池中读出数据或把数据送入缓冲池,而不是跟实际的外设进行I/O操作。,优点:,高速虚拟I/O操作,:应用程序的虚拟I/O比实际I/O速度提高,缩短应用程序的执行时间。另一方面,程序的虚拟I/O操作时间和实际I/O操作时间分离开来。,实现对独享设备的共享,:由SPOOLing程序提供虚拟设备,可以对独享设备依次共享使用。,举例:打印机设备和可由打印机管理器管理的打印作业队列。,如:Windows NT中,应用程序直接向针式打印机输出需要15分钟,而向打印作业队列输出只需要1分钟,此后用户可以关闭应用程序而转入其他工作,在以后适当的时候由打印机管理器完成15分钟的打印输出而无需用户干预。,8.4 设备控制,8.4.1 设备的控制过程,8.4.2 设备控制过程的实现方式,8.4.3 设备驱动程序,返回,8.4.1 设备的控制过程,转换,:将抽象的命令转换为具体的一定次序的指令,合法性检查,:检查I/O操作请求的合法性,可用性检查,:检查控制器和设备的状态,判断是否可用,参数设置,:设置控制器和设备的参数,包括构造必要的通道程序,启动I/O,:向控制器或设备发起I/O操作,中断处理,:提供必要的中断处理例程,以便I/O完成时调用,返回,依据用户的控制命令对外设进行控制,并返回结果。控制过程可分为以下6步:,8.4.2 设备控制过程的实现方式,作为,应用进程,的一部分执行:与程序控制I/O方式相对应。,作为,系统进程,执行:每类设备一个进程,或整个系统一个进程处理各类设备。,不设进程,作为,OS核心,中的设备驱动程序,也是最常用的方式。其工作流程如下图所示:,返回,8.4.3 设备驱动程序,中转,数据和控制,:不是数据和控制的源端和目的端(应用程序和设备),与硬件特性密切相关,:通常由硬件厂商提供。,向上屏蔽设备细节,:不同类型设备通常其设备驱动程序接口不同,同类设备的接口相同。因此,同类设备的不同型号,只要更换设备驱动程序则可由OS使用。,返回,驱动程序是I/O处理功能的低级系统例程。它具有如下特征:,8.5 磁盘设备管理,8.5.1 磁盘I/O访问时间的组成,8.5.2 磁盘I/O调度策略,返回,CPU和内存的,访问速度,比磁盘要快若干个数量级,磁盘系统的性能,对整个系统的性能有重要影响,,磁盘设备管理的目标就是提高磁盘系统的性能。,8.5.1 磁盘I/O访问时间的组成,盘块的地
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!