從高特權級跳轉到低特權級怎麼回事
阿新 • • 發佈:2018-12-29
我在學習保護模式特權級轉換時,看到書上列出了很多轉換規則,複雜之極,於是個人總結一下(簡單總結,高手見笑了),如下:
1.不使用控制門時只能進行同級跳轉(無論jmp還是call)。
2.要想進行不同級別的跳轉,只能使用控制門。
但是對於上面第2條,書上只介紹了能利用“call + 控制門”從低特權級跳轉到高特權級,可是並沒有說“call + 控制門”能夠實現從高特權級跳轉到低特權級。書上只是簡單的提到,“call + 控制門”從低特權級跳轉到高特權級之後,與call對應的ret語句能實現從高特權級跳轉到低特權級。
所以我想問一下,“從高特權級跳轉到低特權級”只能用ret語句來實現麼?
1.不使用控制門時只能進行同級跳轉(無論jmp還是call)
call 和 jmp 可以通過任務切換的方式進行不同級的跳轉。
2.要想進行不同級別的跳轉,只能使用控制門。
如下回答。
“從高特權級跳轉到低特權級”只能用ret語句來實現麼?
可以使用任務切換的方式,或者 iret 指令
-
對,我忽略了“任務切換”,如果我沒有理解錯,“任務切換”可以從一個任務的任何特權級轉移到另一個任務的任何特權級,不知道我說的對不對?
-
如果不考慮“任務切換”的方式,“從高特權級跳轉到低特權級只能用ret或iret來實現”這句話對不對?
麻煩解答,先謝謝了。
1 yes
2 常規是這樣