跳轉至

進程調度目標和調度方式

進程排程目標與方式概述

進程調度的目標和方式直接影響作業系統對資源的分配效率。主要目標包括公平性、高效率、平衡性、高吞吐量和策略強制執行,不同類型的作業系統對這些目標的重點有所不同。

進程調度目標

  1. 公平性:確保每個進程都能公平地獲得 CPU 執行的機會,避免出現「飢餓」現象。要在保證優先權的基礎上,實現進程執行的公平性。

  2. 高效率:盡可能讓 CPU 保持「忙碌」狀態,減少空閒等待時間,進而提高處理機的使用率。公式如下:

\[ \text{CPU 的使用率} = \frac{\text{CPU 有效工作時間}}{\text{CPU 有效工作時間 + CPU 空閒等待時間}} \]
  1. 平衡性:系統中有不同類型的進程(如計算型和 I/O 型),調度演算法應保證 CPU 和其他資源的負載平衡,以避免資源閒置。

  2. 高吞吐量:提升系統的處理能力,使每個行程的等待時間盡可能短,進而增加單位時間內完成的行程數。

  3. 策略強制執行:嚴格執行預定的調度策略,包括安全策略,即使會引發某些工作延遲。

不同系統的調度目標

  • 多道批次系統:重點在於有效利用系統資源,提升吞吐量並縮短平均週轉時間。

  • 分時作業系統:更關注用戶的公平性和及時響應性,通常採用時間片輪轉調度演算法,頻繁的任務切換增加了系統開銷。

  • 即時作業系統:確保即時進程及時回應,調度演算法的特點是可搶佔性,確保即時任務能準時執行。

  • 通用作業系統:主要追求資源的使用公平性和均衡性,沒有特殊的調度要求。

進程調度方式

  1. 非搶佔方式

    • 在這種方式下,一旦進程獲得 CPU 控制權,就可以一直運行到完成或被阻塞,才將處理機交給其他進程。
      • 優點:實作簡單,系統開銷小,適合批次系統。
      • 缺點:無法應付即時任務需求,無法滿足嚴格的回應時間要求。
  2. 搶佔方式

    • 調度程序根據特定原則(如優先權、短進程優先、時間片輪轉)可以中斷正在運行的進程,將 CPU 分配給其他更需要的進程。
    • 搶佔原則
      • 優先權原則:優先權高的行程可以中斷低優先權行程。
      • 短進程優先原則:短進程可以搶佔長進程的執行。
      • 時間片原則:每個行程都以時間片輪流佔用 CPU,時間片到則切換到下一個行程,適用於分時系統。

不同的調度方式適合不同場景,在即時系統中通常採用搶佔方式,以確保關鍵任務按時完成;在批次系統中則傾向於使用非搶佔方式,降低系統開銷。