什麼是作業系統中的程序排程程式?


程序排程程式是作業系統的一部分,負責排程程序。如果程序處於就緒、等待和執行狀態,它會正確地排程它,並且還負責在一段時間內將 CPU 處理器分配給特定任務。

此外,當任務或程序完成後,它不會讓 CPU 處於空閒狀態。它將根據其當前狀態分配其他任務。如果程序處於就緒狀態,它將將其分配給 CPU,這樣它始終保持 CPU 繁忙。

良好程序排程程式的特徵

良好程序排程程式的特徵如下:

  • 它透過始終分配就緒狀態的程序來提高 CPU 的利用率。

  • 它具有靈活性,您可以輕鬆更改您的計劃。

  • 它允許您重新訪問或審查您的專案。

  • 透過使用它,您可以嚴格遵守截止日期。**例如**,如果您有一個專案的截止日期為 9 月 10 日,那麼您可以將截止日期設定為 9 月 10 日下午 6 點或任何時間。

  • 此外,任務不是孤立的;您可以清楚地看到它們之間的關係或它們如何相互關聯。

排程類別

排程有兩個主要類別。如下所示:

搶佔式排程

這意味著 CPU 在另一個低優先順序任務之前執行一個具有更高優先順序的任務,而不管低優先順序任務是否正在執行。此時,低優先順序任務會暫停一段時間,並在高優先順序任務完成執行後恢復。

非搶佔式排程

在這種型別的排程技術中,CPU 已分配給特定程序。使 CPU 保持繁忙的程序將透過切換上下文或終止來釋放 CPU。

這是可以用於各種硬體平臺的主要策略。這是因為它不需要像搶佔式排程那樣需要特殊的硬體(例如時鐘)。

當程序完全進入等待狀態或終止時,就會發生非搶佔式排程。

主要區別

搶佔式和非搶佔式排程之間的主要區別如下:

  • 在搶佔式排程中,處理器分配給程序的時間是固定的,而在非搶佔式排程中,處理器分配給程序直到其完成。

  • 在搶佔式排程中,任務是根據優先順序切換的,而在非搶佔式排程中,不會發生切換。

  • 搶佔式演算法有將程序從就緒狀態移動到執行狀態的開銷,而非搶佔式排程則沒有這種開銷。

  • 雖然非搶佔式排程是靜態的,但搶佔式排程是靈活的。

更新於:2021-11-30

1K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.