Re: [問題] DUAL MODE
※ 引述《H45 (!H45)》之銘言:
: ※ 引述《capslook1218 (大寫鎖)》之銘言:
: : 在dual-mode operation
: : 分別為kernel mode(別稱monitor mode , spuervisor mode,system mode)和user mode
: : 在kernel mode中 有一個東西叫做privileged instruction(特權指令)
: : 在這些指令中有一條指令 我看不太懂
: : 為啥change mode from user mode to monitor mode是privileged instruction
: : privileged instruction有一個限制是 只能在kernel mode中執行
: : 可是這條指令明顯違反了這項規則阿>_<
: 只回上面三行 (我的 OS 沒有拿超過 90 分,若有謬誤煩請不吝指正)
: (○) priviledged instruction 只能在 kernel mode 執行
: (○) change mode from user mode to monitor mode 是 privileged instruction
: 而您的問題是這兩個敘述是否矛盾,是嗎?
: 單就這個問題來看,我認為沒有矛盾
: change mode from user mode to monitor mode 確實是在 kernel mode 執行
: 如果在 user mode 執行的話,因為權限不足,所以系統理應拒絕執行。
=========
privileged instruction 指的是要取得管理者權限的程式才能讓該指令
的執行產生效果. 機器進入這種有效執行特權的狀態就是 supervisor mode .
從 user mode 要切換為 supervisor mode 時, 就必須對執行者的身份進行特
定的核驗與放行, 這個核驗當然是個在特殊空間的特定程式. 確保到達此特定
位置並確實執行此完整動作的方法就是透過 trap/interrupt .
interrupt 被執行時, processor 會從 enable interrupt 狀態切換為
disable interrupt , 而 disable interrupt 這個指令本身就是 privileged
instruction . 換言之, interrupt/trap 執行後就到達 kernel space 的入
口被檢查.
不具特權身份的程式碰到需有特權才能有效執行的特權指令時, 究竟是把
該指令無效跳過, 還是造成 exception trap 就視 processor 的設計而定.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.4.12
推
07/29 13:50, , 1F
07/29 13:50, 1F
→
07/31 10:04, , 2F
07/31 10:04, 2F
→
08/01 22:36, , 3F
08/01 22:36, 3F
→
08/01 22:38, , 4F
08/01 22:38, 4F
→
08/01 22:42, , 5F
08/01 22:42, 5F
→
08/01 22:44, , 6F
08/01 22:44, 6F
→
08/01 22:49, , 7F
08/01 22:49, 7F
→
08/01 22:52, , 8F
08/01 22:52, 8F
→
08/07 11:55, , 9F
08/07 11:55, 9F
討論串 (同標題文章)
CSSE 近期熱門文章
PTT數位生活區 即時熱門文章