各種cpu排程演算法之探討.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
各種cpu排程演算法之探討

Chap4 各種CPU 排程演算法之探討 一、先進先出排程法(First in First out ;FIFO) 按進入 Ready Queue 的順序而決定使用 CPU 的先後次序而完成此方式是採用 FIFO Queue 。 特點有三: (1) 此種排班程式最容易設計。 (2) 此種排班程式的效益最差,即平均等待時間較差。 (3) 可能會造成護送效應 (Convoy Effect): 很多短時間的process ,都在等一個 長時間的process 時,所產生的效應。(因為等待時間很長) 。 FIFO 排班程式是不可插隊 (Non-preemptive) ,一旦一個process 佔用了CPU ,它 就會一直使用直到終止或請求I/O 動作,如果允許某process 長時間佔用CPU , 使用者會無法忍受,故不適用於Time-sharing system 。 二、最短程式優先排班法(Shortest Job First Scheduling; SJF) 此排班法會在CPU 空閒時選擇具最小的CPU Burst Time 的process ,並使之取得CPU 控制權。 特點: (1) SJF 是效益最佳的排班法。 (2) 由於各process 的下一個CPU burst time 較難預 測,因此SJF 很難被用在Process Scheduler 。 (註) SJF 又分為可插隊(Preemptive)及不可插隊(Non- Preemptive) (1) Preemptive Scheduling 意義: 當process 獲得CPU 後,雖然該process 尚未執行完畢時,卻允許被移走 (離開CPU) 。 適用: Real-time 及Interactive system 。 缺點: Context Switch 可能頻繁,浪費時間;可能會造成Starvation 。 (2) Non-Preemptive Scheduling 意義: 當一process 獲得CPU 後,除非該process 已經執行完畢,否則不允許被 移走。 優點: 對所有的process 較公平。 缺點: 平均等待時間可能會提高,易造成Convoy Effect 。 三、優先等級(Priority)排班法 優先等級排班法會將CPU 指定給具有最高優先等級的process 。若同時間有多個 相等優先等級的process 欲使用CPU 時,則採用FIFO 方式。 Priority Scheduling 的一些問題: 飢餓現象(Starvation) : 優先等級排班法有可能使某些較低優先權的 process 限於無限期等待 CPU 的地 步。一些高優先權process 可能讓某些低優先權的process 永遠得不到CPU 。 解決方式: Aging Technique 。 對於低優先權process 無限停滯問題的解決方法是老化(Aging)而此技術可將 在系統中等待了很長時間的process 的優先權逐漸提高。 四、巡迴式排程法(Round-Robin Scheduling; R.R.) R.R.排程演算法是特別為Time-sharing 設計的。在這種設計中,把一小段時間定 義為時間配額(Time Quantum)或時間分槽(Time Slice) ,每個process 皆有固定時 間量來使用CPU ,當process 使用CPU 超過一個Time Slice 時,則計數器(Timer) 會產生中斷促使此process 從Running state 回到 Ready state 。 註 R.R. Scheduling 是preemptive 的。R.R.演算法的效率與Time Slice 的大小有 很大的關係。 若Time Slice 無限大,則R.R.策略約等於FIFO 。 若Time Slice 無限小,則R.R.策略約等於Time- Sharing System 。 五、多重佇列排程法(Multiple-Level Queues Scheduling) 多重佇列排程法,是將ready queue 進一步分成幾個不同queue ,根據process 的 某些特性,如process 的型態,固定地將process 分配到queue 之中,每個queue 又有各自的排班法則;例如,佇列可以用前景(foreground)與

文档评论(0)

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

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

1亿VIP精品文档

相关文档