软件技术应用基础-OS设备管理讲义_第1页
软件技术应用基础-OS设备管理讲义_第2页
软件技术应用基础-OS设备管理讲义_第3页
软件技术应用基础-OS设备管理讲义_第4页
软件技术应用基础-OS设备管理讲义_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件技术应用基础-OS设备管理讲义2.5 设 备 管 理 2.5.1 设备管理概述外设按功能分为两类 I/O设备存储设备I/O设备 输入设备 模拟信号 数字信号A/D转换 输出设备 数字信号 模拟信号D/A转换一、I/O设备及分类存储设备 存取控制局部控制电路伺服系统、读写控制电路、 磁头、光头等 信息载体 磁盘、磁带、光盘等 按传输速度低速:键盘、鼠标中速:打印机高速:磁盘按信息交换单位块设备:信息传输以块为单位字符设备:信息传输以字节为单位按分配方式独占设备:在一段时间只允许一个进程访 问的设备。 打印机共享设备:在一段时间允许多个进程同时 访问的设备。 磁盘虚拟设备:将独占设备虚拟为多台

2、虚拟设备独占设备虚拟为共享设备设备管理的根本任务是:1 控制 I/O 操作,进行设备分配,提高CPU与设备之间的并行工作程度。协调和保证设备的高效工作。2 向用户提供一个使用设备的方便接口。完成用户的I/O请求。二、设备管理的任务和功能设备管理的功能:建立统一的独立于设备的接口。按照设备类型和相应算法,进行设备的分配与回收。进行设备驱动,实现真正的I/O操作及设备间的并行操作。实现输入输出缓冲区管理,解决高速CPU与慢速设备速 度不匹配问题。实现虚拟设备管理。1.微机I/O系统 CPU通过总线与设备控制器相连接,设备 控制器是CPU 与设备之间的接口。2.主机I/O系统 使用I/O通道I/O处

3、理机,实现对设备 控制器的控制。 三、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指令的

4、能力。通过执行通道程序来控制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方式接收

5、到CPU发来的start指令准备接收和发送数据准备准备完毕?标志触发器置“Done”设备是否等待CPU来的下条指令向设备发start指令设备标志触发器置为“Done”?等待执行下条指令开始数据传输CPU否是2中断控制方式结合进程调度机制,实现让权等待进程利用中断实现输入、输出流程:初始化阻塞等待输入控制设备完成输入根据中断唤醒等待进程设备产生输入中断接收到CPU发来的start指令准备数据并将其置入缓冲寄存器缓冲寄存器满?控制器发中断信号设备是否向设备发start指令将中断允许位置1调度程序调度其它进程其它进程执行收到中断信号?中断处理被中断进程执行CPU是否中断机制实现了CPU与设备的并行控

6、制让权等待CPU输入:其他进程中断处理继续设备等待数据处理输入数据被唤醒的等待进程数据到设备产生中断暂不接收数据去除中断等待数据一次I/O操作1字节完成,向CPU发中断信号,CPU作中断处理。效率虽然比程序I/O方式高,但还是不适宜需要交换大量数据的情况。缺点:3DMA方式 中断控制方式一般以字节为单位产生中断,每个字节在中断处理程序中,读入到CPU的存放器中。直接存储器访问 DMADirect Memory Access方式的引入是为解决中断控制方式对块设备低效的问题。减少中断次数。 由于大多数的小型、微型计算机采用总线结构,DMA方式是“窃取或“挪用 CPU总线的控制权,即要求CPU暂停假

7、设干总线周期,由DMA控制器占有存储器周期进行设备与内存之间的数据交换。DMA方式的根本思想1以数据块为单位进行数据传送。2设备与内存之间直接交换数据。 DR 数据存放器,暂时存放设备内存间传送的信息。 MAR 内存地址存放器。 DC 传送字节数存放器。 CR 命令/状态存放器。接收从CPU发来的 I/O命令、控制信息、 设备状态。主机-控制器接口 控制器-块设备接口DMA控制器的组成DRMARDCCRI/O控制逻辑CPU内存命令系统总线DMA控制器。count磁盘源地址数据 DMA工作过程以磁盘数据输入为例预置DMA存放器启动DMA,传送一个数据块睡眠并等待DMA传送结束I/O中断处理唤醒数

8、据输入进程 DMA方式为成块传递,1、数据直接在DMA控制器控制下通过总线传递到内存中2、在完成指定量的数据接收后,DMA控制器才向CPU产生中断。3、通过中断处理程序可能唤醒等待数据的进程减少CPU在数据传递过程中的干预中断控制方式与DMA方式CPU总线I/O设备内存中断CPUI/O设备内存DMA通知已传输完毕4通道控制通道通过执行通道程序并行完成一系列输入输出过程进一步减少CPU对输入输出过程的干预。提高CPU与设备之间的并行性,提高资源利用率,提高系统吞吐量。通道是一个独立于CPU的专门控制I/O工作的简单的 处理机,它控制设备与内存直接进行数据交换。 CCW的信息: 操作码 内存地址

9、传送数据字节数 通道程序结束位PP =1 结束 记录结束标志R 0 指令处理同一记录1 处理记录结束通道Channel 是比DMA方式更加完善,功能更强的I/O 控制方式。DMA与通道方式的异同: 相同:以内存为中心,实现设备与内存之间直接交换数据 的控制方式。 不同:通道是专门控制 I/O的处理机。其指令称为通道控 制字CCW,由CCW编制的通道程序,独立执 行I/O任务。通道的控制过程: CPU启动通道 通道程序的始址存放在称为通道地址字CAW的内存单元中,由 CPU启动通道程序后,CPU可去执行其他任务。 执行通道指令CCW ,向设备控制器发出I/O操作命令。 设备根据CCW将数据传送到

10、内存指定单元。 数据传送结束,I/O控制器向CPU 发出中断请求命令。 按照信息交换方式分类: 字节多路通道 用于低、中速设备 含多个非分配型的子通道,子通道按时间片轮转共享主通道。按字节传送。传输速度慢 选择通道 连接中、高速设备 含一个分配型的子通道,一段时间内只能执行、控制一台设备工作。通道利用率低,传输速度快。 数组多路通道 连接中、高速设备通道的类型中央处理机内存字节多路通道数组多路通道选择通道卡片输入机卡片输入机打印机磁盘磁带通 道 结 构2.5.3缓冲技术1缓解CPU与外设速度不匹配的问题。2减少CPU中断响应次数,放宽响应时间。缓冲一定数量的数据后才向CPU产生一次中断3提高C

11、PU与I/O设备,I/O设备之间的并行操作能力。减少CPU在设备数据传输期的干预 一为什么引入缓冲技术 缓冲技术的根本思想: 在内存中开辟一个或多个专用区域缓冲区,作为CPU 与I/O设备间信息的集散地。速度1速度21.单缓冲区single buffer 在设备和主机之间设置一个缓冲区。只能缓解速度匹配的问题。不能实现设备之间的并行操作。二、缓冲区的组织设备以速率V向缓冲输入数据缓冲区满后CPU以速率W读出数据缓冲区处理完后再由设备输入数据接收解决了速率匹配问题速度1速度2设备CPU同时提高CPU与设备间的并行度 一般是建立两个大小相等的缓冲区,设备交替对两个缓冲区输入数据,操作系统也交替地从

12、两个缓冲区移出数据送用户进程区。2.双缓冲区double buffer双向通信接收发送CPU设备1设备2CPU3.多缓冲区与缓冲池buffer pool可以实现多个外设并行工作及解决CPU的速度匹配问题。现行操作系统大都采用此结构。三、缓冲池的管理1.缓冲池的结构 缓冲池由多个缓冲区构成。每个缓冲区又分为缓冲区首部和缓冲体。设备号缓冲区号缓冲区地址缓冲区状态忙/闲数据块号互斥标识位设备缓冲队列指针缓冲区首部将缓冲区连接成三种队列: 空缓冲区队列emq 满输入缓冲区队列inq 满输出缓冲区队列outq有四类工作缓冲区: sin 提取输入的工作缓冲区 hin 收容输入数据的缓冲区 sout 提取输

