欢迎来到天天文库
浏览记录
ID:42898157
大小:810.50 KB
页数:123页
时间:2019-09-25
《操作系统设备管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章设备管理8.1引言8.2数据传送控制方式8.3中断技术8.4缓冲技术8.5设备分配8.6I/O进程控制8.7设备驱动程序本章小结习题本章主要讨论设备管理的基本概念,包括中断、缓冲、设备分配和控制等。8.1引言8.1.1设备的类别外部设备=除了CPU和内存之外其他的硬设备.它包括常用的输入输出设备、外存设备以及终端设备等。图8.1按使用特性对外部设备的分类除了上述分类方法之外,在有的系统中还按信息组织方式来画分设备。例如,UNIX系统就把外部设备画分为字符设备和块设备。键盘、终端、打印机等以字符为单位组织和处理信息的设备被称为字符设备
2、;而磁盘、磁带等以字符块为单位组织和处理信息的设备被称为块设备。8.1.2设备管理的功能和任务设备管理是对计算机输入输出系统的管理。(1)选择和分配输入输出设备以进行数据传输操作;(2)控制输入输出设备和CPU(或内存)之间交换数据;(3)为用户提供友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,系统按用户要求控制设备工作。另外,这个接口还为新增加的用户设备提供一个和系统核心相连接的入口,以便用户开发新的设备管理程序;(4)提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作度,以使操作系
3、统获得最佳效率。为了完成上述主要任务,设备管理程序一般要提供下述功能:(1)提供和进程管理系统的接口。当进程要求设备资源时,该接口将进程要求转达给设备管理程序;(2)进行设备分配。按照设备类型和相应的分配算法把设备和其他有关的硬件分配给请求该设备的进程,并把未分配到所请求设备或其他有关硬件的进程放入等待队列;(3)实现设备和设备、设备和CPU等之间的并行操作。这需要有相应的硬件支持。(4)进行缓冲区管理。一般来说,CPU的执行速度和访问内存速度都比较高,而外部设备的数据流通速度则低得多(例如键盘),为了减少外部设备和内存与CPU之间的数据
4、速度不匹配的问题,系统中一般设有缓冲区(器)来暂放数据。设备管理程序负责进行缓冲区分配、释放及有关的管理工作。8.2数据传送控制方式设备管理的主要任务之一是控制设备和内存或CPU之间的数据传送。选择和衡量控制方式有如下几条原则:(1)数据传送速度足够高,能满足用户的需要但又不丢失数据;(2)系统开销小,所需的处理控制程序少;(3)能充分发挥硬件资源的能力,使得I/O设备尽量忙,而CPU等待时间少。为了控制I/O设备和内存之间的数据交换,每台外围设备都按一定规律编码。而且,设备和内存与CPU之间有相应的硬件接口支持同步控制、设备选择以及中断
5、控制等。外围设备和内存之间的常用数据传送控制方式有4种。即:(1)程序直接控制方式;(2)中断控制方式;(3)DMA方式;(4)通道方式。8.2.1程序直接控制方式就是由用户进程来直接控制内存或CPU和外围设备之间的信息传送。这种方式的控制者是用户进程。当用户进程需要数据时,它通过CPU发出启动设备准备数据的启动命令“Start”,然后,用户进程进入测试等待状态。在等待时间内,CPU不断地用一条测试指令检查描述外围设备的工作状态的控制状态寄存器。而外围设备只有将数据传送的准备工作作好之后,才将该寄存器置为完成状态。从而,当CPU检测到控制
6、状态寄存器为完成状态,也就是该寄存器发出“Done”信号之后,设备开始往内存或CPU传送数据。反之,当用户进程需要向设备输出数据时,也必须同样发启动命令启动设备和等待设备准备好之后才能输出数据。除了控制状态寄存器之外,在I/O控制器中还有一类称为数据缓冲寄存器的寄存器。在CPU与外围设备之间传送数据时,输入设备每进行一次操作,首先把所输入的数据送入该寄存器,然后,CPU再把其中数据取走。反之,当CPU输出数据时,也是先把数据输出到该寄存器之后,再由输出设备将其取走。只有数据装入该寄存器之后,控制状态寄存器的值才会发生变化。程序直接控制方式
7、的控制流程如图8.2。图8.2程序直接控制方式程序直接控制方式虽然控制简单,也不需要多少硬件支持,但是,明显地存在下述缺点:(1)CPU和外围设备只能串行工作。由于CPU的处理速度要大大高于外围设备的数据传送和处理速度,所以,CPU的大量时间都处于等待和空闲状态。这使得CPU的利用率大大降低;(2)CPU在一段时间内只能和一台外围设备交换数据信息,从而不能实现设备之间的并行工作;(3)由于程序直接控制方式依靠测试设备标志触发器的状态位来控制数据传送,因此无法发现和处理由于设备或其他硬件所产生的错误。所认,程序直接控制方式只适用于那些CPU
8、执行速度较慢,而且外围设备较少的系统。8.2.2中断方式为了减少程序直接控制方式中CPU等待时间以及提高系统的并行工作程度,中断(interrupt)方式被用来控制外围设备和内存与CPU之间的
此文档下载收益归作者所有