CPU何時以及如何從內核模式切換到用戶模式在X86上:它究竟做了什麼?它如何使這種轉變?在X86上從內核模式切換到用戶模式的CPU:何時和如何?
2
A
回答
2
iret
是否這樣做。看到代碼here(INTERRUPT_RETURN宏)
4
在x86保護模式中,該CPU執行在當前的特權級別由CS
寄存器(段選擇的RPL
字段)的兩個最低顯著位控制。
所以從內核模式(CPL=0)
到用戶模式(CPL=3)
通過與用戶模式的一個替代內核模式CS值來完成的。有很多方法可以做到這一點,但一個典型的一個是IRET
指令開關,該開關從棧中彈出EIP
,CS
和EFLAGS
寄存器。
相關問題
- 1. 如何從用戶模式切換到內核模式?
- 2. 從用戶模式切換到內核模式
- 3. 上下文切換和內核模式
- 4. 內核/用戶模式下的CPU
- 5. Linux內核如何在用戶模式和內核模式堆棧之間切換?
- 6. 在WindowsNT(最新x86版本,Vista和Win7)下從用戶切換到內核模式時,線程會做什麼?
- 7. 如何從用戶模式調用/掛鉤內核模式API?
- 8. 切換到(Linux)內核模式
- 9. 如何在PowerShell中獲取內核模式時間和用戶模式時間?
- 10. 如何從Windows內核模式啓動用戶模式程序
- 11. 將IIS從經典模式切換到集成模式時鎖定和高CPU
- 12. 內核如何知道CPU是處於用戶模式還是kenel模式?
- 13. 如何在caffe中的GPU模式和CPU模式之間切換?
- 14. 如何在VC++中將信息從內核模式傳遞到用戶模式?
- 15. X86切換到32位保護模式
- 16. 發送從內核模式價值到用戶模式
- 17. 用戶模式和內核模式之間的共享內存
- 18. 如何做混合用戶模式/內核模式調試?
- 19. Windows如何實現用戶模式/內核模式?
- 20. 用戶模式和內核模式爲用戶提供保護?
- 21. 如何使隊列從FIFO模式切換到優先模式?
- 22. 在內核3.8中,當kernel_execve被刪除時,第一個用戶進程如何切換到用戶模式
- 23. 如何:在用戶模式和內核模式之間做2路通信
- 24. 用戶到內核模式的大圖?
- 25. x86從實模式切換到保護模式CPL(當前權限級別)
- 26. 使用iret切換到用戶模式
- 27. 從內核模式執行用戶模式可執行文件
- 28. 特權模式,內核模式和超級用戶模式之間的區別
- 29. 內核模式和用戶模式驅動程序
- 30. 爲什麼系統調用需要切換到內核模式?
請的關鍵點添加到您的信息,這樣當鏈路中斷這個答案仍然是有用的。帖子這裏需要站在自己的,與鏈接爲補充參考信息 – Kevin
該鏈接指向最新的Linux內核源代碼,它不再提及所提及的文件,您可以使用特定版本更新它嗎? – bew