软件技术基础-OS设备管理课件

上传人:唐****1 文档编号:243269529 上传时间:2024-09-19 格式:PPT 页数:43 大小:681.50KB
返回 下载 相关 举报
软件技术基础-OS设备管理课件_第1页
第1页 / 共43页
软件技术基础-OS设备管理课件_第2页
第2页 / 共43页
软件技术基础-OS设备管理课件_第3页
第3页 / 共43页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,2.5 设 备 管 理,2.5 设 备 管 理,设备管理是操作系统最基本、最繁杂的组成部分。且与硬件的关系最密切。,2.5.1 设备管理概述,外设,按功能分为两类,I/O设备,存储设备,I/O设备,输入设备 模拟信号 数字信号(A/D转换),输出设备 数字信号 模拟信号(D/A转换),一、I/O设备及分类,存储设备,存取控制部分(控制电路伺服系统、读写控制电路、,磁头、光头等),信息载体 (磁盘、磁带、光盘等),按传输速度,低速:键盘、鼠标,中速:打印机,高速:磁盘,按信息交换单位,块设备:信息传输以块为单位,字符设备:信息传输以字节为单位,按分配方式,独占设备:,在一段时间只允许一个进程访 问的设备。,打印机,共享设备:,在一段时间允许多个进程同时 访问的设备。,磁盘,虚拟设备:将独占设备虚拟为多台虚拟设备,独占设备虚拟为共享设备,设备管理的基本任务是:,(1) 控制 I/O 操作,进行设备分配,提高CPU与设备之间的并行工作程度。协调和保证设备的高效工作。,(2) 向用户提供一个使用设备的方便接口。完成用户的I/O请求。,二、,设备管理的任务和功能,设备管理的功能:,建立统一的独立于设备的接口。,按照设备类型和相应算法,进行设备的分配与回收。,进行设备驱动,实现真正的,I/O,操作及设备间的并行操作。,实现输入输出缓冲区管理,解决高速,CPU,与慢速设备速 度不匹配问题。,实现虚拟设备管理。,1.微机I/O系统,CPU通过总线与设备控制器相连接,设备 控制器是CPU 与设备之间的接口。,2.主机I/O系统,使用I/O通道(I/O处理机),实现对设备,控制器的控制。,三、I/O 系统的结构,CPU,存储器,I/O设备,I/O设备,总线,高速,低速,1、微机I/O系统,基于总线的微机硬件体系,设备,控制器,设备,控制器,共享总线,设备与CPU之间的通信通过设备控制器进行,2、主机I/O系统特点,CPU,主存,通道,通道,通道,通道,I/O,设备,磁,盘,磁带,通信,设备,以通道代替CPU与设备控制器通信,通道可认为是特殊的处理器,各通道与CPU共享主存,设备控制器与通道,(1)设备控制器,位于CPU与设备之间,接收CPU下达的输入、输出命令,并控制具体设备实现操作。,*功能,接收和识别命令,地址识别,命令接收,命令识别,数据交换,数据暂存、缓冲,监测设备状态,(2)通道,1、通道是一种特殊的处理机,具有执行I/O指令的能力。通过执行通道程序来控制I/O操作,2、CPU只需向通道发出一条指令,通道便从内存中取出本次执行的通道程序,并执行。,通道程序可以包含多次输入、输出,是一个相对完整的过程,4、通道把CPU从繁杂的I/O任务中解脱出来,3、通道之间可以并行执行,2.5.2 数据传送控制方式,(1)程序I/O方式 (2)中断控制方式,(3) DMA 控制方式 (4)通道控制方式,设备管理的主要任务之一是控制设备与内存或CPU 之间的数据传送,选择控制方式的原则是:,保证在足够的传输速度下数据的正确传送。,系统开销小。,充分发挥硬件资源的能力。,本节讨论CPU 通过设备控制器来控制数据I/O的方式。,常用的I/O控制方式,(1)程序I/O方式,接收到CPU,发来的start指令,准备接收和发送,数据准备,准备完毕?,标志触发器置“Done”,设备,是,否,等待CPU来的下条指令,向设备发start指令,设备标志触发器,置为“Done”?,等待,执行下条指令,开始数据传输,CPU,否,是,(2)中断控制方式,结合进程调度机制,实现让权等待,进程利用中断实现输入、输出流程:,初始化,阻塞等待输入,控制设备,完成输入,根据中断唤醒等待进程,设备产生输入中断,接收到CPU,发来的start指令,准备数据并将其,置入缓冲寄存器,缓冲寄存器满?,控制器发中断信号,设备,是,否,向设备发start指令,将中断允许位置1,调度程序调度,其它进程,其它进程执行,收到中断信号?,中断处理,被中断进程执行,CPU,是,否,中断机制实现了CPU与设备的并行控制让权等待,CPU,输入:,其他进程,中断处理,继续,设备,等待数据,处理输入数据,被唤醒的等待进程,数据到,设备,产生中断,暂不接收,数据,清除中断,等待数据,一次I/O操作(1字节)完成,向CPU发中断信号,CPU作中断处理。,效率虽然比程序I/O方式高,但还是,不适宜需要交换大量数据的情况。,缺点:,(3)DMA方式,中断控制方式一般以字节为单位产生中断,每个字节在中断处理程序中,读入到CPU的寄存器中。直接存储器访问 DMA(Direct Memory Access)方式的引入是为解决中断控制方式对块设备低效的问题。减少中断次数。,由于大多数的小型、微型计算机采用总线结构,DMA方式是“窃取”或“,挪用,”,CPU总线的控制权,即要求CPU暂停若干总线周期,由DMA控制器占有存储器周期进行设备与内存之间的数据交换。,DMA方式的基本思想,(1)以数据块为单位进行数据传送。,(2)设备与内存之间直接交换数据。,DR 数据寄存器,暂时存放设备内存间传送的信息。,MAR 内存地址寄存器。,DC 传送字(节)数寄存器。,CR 命令/状态寄存器。接收从CPU发来的 I/O命令、控制信息、,设备状态。,主机-控制器接口 控制器-块设备接口,DMA控制器的组成,DR,MAR,DC,CR,I/O,控,制,逻,辑,CPU,内存,命令,系统总线,DMA控制器,。,。,。,count,磁,盘,源地址,数据,DMA工作过程,以磁盘数据输入为例,预置,DMA,寄存器,启动,DMA,,,传送一个数据块,睡眠并等待,DMA,传送结束,I/O,中断处理,唤醒数据输入进程,DMA方式为成块传递,,1、数据直接在DMA控制器控制下通过总线传递到内存中,2、在完成指定量的数据接收后,DMA控制器才向CPU产生中断。,3、通过中断处理程序可能唤醒等待数据的进程,减少CPU在数据传递过程中的干预,中断控制方式与DMA方式,CPU,总线,I/O设备,内存,中断,CPU,I/O设备,内存,DMA,通知已,传输完毕,(4)通道控制,通道通过执行通道程序并行完成一系列输入输出过程,进一步减少CPU对输入输出过程的干预。,提高CPU与设备之间的并行性,提高资源利用率,提高系统吞吐量。,通道,是一个独立于CPU的专门控制I/O工作的简单的,处理机,它控制设备与内存直接进行数据交换。,CCW,的信息:, 操作码 内存地址 传送数据字节数, 通道程序结束位P(P =1 结束), 记录结束标志R,0 指令处理同一记录,1 处理记录结束,通道(Channel) 是比DMA方式更加完善,功能更强的I/O 控制方式。,DMA与通道方式的异同,:,相同:,以内存为中心,实现设备与内存之间直接交换数据,的控制方式。,不同:通道是专门控制 I/O的处理机。,其指令称为通道控,制字(CCW),由CCW编制的通道程序,独立执,行I/O任务。,通道的控制过程:,CPU,启动通道,通道程序的始址存放在称为通道地址字(CAW)的内存单元中,由 CPU启动通道程序后,CPU可去执行其他任务。,执行,通道指令CCW,,,向设备控制器发出I/O操作命令。,设备根据CCW将数据传送到内存指定单元。,数据传送结束,I/O控制器向CPU 发出中断请求命令。,按照信息交换方式分类:, 字节多路通道 用于低、中速设备,含多个非分配型的子通道,子通道按时间片轮转共享主通道。按字节传送,。,传输速度慢, 选择通道 连接中、高速设备,含一个分配型的子通道,一段时间内只能执行、控制一台设备工作。通道利用率低,传输速度快。, 数组多路通道 连接中、高速设备,通道的类型,中央处理机,内存,字节多路通道,数组多路通道,选择通道,卡片,输入机,卡片,输入机,打印机,磁盘,磁带,通 道 结 构,2.5.3缓冲技术,1缓解CPU与外设速度不匹配的问题。,2减少CPU中断响应次数,放宽响应时间。,缓冲一定数量的数据后才向CPU产生一次中断,3提高CPU与I/O设备,I/O设备之间的并行操作能力。,减少CPU在设备数据传输期的干预,一为什么引入缓冲技术,缓冲技术的,基本思想,: 在内存中开辟一个或多个专用区域(缓冲区),作为CPU 与I/O设备间信息的集散地。,速度1,速度2,1.单缓冲区(single buffer),在设备和主机之间设置一个缓冲区。只能缓解速度匹配的问题。不能实现设备之间的并行操作。,二、缓冲区的组织,设备以速率V向缓冲输入数据,缓冲区满后CPU以速率W读出数据,缓冲区处理完后再由设备输入数据,接收,解决了速率匹配问题,速度1,速度2,设备,CPU,同时,提高CPU与设备间的并行度,一般是建立两个大小相等的,缓冲区,设备交替对两个缓冲区输入数据,操作系统也交替地从两个缓冲区移出数据送用户进程区。,2.双缓冲区(double buffer),双向通信,接收,发送,CPU,设备1,设备2,CPU,3.多缓冲区与缓冲池(buffer pool),可以实现多个外设并行工作及解决CPU的速度匹配问题。现行操作系统大都采用此结构。,三、缓冲池的管理,1.,缓冲池的结构,缓冲池由多个缓冲区构成。每个缓冲区又分为缓冲区首部和缓冲体。,设备号,缓冲区号,缓冲区地址,缓冲区状态(忙/闲),数据块号,互斥标识位,设备缓冲队列指针,缓冲区首部,将缓冲区连接成三种队列:,空缓冲区队列(,emq,),满输入缓冲区队列(,inq,),满输出缓冲区队列(,outq,),有四类工作缓冲区:,sin,提取输入的工作缓冲区,hin,收容输入数据的缓冲区,sout,提取输出的工作缓冲区,hout,收容输出数据的缓冲区,(1)收容输入,输入进程调用过程getbuf(emq),从空缓冲队列中,申请一空缓冲区收容输入数据的缓冲区(hin)。, 从设备输入数据到,hin。, 调用过程putbuf(inq,hin),将满,缓冲区hin插入,满,输入缓冲区队列(,inq),的队尾。,2. 缓冲池管理方式,(2)提取输入,当需要处理输入数据时,计算进程调用,getbuf( inq,),从满输入缓冲区队列(,inq,)的队首取出一缓冲区提取输入的工作缓冲区(,sin,)。, 计算进程从,sin提取数据处理。, 调用过程putbuf(emq,sin),释放工作,缓冲区,sin,并插入,空缓冲队列尾。,缓冲池管理过程(以输入为例),缓冲输出过程(收容输出、,提取输出)与输入类似。,输 入 输 出 设 备,数 据 处 理 程 序,hin,sout,sin,hout,inq,emq,outq,putbuf(inq,hin),putbuf(emq,sout),getbuf(inq),getbuf(emq),putbuf(emq,sin),getbuf(outq),getbuf(emq),putbuf(outq,hout),提取,输入,提取,输出,收容,输入,收容,输出,典型的,缓冲池管理,收容,输入,getbuf(emq),hin,putbuf(inq,hin),提取,输入,getbuf(inq),sin,putbuf(emq,sin),2.5.4设备的分配,按一定算法进行设备分配,包括设备、设备控制器及通道,保证,:,“有”用户能得到设备使用权。,“安全”用户使用设备是安全的。,讨论设备分配的数据结构,分配原则及分配算法。,一、设备分配的数据结构,1.设备控制表DCT(Device Control Table),系统为每个设备配置了一张设备控制表,记录该设备的情况反映,设备特性,设备与,I/O,控制器连接情况。,DCT1,DCTi,DCTn,设备类型Type,设备表示符:device_id,设备状态:忙/闲,指向控制器表的指针,重复执行次数或时间,设备等待队列队首指针,设备等待队列队尾指针,.,.,.,.,.,.,2.,控制器控制表,COCT(Controler Control Table),系统为每个控制器都设置了一张用于记录本控制器情况的控制表。记录I/O,控制器使用情况及与通道连接情况。(DMA无),控制器标识符:controller_id,控制器状态:忙/闲,与控制器连接的通道表指针,控制器队列的队首指针,控制器队列的队尾指针,控制器表COCT,3.通道控制表CHCT(Channel Control Table),每个通道都配有一张通道控制表。描述通道的使用情况。,通道标识符:channel_id,通道状态:忙/闲,与通道连接的控制器表指针,通道队列的队首指针,通道队列的队尾指针,通道控制表CHCT,4.系统设备表SDT(System Device Table),整个系统一张,记录已连接到系统中的设备情况,每个设备在SDT中占一表项。,表目1,表目i,设备类,设备标识符,DCT指针,驱动程序入口,系统设备表SDT,.,.,.,.,.,.,设备名,设备控制表,设备名,设备控制表,设备名,设备控制表,设备名,设备控制表,SDT,设备名,设备控制器,设备名,设备控制器,状态,状态,控制器名,通道控制表,状态,控制器名,通道控制表,状态,DCT,COCT,通道标识,状态,通道标识,状态,CHCT,设备分配的数据结构,设备分配的方式:,静态分配 一次分配所有需要的设备。不符合分配原则。,动态分配 进程执行过程中,按需分配。,设备分配总原则:充分发挥设备利用率,避免由于不,合理分配引起进程死锁。,具体考虑以下方面:,1,.,设备的固有属性 (独占、共享、虚拟)。,2,.,设备分配算法(先来先服务、优先级)。,3,.,设备分配的安全性(安全或不安全分配方式)。,4,.,设备独立性(用户程序独立于使用的物理设备)。,二、设备分配的原则及方式,三、设备分配流程,进程P发出I/O请求,搜索SDT找到DCT指针,查DCT,设备忙?,进程P按分配算法,入I/O队列,Y,N,按分配算法选择进程,进程P选中?,进程P等待,设备空闲,N,Y,检查设备分配的安全性,安全吗?,N,Y,设备分配给进程P,1,1,搜索DCT找到COCT指针,控制器忙?,Y,进程P等待,控制器,N,分配控制器给进程P,搜索COCT找到CHCT指针,CHCT忙,Y,进程P等,待通道,N,分配通道给进程 P,启动 I/O,多道程序系统中,进程对设备的需求频繁,尤其是独占设备数量有限、效率低,故引入虚拟设备管理技术。,基本思想:,用大容量的快速设备(磁盘)模拟慢速度的,独占设备,把一台物理上的独占设备变为逻辑上的多台共享设备。,SPOOLing是一种典型的虚拟设备技术, SPOOLing 是,Simultaneous Peripheral Operations On Line (外围设,备同时联机操作)的缩写,是用程序模拟脱机I/O的功能,故又称为假脱机技术。,2.5.5虚拟设备管理与SPOOLing技术,2,.,SPOOLing 技术,1. 虚拟设备管理,真脱机技术:输入、输出是脱离主机完成的。,靠外围机的控制输入、输出设备与磁盘交换数据。,CPU只与高速磁盘(磁带)交换数据,其它,输入井,输出井,高速,高速,假脱机技术,技术要点:,(1)多道程序并发执行,(2)一道程序模拟外围机的输入,将数据从设备输入到磁盘,(3)一道程序模拟外围机的输出,将数据从磁盘输出到设备,(4)其它程序与设备的通信和脱机方式一样:读写高速磁盘,(5)主机仍要控制外围设备“假脱机”,特点,(1)提高了进程访问低速设备速率,(2)独占设备成为虚拟设备,(3)独占设备成为共享设备,不与实际设备交互,磁盘是可共享的高速设备,SPOOLing 系统的组成:,输入井、输出井,输入进程、输出进程 I/O缓冲区,输入设备,输入设备,通 道,通 道,通 道,输出设备,输出设备,输入井 输出井,外 存,输入管理 输出管理,进程 进程,主机系统,I/O缓冲区,以打印机为例,说明,SPOOLing,系统的工作过程:,当进程请求打印输出时,OS,并不是把设备分配给它。,1、输出进程为其申请输出井中的一块空闲区(虚拟打印机),,并送入输出数据。,2、输出井中形成各进程的打印队列(printer queue)。,3、由,SPOOLing,系统的缓冲输出程序依次输出到打印机。,打印机 独占设备,虚拟打印机 共享设备,I/O请求的处理过程,由输入/输出控制系统IOCS完成,其中最主要的部分是设备驱动程序。它是I/O请求进程与设备控制器之间的通信程序。,1、用户进程向IOCS发出I/O请求。,2、IOCS查逻辑设备表(LUT),将逻辑请求转换为物,理请求。,3、IOCS调用驱动程序的“启动过程”启动I/O设备。,4、IOCS将有关信息放入中断表中。,5、将用户进程挂起,放入I/O等待队列。,6、执行驱动程序的“继续过程”(中断处理、传送 I/O,数据)。,7、完成I/O操作,重新启动用户进程。,一、I/O请求处理过程,2.5.6 I/O管理,二、I/O设备驱动程序,设备驱动程序是IOCS的主体,一般为每类(个)设备设置一个驱动程序。,驱动程序,启动过程 启动一个I/O操作。,继续过程 处理中断和完成数据传送。,驱动程序执行步骤:,1、服务请求校验,确定请求的操作,检验硬件支持。,2、确认设备状态,确定设备(状态寄存器)是否可用。,3、启动I/O请求,若确认设备状态可用,启动I/O。,4、中断处理,CPU处理I/O过程的中断。驱动程序应保存处,理器的当前状态,以便进程重新执行。,5、I/O请求完成,驱动程序识别I/O完成,将控制返回IOCS,,将被中断的进程置为就绪。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


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

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


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