作業系統中搶佔式和非搶佔式排程的區別
在作業系統中,搶佔式排程是一種CPU排程方法,其中CPU被分配給給定程序有限的時間。相比之下,非搶佔式排程是一種排程技術,其中CPU被分配給一個程序,並由該程序持有,直到該程序終止。
閱讀本文,瞭解更多關於作業系統中搶佔式和非搶佔式排程的資訊,以及它們之間的區別。
什麼是搶佔式排程?
搶佔式排程是一種CPU排程,其中資源(CPU週期)被分配給一個程序有限的時間。在這種型別的排程中,一個正在執行的程序可以被中斷。
在搶佔式排程中,如果一個高優先順序的程序頻繁地到達“就緒”佇列,則低優先順序的程序可能會餓死。此外,這種排程型別具有開銷,因為它必須排程多個程序。因此,搶佔式排程具有靈活性。
搶佔式排程是一種代價較高的排程技術。它具有較高的CPU利用率。搶佔式排程的例子包括輪詢排程、最短剩餘時間優先排程等。
什麼是非搶佔式排程?
非搶佔式排程是一種排程,一旦資源(CPU週期)被分配給一個程序,該程序就會持有它,直到它完成其爆發時間或切換到“等待”狀態。
在非搶佔式排程中,程序不能被中斷,除非它自己終止或時間結束。如果一個具有較長爆發時間的程序正在執行CPU,則具有較短CPU爆發時間的程序將餓死。
非搶佔式排程不靈活,也不昂貴。非搶佔式排程的例子包括先來先服務和最短作業優先。
現在,讓我們詳細討論搶佔式和非搶佔式排程之間的區別。
搶佔式排程和非搶佔式排程的區別
下表重點介紹了搶佔式排程和非搶佔式排程之間所有重要的區別:
序號 |
搶佔式排程 |
非搶佔式排程 |
|---|---|---|
1. |
將資源(CPU週期)分配給程序有限的時間的CPU排程稱為搶佔式排程。 |
一旦資源(CPU週期)被分配給一個程序,該程序就會持有它直到完成其爆發時間或切換到“等待”狀態的排程型別稱為非搶佔式排程。 |
2. |
在搶佔式排程中,一個程序可以在執行時被中斷。 |
在非搶佔式排程中,一個程序不能被中斷,除非它自己終止或時間結束。 |
3. |
如果一個高優先順序的程序頻繁地到達“就緒”佇列,則低優先順序的程序可能會餓死。 |
如果一個具有較長爆發時間的程序正在執行CPU,則具有較短CPU爆發時間的程序將餓死。 |
4. |
它有開銷。 |
它沒有開銷。 |
5. |
它具有靈活性。 |
它不具有靈活性。 |
6. |
它代價較高。 |
它代價較低。 |
7. |
例子:輪詢排程、最短剩餘時間優先排程。 |
例子:先來先服務和最短作業優先。 |
結論
兩者之間最顯著的區別在於,搶佔式排程透過將CPU的時間片分配給給定程序來工作,而非搶佔式排程則佔用CPU並持有它,直到程序終止或被推入等待狀態。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP