執行狀態進程已獲得CPU,其程式正在執行。在單處理機系統中,只有一個進程處於執行狀態;在多處理機系統中,則有多個進程處於執行狀態。
在UNIX/Linux系統中,執行狀態分為兩種:1.用戶態執行,表示進程正處於用戶狀態之中;2.核心態執行,一個套用進程執行系統調用後(或I/O中斷後,或時鐘中斷後),進程便處於核心執行。
這兩種狀態的主要差別是:1.處於用戶態執行時,進程所能訪問的記憶體空間和對象受到限制;而處於核心態執行中的進程則能訪問所有的記憶體空間和對象。2.進程在核心態運行時是不可被剝奪的;而在用戶態運行態是可被剝奪的。以下是一些常用指令的執行狀態。
1.禁止所有中斷指令,在核心態下執行。
2.讀時鐘日期指令,在用戶態下執行。
3.設定時鐘日期指令,在核心態下執行。
4.改變存儲映像圖指令,在核心態下執行。
5存取某地址單元的內容指令,在用戶態下執行;
6.停機指令,在核心態下執行。