IO管理和磁盘调度概述.pptVIP

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* DMA技术的出现,使得外围设备可以通过DMA控制器直接访问内存,与此同时,CPU可以继续执行程序.那么DMA控制器与CPU怎样分时使用内存呢?通常采用以下三种方法:(1)停止CPU访内存;(2)周期挪用;(3)DMA与CPU交替访内存. 周期挪用 当I/O设备没有DMA请求时,CPU按程序要求访问内存;一旦I/O设备有DMA请求,则由I/O设备挪用一个或几个内存周期。 这种传送方式的时间图如下图(b): I/O设备要求DMA传送时可能遇到两种情况: (1)此时CPU不需要访内,如CPU正在执行乘法指令。由于乘法指令执行时间较长,此时I/O访内与CPU访内没有冲突,即I/O设备挪用一二个内存周期对CPU执行程序没有任何影响。 (2)I/O设备要求访内时CPU也要求访内,这就产生了访内冲突,在这种情况下I/O设备访内优先,因为I/O访内有时间要求,前一个I/O数据必须在下一个访问请求到来之前存取完毕。显然,在这种情况下I/O 设备挪用一二个内存周期,意味着CPU延缓了对指令的执行,或者更明确地说,在CPU执行访内指令的过程中插入DMA请求,挪用了一二个内存周期。 与停止CPU访内的DMA方法比较,周期挪用的方法既实现了I/O传送,又较好地发挥了内存和CPU的效率,是一种广泛采用的方法。但是I/O设备每一次周期挪用都有申请总线控制权、建立线控制权和归还总线控制权的过程,所以传送一个字对内存来说要占用一个周期,但对DMA控制器来说一般要2—5个内存周期(视逻辑线路的延迟而定)。因此,周期挪用的方法适用于I/O设备读写周期大于内存存储周期的情况。 * * 缓冲区,用于存储速度不同步的设备或优先级不同的设备之间传输数据;通过buffer可以减少进程间通信需要等待的时间, * 1.T和C并行意思是T和C能在同一时间同时进行,当前一个块的数据从缓冲区送入处理工作区开始处理时,下一个块就可以开始从I/O传入缓冲区,时间是T,但这两个过程可以同时进行。 分两种情况:设缓冲区为一个块大小,(1)TC,在第二个块全部传入缓冲区时,第一个块的处理已经结束,可以把第二个块紧接着送入处理区,这就相 当于第一个块的处理时间,是在第二个块的周期内同时完成的,就节约了C时间,第一个块周期可以理解为只占用了从0时刻到M+T时刻。 (2)TC,同理,第一个块的处理时间节约了T。 2. 31题 单缓冲区:由于TC,前9个块的处理时间都是在下一个块的T时间内完成的(并行),前9个块占用时间是(100+50)*9,最后一个因为处理是最后的,时间是100+50+50,总共是1550us 双缓冲区:100us时两个缓冲区都有块 ? ?? ?? ? 150us时第一块送入用户进程完毕开始处理,I/O并行向缓冲区1送入块3,缓冲区2向工作区传送。(TM) ? ?? ?? ? 200us时,块1处理完毕,块2已传入工作区开始处理,块4向缓冲区2传送。 ? ?? ?? ? 250us时,块2处理完毕,块3已传入缓冲区 ? ?? ?? ? 。。。 由此可见,100us后,缓冲区中一直有数据,可以随时传送。总时间为100+(50+50)*10=1100us * * 磁盘调度策略 寻道时间是产生性能差异的原因 对于单个磁盘,磁盘访问请求队列中可能有来自多个进程的许多I/O请求(读和写) 如果按随机顺序从对列中选择项目,那么磁道完全是被随机访问的,这种情况下的性能最差 磁盘调度策略 先进先出 (First-in, first-out, FIFO) 按访问请求到达的先后次序服务 优点:对于所有的进程都很公平 缺点:如果有多个进程竞争一个磁盘,这种技术在性能上往往接近于随机调度。 例:表11.2a 图11.7a 磁盘调度策略 Priority 这种方法并不会优化磁盘的使用率,但可以满足操作系统的其他目标,如: 比较短的批作业和交互作业比需要较长计算时间的长作业的优先级高 可以提供比较好的交互响应时间 磁盘调度策略 Last-in, first-out 取最近请求 有利于事务处理系统 把设备给最近的用户会导致磁头臂在一个顺序文件中移动时移动的很少,甚至不移动 利用这种局部性可以提高吞吐量,减小队列长度 当一个作业往队列中送入一个I/O请求时,错过了磁头位置时,该作业就可能永远得不到磁头而被饿死,除非它前面的队列变为空 磁盘调度策略 最短服务时间优先(Shortest Service Time First, SSTF) 选择使磁头臂从当前位置开始移动最少的磁盘I/O请求 贪心的策略,总是选择最小寻道时间的请求 不能保证平均寻道时间最短 能提供比FIFO更好的性能 饥饿现象 例:表11.2b 图11.7b 磁盘调度策略 SCAN(电梯算法) 要求磁头臂仅仅沿一个方向移动,并在途

文档评论(0)

w5544434 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档