热门问题
时间线
聊天
视角

搶佔式多任務處理

来自维基百科,自由的百科全书

Remove ads

搶佔式多任務處理(Preemptive multitasking)是計算機作業系統中,一種實現多任務處理(multi task)的方式。相對於協作式多任務處理而言。協作式環境下,下一個進程被調度的前提是當前進程主動放棄時間片;搶佔式環境下,作業系統完全決定進程調度方案,作業系統可以剝奪耗時長的進程的時間片,提供給其它進程。

  • 每個任務賦予唯一的一個優先級(有些作業系統可以動態地改變任務的優先級);
  • 假如有幾個任務同時處於就緒狀態,優先級最高的那個將被運行;
  • 只要有一個優先級更高的任務就緒,它就可以中斷當前優先級較低的任務的執行;

用戶模式和內核模式

在任何給定的系統設計中,系統執行的某些操作可能無法被搶佔。這通常適用於內核函數和服務中斷,如果不能讓它們運行到完成,就容易產生競態條件,從而導致死鎖。禁止調度程序在任務處理內核功能時搶佔它們,以犧牲系統響應性為代價,來簡化內核設計。區分用戶模式內核模式決定了系統內的權限級別,也可以用來區分任務當前是否可被搶佔。

大多數現代作業系統都支持搶佔式內核,即使在內核模式下也允許任務被搶佔。例如LinuxAIXWindows NT等等。

參見

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads