Elaine's Blog 朝著 senior 前進的工程師

CH5 行程排班 (Process Scheduling)


基本觀念

  • 在單一處理器(Single-Processor)系統裡,不可以同時有多個程式在執行,如果有多個行程,其它的都必須在旁邊等待 CPU 有空,才能接者重新排班。

  • 多元程式規劃(Multiprogramming)系統的主要目的,就是要隨時保有一個行程在執行,藉以提高 CPU 使用率。

CPU- I/O 分割週期 (Burst Cycle)

  1. 行程的執行是由 CPU 執行時間及 I/O 等待時間所組成的週期 (cycle)。行程在這兩個狀態之間交替往返。

  2. 行程執行由一個 CPU 分割 (CPU burst)開始。跟著是一個 I/O 分割 (1/O burst),然後再由另外一個 CPU 分割跟著,再來又是另一個 I/O 分割。

  3. 最後的 CPU Burst 結束時,同時會有系統要求終止執行此工作。

  • CPU 使用率(utilization) : 使 CPU 盡可能地忙碌。原則上它的使用率可以從 0 個 百分比到 100 個百分比。而在實際的系統裡,它的使用率應該是 40% (負荷 較輕的系統)到 90% (負荷較重的系統)的範圍。
  • 產量 (throughput): 如果 CPU 是忙碌地執行行程,工作就可以不斷地進 行。其中有一種衡量工作量的標準,就是用每單位時間所完成的行程數來計 算,稱為產量。對長的行程而言,可能一個鐘頭只完成一個,但是對短的行程 而言,則產量可能多到每秒鐘完成十個。
  • 回復時間 (turnaround time): 對某一個特定行程而言,是這個行程到底需要多少時間才能完成。執行一個特定的 process 所需的時間稱為回復時間。回復時間是進入等待主記憶體、在就緒佇列等待,以及 CPU 執行和執行輸出/入動作等時間的總和。
  • 等候時間 (waiting time): CPU 排班的法則,對於實際執行一個行程所需的時間,而輸出入動作的次數並沒有任何的影響。它只會影響一個行程在就緒佇列等待的時間。等候時間是在就緒佇列(ready queue)中等待所花費週期的總和。
  • 反應時間(response time):在交談式系統之中,一個衡量的標準就是以提出一個要求到第一個反應出現的時間間隔來計算,這就是所謂反應時間。

Content