作業系統中搶佔式和非搶佔式排程的區別


在作業系統中,搶佔式排程是一種CPU排程方法,其中CPU被分配給給定程序有限的時間。相比之下,非搶佔式排程是一種排程技術,其中CPU被分配給一個程序,並由該程序持有,直到該程序終止。

閱讀本文,瞭解更多關於作業系統中搶佔式和非搶佔式排程的資訊,以及它們之間的區別。

什麼是搶佔式排程?

搶佔式排程是一種CPU排程,其中資源(CPU週期)被分配給一個程序有限的時間。在這種型別的排程中,一個正在執行的程序可以被中斷。

在搶佔式排程中,如果一個高優先順序的程序頻繁地到達“就緒”佇列,則低優先順序的程序可能會餓死。此外,這種排程型別具有開銷,因為它必須排程多個程序。因此,搶佔式排程具有靈活性。

搶佔式排程是一種代價較高的排程技術。它具有較高的CPU利用率。搶佔式排程的例子包括輪詢排程、最短剩餘時間優先排程等。

什麼是非搶佔式排程?

非搶佔式排程是一種排程,一旦資源(CPU週期)被分配給一個程序,該程序就會持有它,直到它完成其爆發時間或切換到“等待”狀態。

在非搶佔式排程中,程序不能被中斷,除非它自己終止或時間結束。如果一個具有較長爆發時間的程序正在執行CPU,則具有較短CPU爆發時間的程序將餓死。

非搶佔式排程不靈活,也不昂貴。非搶佔式排程的例子包括先來先服務和最短作業優先。

現在,讓我們詳細討論搶佔式和非搶佔式排程之間的區別。

搶佔式排程和非搶佔式排程的區別

下表重點介紹了搶佔式排程和非搶佔式排程之間所有重要的區別:

序號

搶佔式排程

非搶佔式排程

1.

將資源(CPU週期)分配給程序有限的時間的CPU排程稱為搶佔式排程。

一旦資源(CPU週期)被分配給一個程序,該程序就會持有它直到完成其爆發時間或切換到“等待”狀態的排程型別稱為非搶佔式排程。

2.

在搶佔式排程中,一個程序可以在執行時被中斷。

在非搶佔式排程中,一個程序不能被中斷,除非它自己終止或時間結束。

3.

如果一個高優先順序的程序頻繁地到達“就緒”佇列,則低優先順序的程序可能會餓死。

如果一個具有較長爆發時間的程序正在執行CPU,則具有較短CPU爆發時間的程序將餓死。

4.

它有開銷。

它沒有開銷。

5.

它具有靈活性。

它不具有靈活性。

6.

它代價較高。

它代價較低。

7.

例子:輪詢排程、最短剩餘時間優先排程。

例子:先來先服務和最短作業優先。

結論

兩者之間最顯著的區別在於,搶佔式排程透過將CPU的時間片分配給給定程序來工作,而非搶佔式排程則佔用CPU並持有它,直到程序終止或被推入等待狀態。

更新於:2023年2月21日

20K+瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.