搶佔式和非搶佔式排程
搶佔式排程是一種CPU排程技術,它透過將CPU的時間片分配給給定的程序來工作。分配的時間片可能能夠完成整個程序,也可能無法完成。當程序的爆發時間大於CPU週期時,它會被放回就緒佇列,並在下次機會執行。當程序切換到就緒狀態時,將使用這種排程。
由搶佔式排程支援的演算法包括輪詢(RR)、優先順序、SRTF(最短剩餘時間優先)。
非搶佔式排程是一種CPU排程技術,程序獲取資源(CPU時間)並保持它直到程序終止或被推入等待狀態。在程序完成之前,不會中斷任何程序,之後處理器切換到另一個程序。
基於非搶佔式排程的演算法包括非搶佔式優先順序和最短作業優先。
搶佔式排程與非搶佔式排程
搶佔式排程 | 非搶佔式排程 |
---|---|
資源根據週期分配,時間有限。 | 資源被程序使用並持有,直到它終止。 |
程序可以在完成之前被中斷。 | 程序不會被中斷,直到其生命週期完成。 |
由於在佇列中插入優先順序程序,可能會導致飢餓。 | 當具有較長爆發時間的程序佔用系統時,可能會發生飢餓。 |
維護佇列和剩餘時間需要儲存開銷。 | 不需要此類開銷。 |
廣告