- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分派程式将CPU控制权交给其他Process(由短程排-Min-ShiangHwang
* Modified by Min-Shiang Hwang (亞大黃明祥) ?2013 * Chapter 5 行程排班 (Process Scheduling) 5.1 基本觀念 5.2 排班評定的標準 5.3 排班演算法 5.4 演算法的評估 * 5.1 基本觀念(Basic Concepts) 在單一處理器(Single-Processor)系統裡,不可以同時有多個程式在執行,如果有多個行程,其它的都必須在旁邊等待CPU有空,才能接者重新排班。 多元程式規劃(Multiprogramming)系統的主要目的,就是要隨時保有一個行程在執行,藉以提高CPU使用率。 * 5.1.1 CPU- I/O分割週期 (Burst Cycle) 行程的執行是由CPU執行時間及I/O等待時間所組成的週期 (cycle)。行程在這兩個狀態之間交替往返。 行程執行由一個CPU分割 (CPU burst)開始。跟著是一個I/O分割 (1/O burst),然後再由另外一個CPU分割跟著,再來又是另一個I/O分割。 最後的CPU Burst結束時,同時會有系統要求終止執行此工作。 Alternating Sequence of CPU And I/O Bursts * I/O傾向的程式採用短的CPU分割 CPU傾向的程式採用長的CPU分割 * 5.1.2 CPU排班程式(CPU Scheduler) 一旦CPU閒置,作業系統必須從就緒佇列(ready queue)之中選出其中一個行程來執行。選取行程是由短程排班程式(short-term scheduler) (或CPU排班程式)來執行。排班程式自記憶體之中準備要執行的數個行程選出一個,並將CPU配置給它。 5.1.3 可搶先排班(Preemptive Scheduling) CPU 排班的決策發生在下面四種情況︰ 當一行程從執行狀態轉變成等待狀態時(例如,I/O要求、等待其中一個子行程的結束)。 當一行程從執行狀態轉變成就緒狀態時(例如,當有中斷發生時)。 當一行程從等待狀態轉變成就緒狀態時(例如,I/O的結束)。 當一行程終止時。 Scheduling under 1 and 4 is nonpreemptive (不可搶先的) Scheduling under 2 and 3 is preemptive (可搶先的) * 5.1.4 分派程式(Dispatcher) 作業系統中CPU排班程式功能所包含的另外一個元件就是分派程式(dispatcher) 分派程式將CPU控制權交給其他Process(由短程排班程式選出)時所採用之模組 其功能 轉換內容(switching context) 轉換成使用者模式 (user mode) 跳越到使用者程式的適當位置以便重新開啟程式 Dispatch latency (分派潛伏期) – time it takes for the dispatcher to stop one process and start another running * 5.2 排班評定的標準(Scheduling Criteria) CPU使用率(utilization) : 使CPU盡可能地忙碌。原則上它的使用率可以從 0個 百分比到 100個百分比。而在實際的系統裡,它的使用率應該是 40% (負荷 較輕的系統)到 90% (負荷較重的系統)的範圍。 產量 (throughput): 如果CPU是忙碌地執行行程,工作就可以不斷地進 行。其中有一種衡量工作量的標準,就是用每單位時間所完成的行程數來計 算,稱為產量。對長的行程而言,可能一個鐘頭只完成一個,但是對短的行程 而言,則產量可能多到每秒鐘完成十個。 回復時間 (turnaround time): 對某一個特定行程而言,是這個行程到底需要多少時間才能完成。執行一個特定的process所需的時間稱為回復時間。回復時間是進入等待主記憶體、在就緒佇列等待,以及 CPU執行和執行輸出/入動作等時間的總和。 等候時間 (waiting time): CPU排班的法則,對於實際執行一個行程所需的時間,而輸出入動作的次數並沒有任何的影響。它只會影響一個行程在就緒佇列等待的時間。等候時間是在就緒佇列(ready queue)中等待所花費週期的總和。 反應時間(response time):在交談式系統之中,一個衡量的標準就是以提出一個要求到第一個反應出現的時間間隔來計算,這就是所謂反應時間。 * 5.3 排班演算法(Scheduling Algorithms) 5.3.1 先來先做之排班方
文档评论(0)