【CPU】 CPU 排程(CPU Scheduling) 是什麼?

CPU 排程(CPU Scheduling)是作業系統用來分配 CPU 時間給不同運行中的程序或執行緒的過程,其目的是最佳化系統性能,確保所有程序能公平地使用 CPU 資源,同時提升系統的效能、反應時間和吞吐量。

CPU 排程的種類:

1. 先來先服務(First-Come, First-Served, FCFS)

• 最早到達的程序優先執行。實現簡單,但可能導致等待時間過長,特別是對於需要較少 CPU 執行時間的短作業來說。

2. 最短作業優先(Shortest Job Next, SJN / Shortest Job First, SJF)

• 擁有最短 CPU 執行時間的程序會被優先選擇。這種排程可以減少平均等待時間,但難以準確預測執行時間,並且長作業可能會飢餓(得不到執行機會)。

3. 優先級排程(Priority Scheduling)

• 每個程序被分配一個優先級,優先級最高的程序會獲得 CPU 資源。此方式可能會導致低優先級的程序無法執行,出現飢餓問題。

4. 輪轉法(Round Robin, RR)

• 每個程序被分配一個固定的時間片(Time Slice),時間到達後切換到下一個程序。這種排程方式適合時間共享系統,能確保所有程序都能定期獲得 CPU 使用權,但上下文切換的開銷可能較高。

5. 多級隊列排程(Multilevel Queue Scheduling)

• 程序根據特性被分配到不同的隊列中,每個隊列有不同的排程策略。適合同時處理多種類型的工作,但設計和維護較複雜。

6. 多級反饋隊列排程(Multilevel Feedback Queue Scheduling)

• 類似多級隊列,但允許程序根據執行情況在不同隊列之間移動。這種方式兼顧了系統的靈活性和響應速度。

Table of Contents

參考資料

  1. ChatGPT
Posted in CPU

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *