版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统:设备管理本章主要内容设备1数据传送控制方式2中断技术3缓冲技术4设备分配5I/O进程控制69.1 引言设备的类别9.1 引言设备管理的功能和任务设备管理是对计算机I/O管理,其主要任务有:选择和分配I/O设备以便进行数据传输操作;控制I/O设备和CPU(或内存)之间交换数据;为用户提供透明接口,使得用户在编制应用程序时不必涉及具体设备。 提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作度,以便操作系统获得最佳效率。9.1 引言设备管理的功能和任务由其功能可以看出,设备管理程序的功能:提供和进程管理系统的接口:将进程要求转达给设备管理程序。进行设备分配:分配硬件资源给
2、请求的进程,并将未分到设备的进程放入等待队列。实现设备和设备、设备和CPU等之间的并行操作:完成设备和内存之间的数据传输工作。进行缓冲区管理:进行缓冲区分配、释放及有关的管理工作。9.2 数据传送控制方式设各管理的主要任务之一是数据传送控制方式的选择。1.选择和衡量控制方式有如下几条原则:数据传送速度足够高,不丢失数据;系统开销小、所需的处理控制程序少;能充分发挥硬件资源的能力,使得I/O设备尽量忙,而CPU等待时间少。2.外围设备和内存之间的常用数据传送控制方式有四种程序直接控制方式 中断控制方式DMA方式通道方式9.2 数据传送控制方式程序直接控制方式程序直接控制方式(programmed
3、 direct control)就是由用户进程直接控制内存或CPU和外围设备之间的信息传送。这种方式控制者都是用户进程。外围设备接收到start命令做接收或发送数据准备标志出发器置“Done”等待CPU来的下条指令准备完毕?否是CPU发start命令执行下条指令传数据等待设备标志触发器为Done?是否9.2 数据传送控制方式进程直接控制方式的缺点:(1) CPU和外围设备只能串行工作。(2) CPU在一段时间内只能和一台外围设备交换数据信息, 从而不能实现设备之间的并行工作。(3) 无法发现和处理由于设备或其他硬件所产生的错误。9.2 数据传送控制方式中断方式中断方式(interrupt)被用
4、来控制外围设备和内存与CPU之间的数据传送。这种方式要求CPU与设备(或控制器)之间有相应的中断请求线,而且在设备控制器的控制状态寄存器的相应的中断允许位。9.2 数据传送控制方式中断方式处理过程设备接收到CPU发来的start指令准备数据并将其置入缓冲寄存器控制器发送中断信号缓冲寄存器满吗? 否CPU向设备发start指令将中断运行位置1调度其他进程执行中断处理收到中断信号? 否执行其他进程被中断进程执行9.2 数据传送控制方式中断方式的缺点:由于在一次数据传送过程中,发生中断次数较多。这将耗去大量CPU处理时间。当设备把数据放入数据缓冲寄存器并发出中断信号之后,CPU有足够的时间在下一个(
5、组)数据进入数据缓冲寄存器之前取走数据。如果外设的速度也非常快,则有可能造成数据缓冲寄存器的数据丢。DMA方式DMA方式 又称直接存取(direct memory access)方式。其基本思想是在外围设备和内存之间开辟直接的数据交换通道。9.2 数据传送控制方式DMA方式的数据输入处理过程:(1)当进程要求设备输入数据时,CPU把内存始址以及要传送的字节数送入DMA控制器中的内存地址控制器和转送字节计数器;把控制状态寄存器中断允许位和启动位置1;启动设备输入。(2)发出数据要求的进程进入等待状态,调度程序调其他进程占用CPU。(3)输入设备不断的挪用CPU工作周期。将数据缓冲寄存器中的数据源
6、源不断的写入内存,直到所要求的字节全部传送完毕。9.2 数据传送控制方式(4)DMA控制器在传送字节数完成时通过中断请求线发出中断信号,CPU在接收到中断信号后转中断处理程序进行善后处理。(5)中断处理结束时,CPU返回被中断进程处执行或被调度到新的进程上下文环境中执行。9.2 数据传送控制方式DMA处理过程9.2 数据传送控制方式通道控制通道控制(channel control)方式与DMA方式相类似,也是一种以内存为中心,实现设备和内存直接交换数据的控制方式。与之不同的是,在DMA方式中数据传送方向、存放数据内存始址以及传送的数据块长度等都是由CPU控制,而在通道方式中这些都是由专管输入输
7、出的硬件通道来进行控制。9.2 数据传送控制方式通道控制方式的数据输入处理过程:当进程要求设备输入数据时,CPU发Start指令指明I/O操作、设备号和对应通道。对应通道接收到CPU发来的启动指令Start之后,把存放在内存中的通道指令程序读出,设置对应设备的I/O控制器中的控制状态寄存器。设备根据通道指令的要求,把数据送往内存中的指定区域。若数据传送结束,I/O控制器通过中断请求线发中断信号请求CPU做中断处理。与DMA方式相同,即中断处理结束后CPU返回被中断进程处继续执行。9.3 中断技术中断概念中断(Interrupt)是指计算机在实行期间,系统内发生非寻常的或非预期的急需处理事件,使
8、得CPU暂时中断当前正在执行的程序而转去执行响应的事件处理程序。待处理完毕后又返回原来中断处继续执行或调度新的程序执行的过程。中断源:引起中断发生的事件被称为中断源。中断请求:中断源向CPU发出的请求中断处理信号。中断响应:CPU收到中断请求后转相应的事件处理程序。禁止中断(关中断):CPU内部的处理机状态字PSW的中断允许位已被清除,不允许CPU响应中断。开中断:PSW的中断允许位的设置。中断屏蔽:在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许不可屏蔽部分的中断仍能得到响应。9.3 中断技术中断的分类与优先级根据中断源产生的条件,中断可分为:外中断:外中断时指来自处理机和内存外
9、部的中断,包括I/O设备发出的I/O中断、外部信号中断、各种定时器引起的时钟中断以及调试程序中设置的断点等引起的调试中断等。内中断:内中断主要指在处理机和内存内部产生的中断。内中断一般称为陷入(trap)或异常。操作系统对不同的中断赋予不同的优先级。为了禁止中断或屏蔽中断,处理机状态字PSW中设有相应的优先级。如果中断源的优先级高于PSW的优先级,则CPU响应该中断源的中断请求,反之,CPU屏蔽该中断源的中断请求。9.3 中断技术中断和陷阱的主要区别:(1) 陷阱由处理机正在执行的现行指令引起,而中断是由与现行指令无关的中断源引起。(2) 陷阱处理程序提供的服务为当前进程所用,中断处理提供的服
10、务不是为了当前进程。(3) CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应陷阱。(4) 在有的系统中,陷入处理程序被规定在各自的进程上下文中执行,而中断处理程序则在系统上下文中执行。9.3 中断技术中断技术逻辑时钟中断I/O中断控制台中断硬件故障中断程序性中断中断装置在运程序.。访管指令。中断处理程序9.3 中断技术保存现场信息系堆恢复现场转相应处理程序分析中断源取出中断码分辨何种系统调用取出访管号保存现场信息嵌套中断系堆恢复现场返回上层中断切换进程返回目态程序转低级调度程序可以由用户处理的中断:浮点溢出、阶码下溢、除数为零等。这类错误可由用户自行处理,接
11、口延伸到用户的编程语言,如BASIC,C,FORTRAN等都有ON。GOTO 标号(处理程序段)。如果用户不处理,则操作系统按照标准处理方法去处理。处理逻辑如下:目态程序运行时发生除数为零的中断(或其他可由用户处理的中断);PSW、PC压入系统堆栈;系统中断向量送入PSW、PC;执行OS提供的中断处理程序;看用户是否有自己的处理程序;若无,继续执行现处理直至结束,弹出系统堆栈PSW、PC送入进程状态字和指令计数器,恢复目态程序运行。若有,弹出系统堆栈PSW、PC,并将其压入用户堆栈;用户处理段的环境和地址送入PSW、PC并返回目态;用户处理段执行;执行完毕,遇RET指令弹出用户堆栈的内容送入P
12、SW、PC;返回目态进程的中断处继续执行。9.3 中断技术自愿性中断的处理这类中断是用户程序在目态执行访管指令而引起的。目的是要求系统为其提供服务。一般形式为:参数准备指令;访管服务指令;取返回值。汇编语言形式为:mov ah, xx;mov al, yy;int 21h;mov ds, ax;高级语言形式:x=35;printf (“x的值为:”,x);9.3 中断技术软中断软中断:通信进程之间用来模拟硬中断的一种信号通信方式。软中断与硬中断的比较:相同点:其中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号所对应的功能。不同点:接收软中断信号的进程
13、不一定正好在接收时占有处理机,而相应的处理必须等到该接收进程得到处理机之后才能进行。9.3 中断技术中断处理过程 1 CPU检查响应中断的条件是否满足。2 如果CPU响应中断,则CPU关中断,使其进入不可再次响应中断的状态。3 保存被中断进程现场。4 分析中断原因,调用中断处理子程序。在多个中断请求同时发生时,处理优先级最高的中断请求。5 执行中断处理子程序。对陷阱来说,在有些系统中则是通过陷阱指令向当前执行进程发软中断信号后调用对应的处理子程序执行。6 退出中断,恢复被中断进程的现场或调度新进程占据处理机。7 开中断,CPU继续执行。 判断中断响应条件关中断保存被中断现场分析中断原因转中断处
14、理子程序恢复现场开中断返回中断点9.4 缓冲技术 缓冲的引入引入缓冲的主要原因为以下几点:1. 改善CPU与I/O设备间速度不匹配的矛盾2. 降低对CPU的中断频率,放宽对中断响应时间的限制3. 提高 CPU和 IO设备之间的并行性根据I/O控制方式,缓冲的实现方法有两种:一种是采用专用硬件缓冲器一种是在内存划出一个具有n个单元的专用缓冲区,以便存放输入/输出的数据。内存缓冲区又称软件缓冲。9.4 缓冲技术缓冲的种类根据系统设置的缓冲器的个数,可把缓冲技术分为:单缓冲:在设备和处理机之间设置一个缓冲器。 双缓冲:解决两台外设、打印机和终端之间的并行操作问题的办法是设置双缓冲。多缓冲:是把多个缓
15、冲区连接起来组成两部分,一部分专门用于输入,另一部分专门用于输出的缓冲结构。缓冲池:把多个缓冲区连接起来统一管理,既可用于输入又可用于输出的缓冲结构。 9.4 缓冲技术缓冲池的结构 缓冲池由多个缓冲区组成。而一个缓冲区由两部分组成:一部分是用来标识该缓冲器和用于管理的缓冲首部,另一部分是用于存放数据的缓冲体。对缓冲池的管理是通过对缓冲首部进行的。缓冲首部 9.4 缓冲技术缓冲池的结构系统把各缓冲区按其使用状况连成三种队列:空白缓冲队列em,其队首指针为F(em),队尾指针为L(em);装满输入数据的输入缓冲队列in,其队首指针为F(in),队尾指针为L(in);装满输出数据的输出缓冲队列out
16、,其队首指针为F(out),队尾指针为L(out)。 9.4 缓冲技术缓冲池的结构在缓冲池中还具有四种工作缓冲区:用于收容输入数据的工作缓冲区(hin);用于提取输入数据的工作缓冲区(sin);用于收容输出数据的工作缓冲区(hout);用于提取输出数据的工作缓冲区(sout)。9.4 缓冲技术缓冲池管理 对缓冲池的管理由如下几个操作组成:从三种缓冲区队列中按一定的选取规则取出一个缓冲区:take_buf(type);把缓冲区按一定的规则插入相应的缓冲区队列:add_buf(type,number);供进程申请缓冲区用的过程:get_buf(type,number);供进程将缓冲区放入相应缓冲区
17、队列:put_buf(type,work_buf)。其中,参数type表示缓冲队列类型,number为缓冲区号,而work_buf则表示工作缓冲区类型。9.4 缓冲技术缓冲池的工作过程输入进程调用get_uf(em,number)过程从空白缓冲区队列中取出一个缓冲号为number的空白缓冲区,将其作为收容输入缓冲区hin,当hin中装满了由输入设备输入的数据之后,系统调用过程put_buf(in,hin)将该缓冲区插入输入缓冲区队列in中。输出进程调用get_buf(em,number)从空白缓冲区队列中取出一个空白缓冲区number作为收容输出缓冲区hout,待hout中装满输出数据之后,系
18、统再调用过程Put_buf(out,hout)将该缓冲区插入输出缓冲区队列out.9.5 设备分配设备分配用数据结构设备控制表(DCT, Device Control Table):每个设备一张,描述设备特性和状态。 DCT的内容主要包括:设备标识:用来区别不同的设备。设备类型:如:块设备或字符设备。设备地址或设备号:统一内存编址或单独编址。设备状态:工作或空闲状态。等待队列指针:等待使用该设备的进程队列。I/O控制器指针:指向向该设备相连I/O控制器。9.5 设备分配设备分配用数据结构系统设备表(SDT, System Device Table):系统内一张,记录所有设备的状态及其设备控制表
19、的入口。 SDT表项的主要组成:DCT指针:指向相应设备的DCT;设备使用进程标识:正在使用该设备的进程标识;DCT信息:为引用方便而保存的DCT信息,如:设备标识、设备类型等;控制器控制表(COCT, COntroller Control Table):每个设备控制器一张,描述I/O控制器的配置和状态。如DMA控制器所占用的中断号、DMA数据通道的分配。通道控制表(CHCT, CHannel Control Table):每个通道一张,描述通道工作状态。9.5 设备分配设备分配方式:各有优缺点静态分配:在进程创建时分配,进程退出时释放;不会出现死锁;设备利用率不高;动态分配:在进程执行中分配,使用结束后释放;需要考虑死锁问题有利于提高设备利用率设备分配策略:与进程调度类似,但简单一些;先请求先分配优先级
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024幼儿园门卫消防应急处理聘用合同范本3篇
- 2024年软装饰品采购合作合同样本版B版
- 2024年跨区域能源供应协议
- 2024年货车司机就业协议
- 2024某网络公司与某广告公司之间关于网络推广服务的合同
- 2024年高端医疗设备采购与技术支持合同
- 2024年购房委托代理协议
- 2024电子产品模具加工与质量保证合同
- 2024年离异后财产处置协议:双方协商达成
- 2025年度智能温室大棚承包经营合同范本3篇
- GB/T 1335.2-2008服装号型女子
- GB 31247-2014电缆及光缆燃烧性能分级
- DCC20网络型监视与报警
- 项目实施路径课件
- 《简单教数学》读书心得课件
- 《室速的诊断及治疗》课件
- 毕业设计(论文)-基于AT89C51单片机的温度控制系统设计
- 士卓曼种植系统外科植入流程课件
- 二手新能源汽车充电安全承诺书
- 二年级下册《一起长大的玩具》导读教学-一场别样的童年之旅
- 全国水资源综合规划技术细则(水利部文件)
评论
0/150
提交评论