北方工业大学 计算机操作系统 第15讲--设备管理._第1页
北方工业大学 计算机操作系统 第15讲--设备管理._第2页
北方工业大学 计算机操作系统 第15讲--设备管理._第3页
北方工业大学 计算机操作系统 第15讲--设备管理._第4页
北方工业大学 计算机操作系统 第15讲--设备管理._第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、1第七章 设备管理第一节第一节 概述概述第二节第二节 数据传送控制方式数据传送控制方式第三节第三节 中断技术中断技术第四节第四节 缓冲技术缓冲技术第五节第五节 设备分配设备分配第六节第六节 I/OI/O进程控制进程控制第七节第七节 设备驱动程序设备驱动程序27.1 概述设备除cpu及内存以外的所有设备和装置(I/O设备,存储设备等)。存储设备用来存放各种信息的设备称为存储设备,例如,软盘、硬盘、光盘和磁带等I/O设备用来向计算机输入和输出信息的设备,如键盘、鼠标、显示器、打印机等37.1.1 外部设备分类 按系统和用戶分:系统、用戶按输入输出传送方式分(UNIX或Linux系统):字符型设备、

2、块设备按资源特点分:独享设备、共享设备、虚拟设备按设备硬件物理特性分:顺序存取设备、直接存取设备4按输入输出传送方式分字符型设备:以字符为单位进行输入、输出的设备。每输入或输出一个字符就中断一次主机CPU,请求进行处理。所以又称慢速字符设备。块设备:以字符块为单位进行输入、输出的设备。例如:硬盘。5按资源特点分独享设备:所有字符设备都是独享设备。在一个用户作业未完成或退出之前,此设备不能分配给其他作业用。打印机不能同时打印多个用户作业,否则输出结果将会混在一起。共享设备:多个用户作业或多个进程可以“同时”从这些设备上存取信息。软硬盘、光盘等块设备都是共享设备。虚拟设备:通过软件技术将独享设备改

3、造成共享设备。例如:通过SPOOLing技术将一台打印机虚拟成多台打印机。6按设备硬件物理特性分顺序存取设备:存取时间与物理上当前位置有关。如:磁带直接存取设备:存取时间与物理上当前位置关系不大。如:磁盘77.1.2 设备管理的任务选择和分配输入输出设备控制输入输出设备和CPU或内存之间的数据交换。为用户提供一个友好的接口,把用户和设备硬件特性分开,使用户编程时不必关心设备的物理特性。尽量提高输入输出设备的利用率,发挥主机与外设以及外设与外设之间的真正并行工作能力。87.1.3 设备管理的功能提供与进程管理系统的接口,将进程要求传达给设备管理程序。按设备类型和算法分配设备,包括相应的通道、设备

4、控制器。对未分配到设备的任务或作业进入等待队列。实现设备和设备、设备和CPU之间的并行操作。这需要一些硬件设备的支持。进行存储缓冲区管理。97.2 数据传送控制方式数据传送设备与CPU或内存的数据交互传送方式程序直接控制中断控制DMA控制通道控制评价指标速度快、数据不丢失、系统开销小10程序直接控制由用户进程直接控制内存与外部设备的数据传输当用户进程需要数据时,它通过CPU发送“设备启动命令”,用户进程进入测试等待状态;在等待时间内CPU不断用一条测试指令检查设备的工作状态当数据准备好后,状态寄存器的状态置为完成状态,发出“Done”信号,开始向内存传送数据11程序直接控制方式的特点CPU和外

5、部设备之间只能串行工作CPU在一段时间只能与一台外部设备交换信息,所以不能实现设备之间的并行工作CPU的处理速度远远高于外部设备,所以CPU的利用率大大降低。由于这种方式是依靠测试设备的状态寄存器的状态位来控制数据的传输,所以,无法发现和处理由于设备或其他硬件所产生的错误。127.2.2 中断方式与程序直接方式不同,它是靠中断来实现设备与内存的数据传输控制。处理过程:1.当进程要求数据时,由CPU发出START命令,启动外设准备数据。同时中断允许位打开。2. 现运行进程放弃CPU,等待输入完成。进程调度程序选择一个新的进程在CPU上运行。3. 当数据从相应的设备送到缓冲区后,由I/O控制器发中

