在計算機系統中,通常執行著兩類程式:系統程式和應用程式,為了保證系統程式不被應用程式有意或無意地破壞,為計算機設定了兩種狀態:
在實際執行過程中,處理機會在系統態和使用者態間切換。相應地,現代多數作業系統將 cpu 的指令集分為特權指令和非特權指令兩類。
1) 特權指令——在系統態時執行的指令
2) 非特權指令——在使用者態時執行的指令
一般應用程式所使用的都是非特權指令,它只能完成一般性的操作和任務,不能對系統中的硬體和軟體直接進行訪問,其對記憶體的訪問範圍也侷限於使用者空間。
3.5補充
unix 系統把程序的執行狀態分為兩種:
這兩種狀態的主要差別在於:
3.28再補充
注意一條特殊的指令——陷入指令(又稱為訪管指令,因為核心態也被稱為管理態,訪管就是訪問管理態)
該指令給使用者提供介面,用於呼叫作業系統的服務。
核心態和使用者態的區別
核心態與使用者態是作業系統的兩種執行級別,intelcpu提供ring0 ring3三種級別的執行模式。ring0級別最高,ring3最低。當乙個任務 程序 執行系統呼叫而陷入核心 中執行時,我們就稱程序處於核心執行態 或簡稱為核心態 此時處理器處於特權級最高的 0級 核心 中執行。當程序處於核心態...
使用者態和核心態的區別
在cpu的所有指令中,有一些指令是非常危險的,如果錯用,將導致整個系統崩潰。比如 清記憶體 設定時鐘等。如果所有的程式都能使用這些指令,那麼你的系統一天宕機n回就不足為奇了。所以,cpu將指令分為特權指令和非特權指令,對於那些危險的指令,只允許作業系統及其相關模組使用,普通的應用程式只能使用那些不會...
使用者態和核心態的區別
在cpu的所有指令中,有一些指令是非常危險的,如果錯用,將導致整個系統崩潰。比如 清記憶體 設定時鐘等。如果所有的程式都能使用這些指令,那麼你的系統一天宕機n回就不足為奇了。所以,cpu將指令分為特權指令和非特權指令,對於那些危險的指令,只允許作業系統及其相關模組使用,普通的應用程式只能使用那些不會...