- 1、本文档共113页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统第三版课件 第五章
5.1 I/O系统 5.1.1 I/O设备 5.1.2 设备控制器 5.1.3 I/O通道 5.1.4 总线系统 2.通道控制方式 5.6 磁盘存储器管理 1 2 3 4 我们可以把这八个逻辑记录在磁道上的位置重新安排一下,使这八个逻辑记录安排成最优分布,即当读出一个记录并处理后,读写磁头正好处在顺序的下一个记录位置,因而就不必花费等待延迟时间,而可立即读出该记录,如图6-11(b)所示。这样,处理这八个逻辑记录所花费的时间是: 8×(2.5+5)=60(ms) 可见,记录的优化分布有利于减少延迟时间,从而缩短了输入∕输出操作的时间。所以,对于一些能预知处理要求的信息采用优化分布可以提高系统效率。 练习与习题 1、习题集page133:1~5,8,9,11,12,15,17,20,21; 补充习题: 1.现有如下请求队列:18,28,37,139,120,196,88,157,51,20,74,22;试用查找时间最短优先算法计算处理所有请求移动的总柱面数。假设磁头当前位置下在磁道110。 2.上题中,分别按升序和降序移动,讨论电梯调度算法计算处理所有存取请求移动的总柱面数。 电梯调度算法和最短寻找时间调度算法都是要尽量减少移动臂移动时所花费的时间,所不同的是: 1、最短寻找时间优先调度算法不考虑臂的移动方向,总是优先选择离当前位置最近的那个柱面的访问者,这种选择可能导致臂来回改变移动方向; 2、电梯调度算法是沿着臂的移动方向去选择,仅当沿臂移动方向无等待访问者时才改变臂的移动方向。由于移动臂改变方向是机械动作,所以速度相对较慢。相比之下,电梯调度算法是种简单实用且高效的调度算法。但是在实现时,除了要读写磁头的当前位置外,还必须记住臂的移动方向。 除了先来先服务调度算法外,其余三种调度算法都是根据欲访问的柱面位置来进行调度的。在调度的过程中有可能有新的请求访问者加入。这些新的请求访问者加入时,如果读写磁头已经超过了它们所要访问的柱面位置,则只能在以后的调度中被选择执行。 在多道程序设计系统中,在等待访问磁盘的若干访问者中,有些请求访问者可能要求访问的柱面号相同,但磁道不同或扇区不同。所以在进行移臂调度时,按照某种算法将移动臂定位到某个柱面后,应该让等待访问这个柱面的各个访问者的输入∕输出操作都完成之后再改变移动臂的位置。 5. N-Step-SCAN和FSCAN调度算法(N步电梯算法) 1) N-Step-SCAN算法 在SSTF、 SCAN及CSCAN几种调度算法中, 都可能出现磁臂停留在某处不动的情况, 例如,有一个或几个进程对某一磁道有较高的访问频率, 即这个(些)进程反复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。 我们把这一现象称为“磁臂粘着”(Armstickiness)。在高密度磁盘上容易出现此情况。 N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列。 而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列。 当正在处理某子队列时,如果又出现新的磁盘I/O请求,便将新请求进程放入其他队列,这样就可避免出现粘着现象。 当N值取得很大时,会使N步扫描法的性能接近于SCAN算法的性能; 当N=1时, N步SCAN算法便蜕化为FCFS算法。 2) FSCAN算法 FSCAN算法实质上是N步SCAN算法的简化, 即FSCAN只将磁盘请求队列分成两个子队列。一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程, 放入另一个等待处理的请求队列。这样,所有的新请求都将被推迟到下一次扫描时处理。 节目录 旋转调度 根据延迟时间来决定执行次序的调度称为旋转调度。图6-9所示是旋转调度示例。图中数字表示依次传送各扇区中的磁道上信息的次序,而不是访问者的排队等待次序。 移动臂 1 2 3 旋转方向 图6-9 旋转调度示例 在进行旋转调度时应区分如下几种情况: (1)若干请求者要访问同一磁头下的不同扇区; (2)若干请求者要访问不同磁头下的不同编号的扇区; (3)若干请求者要访问不同磁头下的具有相同编号的扇区; 对于前两种情况,旋转调度总是对先到达读写磁头位置下的扇区进行信息传送。对于第三种情况,这些请求指定的扇区会同时到达磁头位置下,这时根据磁头号可从中任意选择一个磁头进行 读∕写操作,其余的请求者必须磁盘再次把扇区旋转到磁头位置时才有可能被选中。 例如,有四个访问5号柱面的访问者,它们的访问要求如表
文档评论(0)