6、断请求,CPU接到请求后,中断现运行进程,转中断处理程序执行数据传输。4. 在以后某个时刻,被中断进程由于获得了数据而继续运行。 13中断方式的特点1. 由于I/O控制器的数据缓冲寄存器比较小,装满数据后发生中断,因此一次数据传输中会造成多次中断,消耗大量的CPU时间。2. 由于系统中的设备较多,中断太多,会使CPU无法响应中断,造成数据丢失。3. 如果外部设备的速度也比较高,CPU不能及时取走缓冲寄存器的数据,那么就会出现数据丢失。147.2.3 DMA方式当需要传输大量数据时,程序I/O方式和中断I/O方式都会浪费大量的CPU时间,因此,需要一种更有效的技术处理大量数据的传输DMA(直接存

7、储器存取)方式:当处理器希望读或写一块数据时,它给DMA模块产生一条指令,发送以下信息涉及的I/O设备的地址开始读或写的存储器单元需要读或写的字数15DMA方式n处理器然后继续其他工作,而把这个操作委托给DMA模块,由该模块处理。nDMA模块直接从存储器中或者往存储器中传送整个数据块,每次传送一个字。n当传送完成后,DMA模块给处理器发一个中断信号。n因此,只有在开始传送和结束传送时才会用到处理器System BusI/OControllerI/OControllerProcessorDMAControllerMemory.16DMA方式nDMA方式的特点:作为高速的外围设备与内存之间进行成批

8、的数据交换,但不对数据作加工处理。数据传输的基本单位是数据块,I/O操作的类型比较简单需要使用一个专门的DMA控制器(DMAC,Direct Memory Access Controller)。DMAC中有控制、状态寄存器、传送字节计数器、内存地址寄存器和数据缓冲寄存器17DMA方式n采用盗窃总线控制权的方法,由DMAC送出内存地址和发出内存读、设备写或设备读、内存写的控制信号来完成内存与设备之间的直接数据传送,而不用CPU的干预。有的DMA传送甚至不经过DMAC的数据缓冲寄存器的再吞吐,传输速率非常高。n仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下

9、完成的187.2.4 I/O通道方式n通道控制方式与DMA方式类似,也是一种以内存为中心,实现设备与内存直接交换数据的控制方式。与DMA方式相比,DMA方式每次仅传输一个数据块的数据,而通道却可以一次传输若干个数据块的数据。19I/O通道方式通道控制方式的数据输入过程如下当进程要求输入数据时,CPU发出驱动指令指明I/O操作、设备号和相应的通道对应通道接收到CPU发来的驱动指令后,把存放在内存中的通道指令程序读出,并执行通道程序,控制设备将数据传送到内存指定的区域若数据传送结束,则向CPU发出中断请求。CPU收到中断信号后转中断处理程序,唤醒等待输入完成的进程,并返回被中断程序20System

10、 BusProcessorI/O BusI/OControllerI/OControllerI/OControllerI/OControllerMemoryChannelProcessor21通道指令通道指令一般包括:内存地址(数据)、传送方向、数据长度、I/O设备的地址信息、特征信息。通道指令在进程要求数据时由系统自动生成。Wirte 0 0 250 1850(写/通道指令未结束/记录未结束/250个单元/内存地址1850)Write 1 1 250 780 (写/通道指令结束/记录结束/250个单元/内存地址780)22通道方式的特点设备与内存直接交换数据。数据的传送方向、内存地址、长度等

11、是由通道来控制的。DMA中这些是由CPU控制的。一个通道可以控制多台设备与内存进行数据交换。DMA方式每台设备至少一个DMA控制器。一个通道可以以分时方式同时执行几个通道指令。237.3 中断技术7.3.1 中断的基本思想7.3.2 中断的分类与优先级7.3.3 软中断7.3.4 中断处理过程247.3.1 中断的基本思想定义:中断是指计算机在执行期间,系统内发生任何非寻常的或预期的急需处理事件,使得CPU暂时中断当前的进程而转去执行相应的事件处理程序,待处理完成后又返回原来被中断处继续执行或调度新的进程执行的过程。中断源:引起发生中断的事件叫做中断源。中断请求:中断源向CPU发送的中断信号叫

