天天看點

特權指令和非特權指令

所謂特權指令是指有特權權限的指令,由于這類指令的權限最大,如果使用不當,将導緻整個系統崩潰。比如:清記憶體、置時鐘、配置設定系統資源、修改虛存的段表和頁表,修改使用者的通路權限等。如果所有的程式都能使用這些 指令,那麼你的系統一天當機n回就不足為奇了。為了保證系統安全,這類指令隻能用于作業系統或其他系統軟體,不直接提供給使用者使用。是以,特權執行必須在核心态執行。實際上,cpu在核心态下可以執行指令系統的全集。形象地說,特權指令就是 那些兒童不宜的東西,而非特權指令則是老少皆宜。

為了防止使用者程式中使用特權指令,使用者态下隻能使用非特權指令,核心态下可以使用全部指令。當在使用者态下使用特權指令時,将産生中斷以阻止使用者使用特權指令。是以把使用者程式放在使用者态下運作,而作業系統中必須使用 特權指令的那部分程式在核心态下運作,保證了計算機系統的安全可靠。從使用者态轉換為核心态的唯一途徑是中斷或異常。

王道選擇:

以下必須在和心态執行的指令:

A.從記憶體中取數 B.将運算結果裝入記憶體 C.算術運算 D.輸入/輸出

答案:

D

作業系統中,隻可以在和心态執行的指令為:

A.讀時鐘 B.取數 C.廣義指令 D.寄存器清0

答案

C

這裡的廣義指令即系統調用。必須工作在核心态。這裡要區分調用和執行。

廣義指令可以調用在使用者态,執行一定在核心态。

防管指令()作用

A.僅在使用者态 B.核心态 C.規定時間内 D.排程時間内

答案

A

防管指令即陷入指令即trap指令

隻可以在核心态運作的指令:

A.讀時鐘指令 B.置時鐘指令 C.取數指令 D.寄存器清零

答案

B

下列選項中,不可能在使用者态發生的事件為:

A.系統調用 B.外部中斷 C.程序切換 D.缺頁

答案

繼續閱讀