13、出的工作缓冲区 hout 收容输出数据的缓冲区1收容输入 输入进程调用过程getbufemq,从空缓冲队列中 申请一空缓冲区收容输入数据的缓冲区hin。 从设备输入数据到 hin。 调用过程putbufinq,hin,将满缓冲区hin插入满 输入缓冲区队列inq的队尾。2. 缓冲池管理方式2提取输入 当需要处理输入数据时,计算进程调用getbuf inq,从满输入缓冲区队列inq的队首取出一缓冲区提取输入的工作缓冲区sin。 计算进程从sin提取数据处理。 调用过程putbufemq,sin,释放工作缓冲区sin,并插入空缓冲队列尾。缓冲池管理过程以输入为例缓冲输出过程收容输出、提取输出与输入

14、类似。 输 入 输 出 设 备 数 据 处 理 程 序hinsoutsinhout inqemqoutqputbufinq,hinputbufemq,soutgetbufinqgetbufemqputbufemq,singetbufoutqgetbufemqputbufoutq,hout提取输入提取输出收容输入收容输出典型的缓冲池管理收容输入getbufemqhinputbufinq,hin提取输入getbufinqsinputbufemq,sin2.5.4设备的分配按一定算法进行设备分配包括设备、设备控制器及通道保证:“有用户能得到设备使用权。“平安用户使用设备是平安的。讨论设备分配的数据结

15、构,分配原那么及分配算法。一、设备分配的数据结构1.设备控制表DCTDevice Control Table系统为每个设备配置了一张设备控制表,记录该设备的情况反映设备特性,设备与I/O控制器连接情况。DCT1DCTiDCTn设备类型Type设备表示符:device_id设备状态:忙/闲指向控制器表的指针重复执行次数或时间设备等待队列队首指针设备等待队列队尾指针.2.控制器控制表COCTControler Control Table 系统为每个控制器都设置了一张用于记录本控制器情况的控制表。记录I/O控制器使用情况及与通道连接情况。DMA无控制器标识符:controller_id控制器状态:忙

16、/闲与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针控制器表COCT3.通道控制表CHCTChannel Control Table每个通道都配有一张通道控制表。描述通道的使用情况。通道标识符:channel_id 通道状态:忙/闲与通道连接的控制器表指针通道队列的队首指针通道队列的队尾指针通道控制表CHCT4.系统设备表SDTSystem Device Table整个系统一张,记录已连接到系统中的设备情况,每个设备在SDT中占一表项。表目1表目i设备类设备标识符DCT指针驱动程序入口系统设备表SDT.设备名设备控制表设备名设备控制表设备名设备控制表设备名设备控制表SDT设备名

17、设备控制器设备名设备控制器状态状态控制器名通道控制表状态控制器名通道控制表状态DCTCOCT通道标识状态通道标识状态CHCT设备分配的数据结构 设备分配的方式: 静态分配 一次分配所有需要的设备。不符合分配原那么。 动态分配 进程执行过程中,按需分配。 设备分配总原那么:充分发挥设备利用率,防止由于不 合理分配引起进程死锁。 具体考虑以下方面: 1 .设备的固有属性 独占、共享、虚拟。 2 .设备分配算法先来先效劳、优先级。 3. 设备分配的平安性平安或不平安分配方式。 4 . 设备独立性用户程序独立于使用的物理设备。二、设备分配的原那么及方式三、设备分配流程进程P发出I/O请求搜索SDT找到

18、DCT指针查DCT设备忙?进程P按分配算法入I/O队列YN按分配算法选择进程进程P选中?进程P等待设备空闲NY检查设备分配的平安性平安吗?NY设备分配给进程P11搜索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一道程序模拟外围机的输出,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论