12、做中断请求。中断响应:CPU收到中断请求后转相应的事件处理程序称为中断响应。25中断的基本思想禁止中断(关中断):由于处理机状态字PSW的中断允许位可能被清除,导致CPU不响应中断,直到PSW的中断许可位被重新设置,即开中断。开中断和关中断都是为保障程序执行的原子性。中断请求、关中断、开中断都是由硬件实现的。中断屏蔽:中断请求产生之后,系统用软件方式有选择地封锁部分中断,而允许其他中断仍然能够得到响应。有些中断是不可屏蔽的,它们具有最高的中断响应级别。267.3.2 中断的分类与优先级根据中断源产生的条件,可把中断分为内部中断和外部中断:内部中断:来自处理机和内存的中断。内中断也叫做陷阱(tr

13、ap)。包括程序运算引起的各种错误,例如:数据格式错、非法指令等。外部中断:除了内部中断之外,其他来自外部的中断都是外中断。例如:I/O设备发出的I/O中断、外部信号中断等。中断和陷入按轻重缓急分为不同的优先级。CPU的PSW中也设有优先级。如果中断源的优先级高于PSW则处理机响应该中断;反之,屏蔽请求。中断源的优先级是固定的,处理机的优先级则根据执行情况由系统程序动态设定。27中断和陷入的区别陷阱通常由处理机正在执行的指令引起,而中断是由与现行指令无关的中断引起的。陷入处理程序提供的服务是为当前进程的,而中断处理程序提供的服务则不是为当前进程的。CPU在执行完一条指令后,下一条指令开始之前响

14、应中断,而中断执行过程中又可以响应陷阱。有的系统将中断处理程序在系统上下文上运行,而陷入在用户的上下文上运行。287.3.3 软中断定义:通讯进程之间相互发送信号来模拟硬件中断。一个进程A向进程B发送一个软中断信号后,当进程B占用处理机时,立即转去执行该软中断信号所对应的程序。有些系统中,将陷入划归到软中断处理。如当前执行指令产生陷阱,则向当前执行进程自身发出软中断信号,立即进入陷阱处理程序。297.3.4 中断处理过程1.CPU检查是否有响应中断的条件:中断请求、CPU允许中断。条件不满足则中断处理程序不处理。2.如果CPU响应中断,则先关中断,以保证在中断处理过程中不被中断。3.保存中断现

15、场。4.分析中断原因,调用中断处理子程序。如果同时有多个中断,则响应级别最高的中断。30中断向量不同的中断源有不同的中断处理子程序。这些子程序的入口地址和不同的处理机状态字一起构成中断向量。存放在内存的特定单元中。根据中断源系统查询中断向量表,然后转去相应的处理子程序。317.4 缓冲技术缓冲的引入缓冲的种类缓冲池的管理327.4.1 缓冲的引入处理机的处理速度很高,为了使处理机的速度和外部设备的速度匹配,一般在处理机和外部设备之间加一个或多个缓冲区,达到设备之间和设备与处理机之间的并行处理目的。为了减少中断次数。例如:当计算进程把大量的数据输出到打印机上,由于CPU的输出速度大大高于打印机的

16、速度,因此,CPU只好停下来等待。而CPU计算时,打印机却空闲。两种缓冲方案:用硬件缓冲寄存器;内存缓冲区337.4.2 缓冲的种类单缓冲:在设备和处理机之间设置一个缓冲器。单缓冲不能实现设备之间的并行操作。双缓冲:两个缓冲器,以解决两个设备之间的并行。但多个设备情况下仍然不可行。多缓冲:多个缓冲区连接起来组成两部分,一部分专门用于输入缓冲,另一部分专门用于输出缓冲。缓冲池:将多个缓冲区连接起来统一管理,既可用于输入,又可用于输出。347.4.3 缓冲池的管理缓冲池由多个缓冲区组成。每个缓冲区由两部分组成:一是缓冲区的首部,包括设备号、数据块号、缓冲区号、互斥标识位、连接指针;另一部分是存放数据的为缓冲体。系统将各个缓冲区按照用途分为三种队列:空闲队列、装满输入数据的队列、装满输出数据的队列。除了这三种队列外,系统还提

温馨提示

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

评论

0/150

提交评论