關鍵區別——操作系統中的搶佔式調度與非搶佔式調度
進程是正在執行的程序。計算機應該同時執行許多任務。因此,CPU應該獲取進程並執行它們。有時需要執行某些進程而不是其他進程。此時,正在運行的進程被中斷,CPU被分配給新進程。任務完成後,CPU被分配回上一個進程。根據這種機制進行的調度稱為搶佔式調度。如果正在運行的進程不能被中斷,並且必須執行正在運行的進程,則稱為非強制調度。本文討論了操作系統中搶佔式調度與非搶佔式調度的區別。搶佔式調度是一種進程調度機制,通過這種機制,一個進程在執行過程中可以被另一個進程中斷。非強制調度是一種進程調度機制,通過該機制,一個進程只在前一個進程終止後才開始執行。這就是操作系統中搶佔式調度和非搶佔式調度的關鍵區別。
目錄
1. 概述和主要區別
2. 什麼是操作系統中的搶佔式調度
3. 什麼是操作系統中的非強制調度
4. 操作系統中搶佔與非搶佔調度的相似性
5. 並行比較-表格式的操作系統中的搶佔式調度與非搶佔式調度
6. 摘要
什麼是操作系統中的搶佔式調度(preemptive sche****ng in os)?
循環調度是搶佔式調度的一個例子。每個進程只需要少量的CPU時間。通常是10到100毫秒。這個小的數據單位也被稱為時間量子。經過此時間後,進程被搶佔並添加到就緒隊列的末尾。假設有4個過程,如P1、P2、P3和P4。以毫秒為單位的CPU突發時間如下所示。時間量是20。
P1進程執行到20。還有33毫秒。然後P2執行。由於時間量為20,所需時間P2為17ms,P2將執行17ms,因此P2過程完成。然後給P3機會。執行20ms,剩餘48ms,然後P4執行20ms,4ms完成整個過程。同樣,P1將執行20ms,它還有13ms來完成這個過程。找零給了P3。它將執行20毫秒,它還有28毫秒才能完全完成。P4執行。它只有4ms,因此P4完成執行。P2和P4已經完成。其餘的過程是P1和P3。機會給了P3。它有13毫秒要完成,所以它完成了。現在剩下的唯一過程就是P3。它需要28毫秒才能完成。因此P3將運行20ms,其餘為8ms,所有其他進程已經完成執行。因此,P3的其餘8ms將再次執行。同樣,每個進程都有執行的機會。
什麼是操作系統中的非強制調度(nonpreemptive sche****ng in os)?
先到先得(FCFS)調度可以作為非搶先調度的一個例子。首先請求的進程首先分配給CPU。這種調度很容易由先進先出(FIFO)隊列來管理。如果有順序為P1、P2和P3的過程,那麼機會首先被賦予P1。完成後,P2將執行。當P2完成時,P3將執行。假設有3個進程,如P1、P2和P3,CPU突發時間以毫秒為單位,如下所示。
根據上述內容,P1將執行。一旦完成,P2進程執行3ms,剩下的進程是P3。然後它就會執行。P1的等待時間為零。進程P2必須等待24毫秒,而進程P3必須等待27毫秒。如果進程按P2、P3和P1的順序到達,則P2將首先完成。下一個P3將完成,最後,P1將完成。
什麼是操作系統中搶佔與非搶佔調度的相似性(the similarity between preemptive and nonpreemptive sche****ng in os)?
- 操作系統中的搶佔式和非搶佔式調度都是在計算機上調度進程的機制。
先發制人(preemptive)和操作系統中的非強制調度(nonpreemptive sche****ng in os)的區別
操作系統中的搶佔與非搶佔調度 | |
搶佔式調度是一種進程調度機制,通過該機制,一個進程可以在其執行過程中被另一個進程中斷。 | 非強制調度是一種進程調度機制,通過該機制,一個進程只在前一個進程終止後才開始執行。 |
過程中斷 | |
在搶佔式調度中,進程可以被中斷。 | 在非強制調度中,進程可以被中斷。 |
CPU利用率 | |
在搶佔式調度中,CPU利用率高於非搶佔調度。 | 在非搶佔式調度中,與搶佔式調度相比,CPU利用率最小。 |
靈活性 | |
搶佔式調度是靈活的。 | 非強制性的調度是不靈活的。 |
總結 - 先發制人(preemptive) vs. 操作系統中的非強制調度(nonpreemptive sche****ng in os)
一臺計算機上運行著多個進程。當每個進程執行時,CPU被分配給該特定進程。有時,有必要停止當前進程的執行,並優先考慮另一個進程。進程調度機制可以是搶佔式或非搶佔式。搶佔式調度是一種進程調度機制,通過這種機制,進程在執行過程中可以被另一個進程中斷。非強制調度是指一個進程在前一個進程終止後才開始執行的調度機制。這就是操作系統中搶佔式和非搶佔式調度的區別。
下載操作系統中搶佔式與非搶佔式調度的pdf文件
你可以下載這篇文章的PDF版本,並根據引文說明離線使用。請在這裡下載PDF版本:操作系統中搶佔式和非搶佔式調度的區別