各种CPU排程演算法之探讨一先进先出排程法(FirstinFirstout;FIFO.doc

各种CPU排程演算法之探讨一先进先出排程法(FirstinFirstout;FIFO.doc

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

各種 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)與背景(background) process,對於 foreground process queue 使用排程,對於 background process qu

文档评论(0)

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

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

1亿VIP精品文档

相关文档