操作系统-第5章-设备管理.ppt

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

第5章 设备管理 内容 第一节 I/0系统 第二节 I/O控制方式 第三节 缓冲管理 第四节 I/O软件 第五节 设备分配 第六节 磁盘存储器的管理 对于设备我们所关心的问题 内存允许多用户作业存在,它们的运行势必涉及到I/O设备。 1、对于设备本身:如何有效利用 2、对于设备和CPU:如何发挥并行工作 3、对于设备和用户:如何方便实用 一、I/O设备分类 一、I/O设备分类 一、I/O设备分类 一、I/O设备分类 动画演示什么是SPOOLing技术 一、I/O设备分类 控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。 它是CPU和I/O设备之间的接口,它接收从CPU发来的 命令,并去控制I/O设备工作,以使CPU从繁杂的设备控制事务中解脱出来。 分类: 控制字符设备的控制器 控制块设备的控制器 常在微型机和小型机中做成印刷电路卡的形式,也称为接口卡。 1.设备控制器的基本功能 1)接收和识别命令 2)数据交换 3)标识和报告设备的状态 4)地址识别 5)数据缓冲 6)差错控制  2.设备控制器的组成 通道有自己的通道指令,并设有通道控制器和自己的指令执行机构。 只要CPU发出通道启动指令,指出通道相应的操作和I/O设备,该指令就可启动通道并使通道从内存调出相应的通道指令执行。 2)数组选择通道 它连接磁带、磁盘等快速设备,以块为单位与外设进行数据交换。但在同一时间内,它只能为一台设备服务,直到I/O请求完成,再选择与通道相连的另一台设备。 3)数组多路通道 它是字节(多路)和选择通道技术(数组)的综合,通道所连接的几个设备可并行工作。先选择一台传送一批数据,再选择另一台,即几台设备的通道程序都在执行中。 它相当于多道程序设计技术在通道中的应用。 小结 一、程序I/O控制方式 I/O控制方式的演变 循环测试I/O方式 中断处理方式 DMA方式 通道方式 1. 循环I/O测试方式 又称程序直接控制方式,它是一种由用户程序直接控制的输入输出方式。 输入时:进程通过CPU发START命令启动外设;进行状态测试;准备好,CPU读取接口中数据,否则继续测试。 输出时:进程通过CPU发START命令启动外设;进行状态测试;准备好,CPU向接口中输出数据,否则继续测试。 2、中断方式传送 如何改进呢? 3、DMA方式 图示说明:DMA方式数据传输过程 DMA特点 1、负责在高速外围设备与内存之间成批量的数据传输工作,但是不对数据作再加工处理,I/O操作类型简单; 2、需要使用专门的DMA控制器:控制、状态寄存器、传送字数寄存器、内存地址寄存器和数据缓冲寄存器。 3、采用“偷窃总线控制权”,不用CPU干预 4、每传送一个数据并不产生中断,只有DMA中的传送字数计数器减1到0时,即本次DMA传送的数据全部完毕时,才产生中断。 优点: 快速,大块传输数据。 缺点: DMA只能完成简单的数据传送、计数、内存地址加1或减1等操作,不能完成更复杂的操作请求。 且与CPU无法并行(偷窃总线),这样对大、中型计算机系统不合适。 引入缓冲区的目的: 1、改善CPU和I/O设备之间速度不匹配的情况; 2、可以减少I/O设备对CPU的中断次数及放宽对CPU的中断响应时间要求; eg:如果I/O操作每传输1个字节就产生一次中断,那么系统花费在I/O操作上的时间就比较多,我们可以…… 3、提高CPU和I/O设备之间的并行性 二、缓冲区设置 三、缓冲区管理 1、单缓冲 当用户进程发出I/O请求时,操作系统在主存的系统空间为该操作分配一个缓冲区,可以实现预读和滞后写 三、缓冲区管理 2、双缓冲 可以实现用户数据区—缓冲区之间交换数据和缓冲区—外设之间交换数据的并行,也就是读写可以同时。 三、缓冲区管理 (1)多个缓冲区 在循环缓冲中含有多个缓冲区,每个缓冲区的大小相同。缓冲区可分成三种类型: 空缓冲区R。用于存放输入数据; 已装满数据的缓冲区G。其中的数据提供给计算进程使用; 现行工作缓冲区C。这是计算进程正在使用的缓冲区。 (2) 多个指针 对用于输入的多缓冲,应设置这样三个指针: Nextg:指示计算进程下一个可用的缓冲区G; Nexti:指示输入进程下次可用的空缓冲区R; Current:指示计算进程正在使用的缓冲区单元。开始时,它指向第一个单元,随计算进程的使用,它将逐次地指向第2个单元,第3、4等单元,直至缓冲区的最后一个含数据的单元。 循环缓冲 某进程的专用缓冲 当有多个进程时,会有多个这样的循环缓冲; 占据大量内存,而且利用率不高。 如何改进? 解决方案? 集中起来,共用! 三、缓冲区管理 1.缓冲池

文档评论(0)

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

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

1亿VIP精品文档

相关文档