作業系統中的特權指令和非特權指令是什麼?


讓我們瞭解一下作業系統中的特權指令。

特權指令

這些指令被稱為機器級指令,在處理器處於特權模式時執行。

示例包括:

  • 關閉系統

  • 更改控制暫存器的內容。

  • 跳轉到核心程式碼。

  • 向I/O裝置傳送命令。

當作業系統核心中的函式正在執行時,處理器處於特權模式。

如果嘗試在非特權模式下執行特權指令,則會導致執行時錯誤。

通常,作業系統的使用者模式稱為非特權模式,而核心模式稱為特權模式。

特性

特權指令的特性如下:

  • 嘗試在使用者模式下執行特權指令會被視為非法指令,不會執行。

  • 當控制轉移到任何使用者程式時,作業系統有責任確保設定計時器中斷。

  • 因此,如果計時器中斷,作業系統將獲得控制權。任何修改計時器內容的指令都是特權指令。

  • 特權指令主要由作業系統用來實現正確的操作。

非特權指令

非特權模式也稱為使用者模式或安全指令。

示例包括:

  • 載入和儲存指令

  • 加法、減法等。

下圖顯示了作業系統中的非特權模式和特權模式:

使用者模式
(或)
非特權模式
核心模式
(或)
特權模式

必須有一種機制來切換模式,如下所示:

  • 使用者 → 核心(內置於硬體中)

  • 核心 → 使用者(特權指令)

更新於:2021年12月1日

3K+ 次檢視

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告