多層佇列排程法.pptVIP

  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系統中,同一時間只會有一個行程在執行。其他的行程必需等到CPU有空才有機會取得CPU的使用權來執行程式。 一個行程在執行期間會有很多時間在等待(如:等待 I/O 完成)。 在多行程的系統中,若是某一行程變成 等待的狀態,該行程會被作業系統從 就緒佇列中移除,然後由排程器在就緒佇列中選出一個 “最適當的行程”,並將 CPU 的使用權交給這個行程。 排程就是將系統資源作更有效的利用。 行程行為 行程的執行會在兩個狀態間不停的切換 CPU 暴衝 burst: 行程在CPU執行的期間 I/O 暴衝 burst:行程在I/O等待的期間 行程可分為 CPU bound I/O bound 以CPU為主的行程 (CPU bound) 以I/O為主的行程 (I/O bound) CPU 暴衝時間統計示意圖 就緒佇列 排程是作業系統從就緒佇列中選出下一個可以執行的行程。 實作一個就緒佇列可根據不同的需求使用 先進先出(FIFO)佇列 優先權佇列 樹 鏈結 例如:在分時作業系統中,使用鏈結就很適合。 排程時機 (可搶先與否?) 有 4 種行程狀態的變化,需要進行排程。 由執行狀態切換到等待狀態 (CPU-waiting) 由執行狀態切換到結束狀態 (CPU-termination) 由執行狀態切換到就緒狀態 (CPU-ready) 由等待狀態切換到就緒狀態 (waiting-ready) 前兩種狀態(1,2)為行程主動類,是由行程決定;而後兩種狀態(3,4)為被動類,是由作業系統決定。 一個系統中若只有主動類時才會進行重新排程的話,則這個系統的排程方法為不可搶先的(non preemptive);反之,稱為可搶先的 (preemptive)。 分派器 當排程器選出下一個行程後,就把工作交給分派器。其執行speed快慢影響排程performance很大。 一個分派器會做下面幾件事: 內文切換 切換回使用者模式(排程是在管理者或核心模式進行) 重新回到使用者的程式,並且從適當位址重新開始執行 由分派器停止一個行程到開始執行另一個行程的這段時間稱為分派延遲(dispatch latency)。 排程準則 在選擇一個排程器時有下列幾項performance準則: CPU 使用率 產量 (throughput):單位時間內系統完成行程的個數 回覆時間 (turnaround time):對單一行程從開始到結束所花的時間 等待時間 (waiting time):一個行程從開始到結束,花在ready queue中等待的時間 反應時間 (response time):行程開始有反應的時間,不是指結束反應的時間 根據不同的系統需求,可以使用不同的準則來選擇不同的排程器。Such as, batch system or online system may have different request. 舉例來說 online system,為了保證使用者能得到最好的服務,我們會盡量減小最大 反應時間。 Batch system may ask for(1)產量 (throughput) and (2) CPU 使用率 排程方法 排程方法 先到先做排程 (FCFS scheduling) 最短工作優先排程 (SJF scheduling) 優先權排程 (Priority scheduling) 循環分時排程 (Round-Robin scheduling) 多層佇列排程 (Multi-level queue scheduling) 多層反饋佇列排程 (Multi-level feedback queue scheduling) 先到先做排程 先到先做(FCFS)為最簡單的不可搶先排程法。 根據行程 要求 使用CPU 的順序,來取得 CPU的使用權。 所產生的平均等待時間經常都很長。 使用先到先做排程法時,若系統中存在一個 CPU 暴衝時間很長的行程時,則會產生護航現象。 這是本排程最大的缺點。 先到先做排程 (續) 最短工作優先排程 SJF scheduling 下一次 CPU 暴衝最短的行程可優先取得 CPU 的使用權。 對於平均等待時間(average waiting time)而言最短工作優先排程(SJF)為最佳的不可搶先排程法。 若兩個行程的 CPU 暴衝時間等長的話,則可以使用 FCFS 排程方式來排程。 最短工作優先排程 (續) 最短工作優先排程 (續) SJF 在實作上有困難,因為很難知道行程下一個 CPU 暴衝時間的確實長度。 使用預估的方法來求得近似的值。行程下一個 CPU 暴衝時間的預估值可以設為前幾次 CPU 暴衝時間的幾何平均值。 tn 為第 n 次 CPU暴衝時間的長度 Tn+1 表示再下一

文档评论(0)

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

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

1亿VIP精品文档

相关文档