热门问题
时间线
聊天
视角
搶占式多任務處理
来自维基百科,自由的百科全书
Remove ads
搶占式多任務處理(Preemptive multitasking)是計算機操作系統中,一種實現多任務處理(multi task)的方式。相對於協作式多任務處理而言。協作式環境下,下一個進程被調度的前提是當前進程主動放棄時間片;搶占式環境下,操作系統完全決定進程調度方案,操作系統可以剝奪耗時長的進程的時間片,提供給其它進程。
- 每個任務賦予唯一的一個優先級(有些操作系統可以動態地改變任務的優先級);
- 假如有幾個任務同時處於就緒狀態,優先級最高的那個將被運行;
- 只要有一個優先級更高的任務就緒,它就可以中斷當前優先級較低的任務的執行;
![]() |
用戶模式和內核模式
在任何給定的系統設計中,系統執行的某些操作可能無法被搶占。這通常適用於內核函數和服務中斷,如果不能讓它們運行到完成,就容易產生競態條件,從而導致死鎖。禁止調度程序在任務處理內核功能時搶占它們,以犧牲系統響應性為代價,來簡化內核設計。區分用戶模式和內核模式決定了系統內的權限級別,也可以用來區分任務當前是否可被搶占。
大多數現代操作系統都支持搶占式內核,即使在內核模式下也允許任務被搶占。例如Linux、AIX、Windows NT等等。
參見
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads