您好,欢迎访问三七文档
2.5设备管理2.5.1设备管理概述外部设备:计算机系统中除了中央处理机和主存储器外的其它设备称为外部设备。设备管理就是对外部设备进行统一的管理,向用户提供简单而一致的方式访问各种I/O设备。一、设备分类按工作特点:输入输出设备存储设备按资源分配方式:独占设备共享设备虚拟设备按信息交换单位:字符设备块设备二、设备管理的任务与功能设备管理任务方便用户使用设备,提供接口充分发挥设备的使用效率,提供设备、cpu的利用效率,保证设备高效运行功能建立统一、独立于设备的接口分配与回收设备驱动,实现IO操作缓冲区管理,解决速度不匹配问题虚拟设备管理CPU存储器高速I/O设备共享总线低速I/O设备设备控制器微机I/O系统的结构基于主存和通道的I/O系统CPU主存通道通道通道通道某I/O设备磁盘磁带通信设备主存可同时进行控制通道与CPU共享主存通道代替CPU完成与设备控制器的通信1、什么是设备控制器位于CPU与设备之间,接收CPU下达的输入、输出命令并控制具体设备实现操作。一个控制器可控制一个或多个I/O设备。存在形式为各种接口卡。设备控制器2、设备控制器功能接收和识别命令;数据暂存、缓冲;监测设备状态。数据接口、控制接口、状态接口3、设备控制器与设备的接口4、设备控制器组成控制器与CPU的接口单元控制器与设备接口单元I/O逻辑单元数据线数据寄存器地址线I/O逻辑控制线数据信号控制信号状态信号数据信号控制信号状态信号控制器与设备接口控制器与设备接口2.5.2数据传送控制方式设备管理的主要任务就是控制设备与CPU间的数据传递,主要有以下数传控制方式:中断控制方式2直接内存访问(DMA)方式3通道(Channel)方式4程序查询方式1一、程序查询方式由程序循环查询外部设备的状态,在外设进行数据处理时CPU只能等待。开始接收数据有数据接收?否是忙等接收开始发送数据设备空闲?否是忙等发送二、中断控制方式外部设备与CPU之间传递数据通过专门的中断请求信号来进行。I/O操作由程序发起,在操作完成时(如数据可读或已经写入)由外设向CPU发出中断,CPU完成数据的读写。要求:专门的中断请求线、专门的中断标志位优点:在外设进行数据处理时,CPU不必等待——实现了让权等待。缺点:CPU每次处理的数据量少(通常以字节为单位),适于数据传输率较低的设备。进程利用中断实现输入、输出流程:初始化阻塞等待输入控制设备完成输入根据中断类型唤醒等待进程设备产生输入中断输入向设备输出数据阻塞等待输出完成根据中断唤醒等待进程设备产生输出中断输出三、直接内存访问方式(DMA)引入思想:减少CPU在数据传递过程中的干预,DMA控制器完成内存与外设的成批数据交换。优点:CPU只需干预I/O操作的开始和结束,而其中的一批数据读写无需CPU控制,适于高速设备。SystemBusI/OControllerI/OControllerProcessorDMAControllerMemory.....1.由程序设置DMA控制器中的若干寄存器值(如内存始址,传送字节数),然后发起I/O操作;2.数据直接在DMA控制器控制下通过总线传递到内存中;3.在完成指定量的数据接收后,DMA控制器才向CPU产生中断;4.通过中断处理程序唤醒等待数据的进程;5.等待数据的进程经过调度处理输入的数据。DMA过程:不再每个字符传递后发中断,实现了块传递再中断,减少了CPU的占用时间四、通道方式通过执行通道程序并行完成一系列输入输出过程通道:通道是一种特殊的处理机,具有执行I/O指令的能力,通过执行通道程序来控制I/O操作。1、通道程序有自己的指令系统,是一个相对完整的过程。CPU只需向通道发出一条指令,通道便从内存中取出本次执行的通道程序并执行。2、通道之间可以并行执行,进一步减少了CPU对输入输出过程的干预。提高CPU与设备之间的并行性,提高资源利用率。3、主机具有一个或多个通道,一个通道可管理一个或多个设备控制器;通道和CPU共享一个主存特点:2.5.3缓冲技术作用:解决CPU与I/O设备速度匹配问题速度1速度2基本思想:在内存中开辟一定的专用区域,作为CPU和I/O设备之间进行信息交流的工作区缓冲区缓冲区的组织专用缓冲区:为某台设备专门设置的,单独使用的缓冲区公用缓冲区:为多台或者全部设备设置的,共享的缓冲区按使用方式划分:按数量划分:单缓冲区双缓冲区多缓冲区循环缓冲缓冲池:由多个大小相等的缓冲区连接起来构成缓冲池1.单缓冲区在CPU和设备之间设置一个缓冲区速度1速度2注意:1.单缓冲区是临界资源,读写必须互斥访问。2.单缓冲区只能实现匹配速度,不能实现并行操作。2.双缓冲区在CPU和设备之间设置两个缓冲区设备1设备2CPU提高了CPU与设备之间的并行度多个缓冲区循环使用,类似循环队列next_innext_outCPU设备输入3.循环缓冲4.缓冲池可供多个对象共享的公用缓冲区组成的缓冲池缓冲区1缓冲区2缓冲区3缓冲区4缓冲区1缓冲区缓冲体缓冲区首部设备号缓冲区号缓冲区地址状态数据块号互斥标识位设备缓冲队列指针数据缓冲池中的缓冲区根据使用情况划分为3种队列:inq:满输入缓冲区队列outq:满输出缓冲区队列emptyq:空缓冲区队列从设备输入的数据缓冲区队列准备向设备输出的数据缓冲区队列缓冲池操作(四种操作)设备输入数据到缓冲池getemptybuffer;filldatainbuffer;putbufferininq;收容输入用户从缓冲池读入数据getbufferfrominq;calculetdatainbuffer;putbufferbacktoemptyq提取输入用户向数据缓冲池输出数据getbufferfromoutq;Senddata;putbufferinemptyq;收容输出设备从缓冲池中读出输出数据并完成输出getbufferfromemptyq;filldatainbuffer;putbufferoutq;提取输出缓冲池设备用户2.5.4设备分配技术设备分配:按一定策略和原则为申请设备的进程分配设备,包括对设备、设备控制器、通道的分配。分配原则:1、保证申请设备的进程能分配到设备。2、保证设备分配给该进程是安全的。分配方式:静态分配、动态分配一、设备分配的数据结构1、设备控制表DCT(DeviceControlTable)记录设备信息及设备的控制器表设备标识设备类型设备状态设备地址或设备号设备等待队列指针I/O控制器指针每个设备一张,可动态更改2、系统设备表SDT(SystemDeviceTable)记录系统中所有设备情况DCT指针占用设备的进程标识设备类型一个系统只有一张每个设备在SDT中占一个表项3、控制器表COCT(ControllerControlTable)4、通道控制表CHCT(ChannelControlTable)记录I/O控制器信息及通道控制表记录通道信息设备名设备控制表设备名设备控制表设备名设备控制表设备名设备控制表SDT设备名设备控制器设备名设备控制器状态状态控制器名通道控制表状态控制器名通道控制表状态DCTCOCT通道标识状态通道标识状态CHCT申请SDTDCTCOCTCHCTP130图2.45设备的分配过程:二、设备分配应考虑的因素1、设备的固有属性:独占(静态分配)、共享(动态分配)2、分配的算法:当申请设备的进程有多个、可用设备有多个时3、设备分配的安全性:死锁先申请的进程先满足FIFO;按进程的优先级分配安全分配:非请求和保持,CPU与设备串行工作不安全分配:分配设备时应该进行安全性状态检测4、逻辑设备与物理设备的独立性用户使用逻辑设备,由系统控制具体的物理设备;系统能根据用户提供的逻辑设备名找到相应的物理设备2.5.5虚拟设备技术(Spooling)其它输入井输出井高速高速脱机:输入、输出是脱离主机完成的。靠外围机的控制输入、输出设备与磁盘交换数据。CPU只与高速磁盘(磁带)交换数据,技术要点:(1)多道程序并发执行(2)一道程序模拟外围机的输入,将数据从设备输入到磁盘(3)一道程序模拟外围机的输出,将数据从磁盘输出到设备(4)其它程序与设备的通信和脱机方式一样:读写高速磁盘(5)主机仍要控制外围设备——“假脱机”特点:(1)提高了进程访问低速设备速率(2)独占设备成为虚拟设备(3)独占设备成为共享设备SPOOLing技术——伪脱机技术其它输入井:外围计算机输出井外围计算机高速高速用户程序用户终端其它低速硬盘低速模拟输入高速模拟输出高速用户程序获得:高速输入高速输出数据数据模拟模拟2.5.6I/O管理与控制功能:(1)解释I/O指令(2)发动并完成具体I/O操作(3)响应设备及控制器的I/O请求,调用相应的中断处理程序——在分配程序完成设备分配之后进行实现方式:(1)为每一类设备设置一个I/O进程灵活(2)在整个系统中设置一个I/O进程统一管理(3)不设置进程而是提供模块以供用户及系统调用减少进程数量设备驱动的特性:中转数据和控制:不是数据和控制的源端和目的端(应用程序和设备)与硬件特性密切相关:通常由硬件厂商提供;向上屏蔽设备细节:不同类型设备通常其设备驱动程序接口不同,同类设备的接口相同。因此,同类设备的不同型号,只要更换设备驱动程序则可由OS使用。设备驱动处理过程:(1)解释CPU的I/O要求,检查合法性(2)检测设备状态(3)启动执行:填写设备控制器的寄存器(4)启动I/O操作后阻塞输出:等待设备发送结束中断输入:等待设备数据到达中断(5)中断处理保护被中断进程CPU现场转入对中断事件处理的程序唤醒被阻塞的驱动程序恢复被中断进程现场并继续执行
本文标题:14 设备管理
链接地址:https://www.777doc.com/doc-3693950 .html