多层反馈伫列排程.ppt

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

第二章 行程管理 行程(process) 行程就是一個執行中的程式。 行程包括了 程式區段 資料區段 堆疊區段 CPU 中各暫存器的值(行程執行時所需控制資訊) 行程(process)與程式(program) 行程(process)與程式(program)的不同: 程式是放在外部的儲存裝置如硬碟上,而行程則放在記憶體中。 程式在儲存裝置中是靜態的,而行程在記憶體中是動態的,它會隨著一些事件的發生而產生相對的改變。 行程,簡單來說,就是一個執行中的程式。 行程的狀態 一個行程在執行過程中,會改變很多狀態。 一個行程的狀態通常有下列幾種: 建立 執行 懸置 就緒 終止 行程狀態轉換圖 行程控制區塊 行程控制區塊(PCB),儲存行程在執行時相關的資訊。 PCB 中通常包括了 行程狀態 CPU 暫存器 排程資訊 I/O 狀態 當行程進行切換時,需要將目前行程的相關資訊記錄在該行程的 PCB 中,並將另一個行程的 PCB 載入至系統中,這個動作稱為內文切換。 行程控制區塊 行程的佇列 一個行程在執行期間會在各種不同的佇列中進出。 一個系統中通常有 工作佇列 就緒佇列 等待佇列 裝置佇列 就緒佇列與裝置佇列 行程的切換 內文切換 當 CPU 的使用權由一個行程轉到另一個行程時需進行內文切換。 內文切換動作所花的時間對系統而言是額外的負擔 。 執行緒降低內文切換所花的時間。 行程排程 為了增加 CPU 的使用效率而提出多個行程的觀念。 一個單 CPU 的系統來說,隨時只能有一個行程在執行。 當行程不只一個的時候,如何選擇最適當行程來執行就是行程排程。 如何排程是影響作業系統效能最重要的因素。 排程效能的衡量 使用率 產量 回覆時間 等待時間 反應時間 可預測性 公平性 先到先做排程法 First Come, First Served FCFS Scheduling 不可搶先排程法 先進入的行程先執行。 先到先做排程法 - 範例 最短工作優先排程 Shortest Job First SJF Scheduling 不可搶先排程法 需要的時間最短者先執行。 如果不只一個行程有相同最短時間則以 FCFS決定 最短工作優先排程– 範例圖示 最短剩餘優先排程 SJF 也可以是可搶先的。 可搶先的 SJF 排程又稱為最短剩餘時間優先的排程法(SRT) 最短剩餘優先排程– 範例 優先權排程 Priority Scheduling 可為不可搶先排程法或不可搶先排程法 最高優先權的行程先執行 Highest Priority First 優先權排程 – 範例 循環分時排程 Round-Robin Scheduling 將時間等切成一小片一小片的時間切片,每一個時間切片則為每個行程每次得到 CPU 使用權後可執行的時間。 特別為分時系統所設計,為可搶先的。 循環分時排程 – 範例 多層佇列排程Multilevel Feedback Queue Scheduling 方法: 將行程分類,相同類型的行程分在同一佇列,而每一佇列都有自己的排程方法。 最常見的分類將行程分成 前景(互動)行程 - RR 排程法 背景(批次)行程 - FCFS 排程法 佇列與佇列之間還有優先權的關係,且佇列之間還需要另一個整體排程方法 可搶先的固定優先權排程法 可能會產生飢餓的現象。 多層佇列排程法 – 圖示 多層反饋佇列排程 多層反饋佇列排程法允許行程在各個佇列間移動。 CPU 暴衝時間愈長的行程就移到優先權比較低佇列中。 能避免飢餓的現象發生。 多層反饋佇列排程 – 圖示 * * 朱肇明 資管系 講師 大華技術學院 中斷 事件發生 等待事件 分派 離開 允許進入 建立 終止 就緒 執行 懸置 : : 已開啟檔案串列 程式計數器與其他暫存器 記憶體管理資訊 識別碼 鍵結 行程狀態 head tail head tail head tail 暫存器 … 暫存器 … 就緒佇列 磁碟裝置佇列 行程等待佇列 行程控制區塊b 暫存器 … 暫存器 … 行程控制區塊l ….. … 行程控制區塊n 行程控制區塊P 行程控制區塊a 行程A 作業系統 行程B 中斷或系統呼叫 將狀態儲存至PCB A 執行中 執行中 閒置 由 PCB B 載入狀態 將狀態儲存至PCB B 由 PCB A 載入狀態 中斷或系統呼叫 閒置 閒置 執行中 行程 CPU 暴衝時間(毫秒) P1 20 P2 5 P3 5 P1 P2 P3 0 20 25 30 平均等待時間:(0 + 20 + 25)/ 3 = 15 毫秒 P2 P3 P1 0 5 10 30 平均等待時間:

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档