安徽工程大学 操作系统 第5章 设备管理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
安徽工程大学 操作系统 第5章 设备管理

第五章 设备管理 二、设备与控制器之间的接口: CPU―――控制器―――设备 三种信号: (1)数据信号:——双向,有缓存 (2)控制信号:控制器发给设备;要求其完成相关操作 (3)状态信号:设备发给控制器,后者“显示”; 5.1.2 设备控制器 一、功能:接收CPU命令,控制I/O设备工作,解放CPU. 1.接收和识别命令。 应有相应的Register来存放命令(“命令寄存器”) 2.数据交换 CPU——控制器的数据寄存器——设备 3.设备状态的了解和报告 设备控制器中应用“状态寄存器” 4.地址识别 CPU通过“地址”与设备通信,设备控制器应能识别它所控制的设备地址以及其各寄存器的地址 5.数据缓冲 6.差错控制 5.1.2 设备控制器 二、组成 各类寄存器:数据、命令、状态 信号线:数据线(独立寻址、内存寻址)、地址线、控制线 I/O逻辑:在其控制下完成与CPU、设备的通信。 5.2 I/O控制方式 5.3 缓冲管理 目的:组织管理、分配、释放buffer 5.3.1 引入 1.缓和CPU和I/O设备间速度不匹配的矛盾。 如:计算——打印buffer——打印 2.减少对CPU的中断频率 如:buffer越大,“buffer满”信号发生频率越低。 3.提高CPU和I/O并行性 提前读技术 是指用户进程从I/O缓冲区中取走前一个数据以后,立即发出对下一个数据的输入请求。 延后写技术 是指当用户进程请求输出数据时,操作系统将很快把用户进程请求输出的数据从用户进程的工作区中取走,并将其暂时存放在I/O缓冲区中。 循环多缓冲的使用 nextg:指示下一个应取数据的buf nexti:指示下一个空buf. Getbuf: 取nextg对应缓冲区提供使用,将Nextg置为空,Nextg=(Nextg+1)Mod N 将Nexti对应缓冲区提供使用,将Nexti置为满,Nexti=(Nexti+1)Mod N Releasebuf: 若C满,则改为G; 若C空,则改为R; 循环多缓冲的同步问题 Nexti 追上Nextg: 表示输入速度输出速度,全部buf满,这时输入进程阻塞 Nextg追上Nexti: 输入速度输出速度,全部buf空,这时输出进程阻塞。 5.3 缓冲管理 1.hin=getbuf(emq); putbuf(inq,hin) 2.sin=getbuf(inq); 计算; putbuf(emq,sin) 3.hout=getbuf(emq); putbuf(outq, hout) 4.sout=getbuf(outq);输出;putbuf(emq,sout) 三、Getbuf和Putbuf过程 5.4.5 SPOOLING技术 spooling组成: 1.输入#和输出#: 在磁盘上开辟的2个大存储空间,模拟输入和输出设备。 2.输入buf和输出buf(内存中) 输入设备——输入buf——输入#——用户区(1) 用户区——输出#——输出buf——设备(2) 3.输入Spi和输出SPo进程。 分别控制(1),(2)的动作。 SPi相当于脱机输入控制器。 SPo相当于脱机输出控制器。 SPOOLing技术 它在输入和输出之间增加了“输入井”和“输出井”的排队转储环节,以消除用户的“联机”等待时间。在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置中读入输入井缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中,读过程和写过程反复循环,直到一个作业输入完毕。当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存输入井并调用中断处理程序结束该次输入。然后,系统为该作业建立作业控制块,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存运行。系统在管理输入井过程中可以“不断”读入输入的作业,直到输入结束或输入井满而暂停。 若系统的某台台行式打印机采用了虚拟设备技术,那么若有进程要求对它打印输出时,SPOOLing系统并不是将这台打印机直接分配给进程,而是在共享设备(磁盘或磁鼓)上的输出SPOOLing存储区中为其分配一块存储空间,进程的输出数据以文件形式此。各进程的数据输出文件形成了一个输出队列,由输出POOLing系统控制这台打印机进程,依次将队列中的输出文件实际打印输出。在SPOOLing 系统中,实际上并没有为任何进程分配,而只是在输入井和输出井中,为进程分配一存储区和建立一章I/O请求表。这样,便把独占设备改造为共享设备。 (1)输入 a.进程n请求―― SPi为n在输入#中分配空间——设备数据由输入buf送输入#——生成输入请求表挂输入请求队列。 b.CPU空——取请求表中的任务,送进程缓冲区。

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档