進程調度目標和調度方式
進程排程目標與方式概述
進程調度的目標和方式直接影響作業系統對資源的分配效率。主要目標包括公平性、高效率、平衡性、高吞吐量和策略強制執行,不同類型的作業系統對這些目標的重點有所不同。
進程調度目標
-
公平性:確保每個進程都能公平地獲得 CPU 執行的機會,避免出現「飢餓」現象。要在保證優先權的基礎上,實現進程執行的公平性。
-
高效率:盡可能讓 CPU 保持「忙碌」狀態,減少空閒等待時間,進而提高處理機的使用率。公式如下:
\[
\text{CPU 的使用率} = \frac{\text{CPU 有效工作時間}}{\text{CPU 有效工作時間 + CPU 空閒等待時間}}
\]
-
平衡性:系統中有不同類型的進程(如計算型和 I/O 型),調度演算法應保證 CPU 和其他資源的負載平衡,以避免資源閒置。
-
高吞吐量:提升系統的處理能力,使每個行程的等待時間盡可能短,進而增加單位時間內完成的行程數。
-
策略強制執行:嚴格執行預定的調度策略,包括安全策略,即使會引發某些工作延遲。
不同系統的調度目標
-
多道批次系統:重點在於有效利用系統資源,提升吞吐量並縮短平均週轉時間。
-
分時作業系統:更關注用戶的公平性和及時響應性,通常採用時間片輪轉調度演算法,頻繁的任務切換增加了系統開銷。
-
即時作業系統:確保即時進程及時回應,調度演算法的特點是可搶佔性,確保即時任務能準時執行。
-
通用作業系統:主要追求資源的使用公平性和均衡性,沒有特殊的調度要求。
進程調度方式
-
非搶佔方式:
- 在這種方式下,一旦進程獲得 CPU 控制權,就可以一直運行到完成或被阻塞,才將處理機交給其他進程。
- 優點:實作簡單,系統開銷小,適合批次系統。
- 缺點:無法應付即時任務需求,無法滿足嚴格的回應時間要求。
- 在這種方式下,一旦進程獲得 CPU 控制權,就可以一直運行到完成或被阻塞,才將處理機交給其他進程。
-
搶佔方式:
- 調度程序根據特定原則(如優先權、短進程優先、時間片輪轉)可以中斷正在運行的進程,將 CPU 分配給其他更需要的進程。
- 搶佔原則:
- 優先權原則:優先權高的行程可以中斷低優先權行程。
- 短進程優先原則:短進程可以搶佔長進程的執行。
- 時間片原則:每個行程都以時間片輪流佔用 CPU,時間片到則切換到下一個行程,適用於分時系統。
不同的調度方式適合不同場景,在即時系統中通常採用搶佔方式,以確保關鍵任務按時完成;在批次系統中則傾向於使用非搶佔方式,降低系統開銷。