[理工] [作業系統] Priveledged Instruction

看板Grad-ProbAsk作者 (Steven_Shie)時間13年前 (2011/07/27 00:04), 編輯推噓4(4024)
留言28則, 5人參與, 最新討論串1/3 (看更多)
我想問一個問題... 就是在OS中的CH2講到Dual Mode 分為兩種: 1.Monitor mode 2.User mode 然後將一些指令定為Priveledged Instruction (特權指令) 恐龍本提到特權指令其中一個例子是change user mode to monitor mode 但是特權指令一定要在Monitor mode才能執行 照這樣來說 change user mode to monitor mode 在被執行的時候 應該就是Monitor mode 這樣一想...感覺這條指令有點矛盾 請各位大大幫我解開疑惑 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.44.110.54

07/27 00:18, , 1F
我是拿筆記出來 1.use process 發trap 給 kernel
07/27 00:18, 1F

07/27 00:18, , 2F
2 change user mode => kernel mode
07/27 00:18, 2F

07/27 00:52, , 3F
但是發了trap後 還是user mode
07/27 00:52, 3F

07/27 00:52, , 4F
要等kernel去處理轉換成kernel mode
07/27 00:52, 4F

07/27 00:52, , 5F
好像還是存在那個矛盾TAT
07/27 00:52, 5F

07/27 00:56, , 6F
你可以把他想成是一種控制權的轉移 在user mode取得cpu執
07/27 00:56, 6F

07/27 00:57, , 7F
行時的系統狀態叫做user mode 由kernel取得系統控制權的時
07/27 00:57, 7F

07/27 00:57, , 8F
候叫做kernel mode 並不是真的有一個實體位置記錄著現在是
07/27 00:57, 8F

07/27 00:57, , 9F
哪種state
07/27 00:57, 9F

07/27 01:06, , 10F
更正一下第一行           user process
07/27 01:06, 10F

07/27 01:52, , 11F
@@ 是的 獲益良多
07/27 01:52, 11F

07/27 07:10, , 12F
這樣好像更能了解了
07/27 07:10, 12F

07/27 07:10, , 13F
感謝大大
07/27 07:10, 13F

07/28 22:21, , 14F
07/28 22:21, 14F

08/01 02:15, , 15F
但是hardware真的有一個mode bit存在喔!只是想像!
08/01 02:15, 15F

08/01 02:16, , 16F
現在重看還真怕自己會混淆意思="=
08/01 02:16, 16F

08/01 02:18, , 17F
再來說一次好了!user發system call給kernel後,控制權轉移
08/01 02:18, 17F

08/01 02:19, , 18F
給kernel(此時已經進入kernel mode了!因為接著kernel會把)
08/01 02:19, 18F

08/01 02:20, , 19F
mode bit設為0!),然後做完後(會把mode bit設為1)再把控制
08/01 02:20, 19F

08/01 02:21, , 20F
權轉回去給user process。所以change mode都是在kernel擁有
08/01 02:21, 20F

08/01 02:22, , 21F
控制權的時候(也就是進到kernel mode)時做的!
08/01 02:22, 21F

08/01 02:23, , 22F
雖然hardware有一個mode bit,可是改變的時候都是kernel擁
08/01 02:23, 22F

08/01 02:23, , 23F
有控制權(也就是kernel mode)的時候才能改變!
08/01 02:23, 23F

08/01 02:25, , 24F
你的矛盾應該是在轉進kernel mode後mode bit依然為0這一小
08/01 02:25, 24F

08/01 02:25, , 25F
更正                   依然為1
08/01 02:25, 25F

08/01 02:28, , 26F
段時間,但是kernel接下來就會把mode bit改為0了!
08/01 02:28, 26F

08/01 02:29, , 27F
我看我乾脆回一篇更清楚的好了....
08/01 02:29, 27F

09/11 14:27, , 28F
權轉回去給user p https://daxiv.com
09/11 14:27, 28F
文章代碼(AID): #1EBkL_-I (Grad-ProbAsk)
文章代碼(AID): #1EBkL_-I (Grad-ProbAsk)