作業系統中的特權指令和非特權指令是什麼?
讓我們瞭解一下作業系統中的特權指令。
特權指令
這些指令被稱為機器級指令,在處理器處於特權模式時執行。
示例包括:
關閉系統
更改控制暫存器的內容。
跳轉到核心程式碼。
向I/O裝置傳送命令。
當作業系統核心中的函式正在執行時,處理器處於特權模式。
如果嘗試在非特權模式下執行特權指令,則會導致執行時錯誤。
通常,作業系統的使用者模式稱為非特權模式,而核心模式稱為特權模式。
特性
特權指令的特性如下:
嘗試在使用者模式下執行特權指令會被視為非法指令,不會執行。
當控制轉移到任何使用者程式時,作業系統有責任確保設定計時器中斷。
因此,如果計時器中斷,作業系統將獲得控制權。任何修改計時器內容的指令都是特權指令。
特權指令主要由作業系統用來實現正確的操作。
非特權指令
非特權模式也稱為使用者模式或安全指令。
示例包括:
載入和儲存指令
加法、減法等。
下圖顯示了作業系統中的非特權模式和特權模式:
使用者模式 (或) 非特權模式 |
核心模式 (或) 特權模式 |
必須有一種機制來切換模式,如下所示:
使用者 → 核心(內置於硬體中)
核心 → 使用者(特權指令)
廣告