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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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(DirectMemoryAccess)方式的引入是为解决中断控制方式对块设备低效的问题。减少中断次数。由于大多数的小型、微型计算机采用总线结构,DMA方式是“窃取”或“挪用”CPU总线的控制权,即要求CPU暂停若干总线周期,由DMA控制器占有存储器周期进行设备与内存之间的数据交换。DMA方式的基本思想(1)以数据块为单位进行数据传送。(2)设备与内存之间直接交换数据。DR—数据寄存器,暂时存放设备—内存间传送的信息。MAR—内存地址寄存器。DC—传送字(节)数寄存器。CR—命令/状态寄存器。接收从CPU发来的I/O命令、控制信息、设备状态。主机-控制器接口控制器-块设备接口DMA控制器的组成DRMARDCCRI/O控制逻辑CPU内存命令系统总线DMA控制器。。。count磁盘源地址数据DMA工作过程以磁盘数据输入为例•预置DMA寄存器•启动DMA,传送一个数据块•睡眠并等待DMA传送结束•I/O中断处理•唤醒数据输入进程DMA方式为成块传递,1、数据直接在DMA控制器控制下通过总线传递到内存中2、在完成指定量的数据接收后,DMA控制器才向CPU产生中断。3、通过中断处理程序可能唤醒等待数据的进程减少CPU在数据传递过程中的干预中断控制方式与DMA方式CPU总线I/O设备内存中断CPUI/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速度21.单缓冲区(singlebuffer)在设备和主机之间设置一个缓冲区。只能缓解速度匹配的问题。不能实现设备之间的并行操作。二、缓冲区的组织设备以速率V向缓冲输入数据缓冲区满后CPU以速率W读出数据缓冲区处理完后再由设备输入数据接收解决了速率匹配问题速度1速度2设备CPU同时提高CPU与设备间的并行度一般是建立两个大小相等的缓冲区,设备交替对两个缓冲区输入数据,操作系统也交替地从两个缓冲区移出数据送用户进程区。2.双缓冲区(doublebuffer)双向通信接收发送CPU设备1设备2CPU3.多缓冲区与缓冲池(bufferpool)可以实现多个外设并行工作及解决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,并插入空缓冲队列尾。缓冲池管理过程(以输入为例)缓冲输出过程(收容输出、提取输出)与输入类似。输入输出设备数据处理程序hinsoutsinhout………inqemqoutqputbuf(inq,hin)putbuf(emq,sout)getbuf(inq)getbuf(emq)putbuf(emq,sin)getbuf(outq)getbuf(emq)putbuf(outq,hout)提取输入提取输出收容输入收容输出典型的缓冲池管理收容输入getbuf(emq)hinputbuf(inq,hin)提取输入getbuf(inq)sinputbuf(emq,sin)2.5.4设备的分配按一定算法进行设备分配包括设备、设备控制器及通道保证:“有”——用户能得到设备使用权。“安全”——用户使用设备是安全的。讨论设备分配的数据结构,分配原则及分配算法。一、设备分配的数据结构1.设备控制表DCT(DeviceControlTable)系统为每个设备配置了一张设备控制表,记录该设备的情况反映设备特性,设备与I/O控制器连接情况。DCT1DCTiDCTn设备类型Type设备表示符:device_id设备状态:忙/闲指向控制器表的指针重复执行次数或时间设备等待队列队首指针设备等待队列队尾指针......2.控制器控制表COCT(ControlerControlTable)系统为每个控制器都设置了一张用于记录本控制器情况的控制表。记录I/O控制器使用情况及与通道连接情况。(DMA无)控制器标识符:controller_id控制器状态:忙/闲与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针控制器表COCT3.通道控制表CHCT(ChannelControlTable)每个通道都配有一张通道控制表。描述通道的使用情况。通道标识符:channel_id通道状态:忙/闲与通道连接的控制器表指针通道队列的队首指针通道队列的队尾指针通道控制表CHCT4.系统设备表SDT(SystemDeviceTable)整个系统一张,记录已连接到系统中的设备情况,每个设备在SDT中占一表项。表目1表目i设备类设备标识符DCT指针驱动程序入口系统设备表SDT......设备名设备控制表设备名设备控制表设备名设备控制表设备名设备控制表SDT设备名设备控制器设备名设备控制器状态状态控制器名通道控制表状态控制器名通道控制表状态DCTCOCT通道标识状态通道标识状态CHCT设备分配的数据结构设备分配的方式:静态分配—一次分配所有需要的设备。不符合分配原则。动态分配—进程执行过程中,按需分配。设备分配总原则:充分发挥设备

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功