我目前正在瞭解OS內的虛擬內存。我最近了解到,訪問權限存儲在頁面表中,所以我想知道您是否可以修改自己的頁面表?硬件是否強制執行此保護?你可以修改你自己的頁面表(操作系統相關)嗎?
-1
A
回答
2
是的,你可以在一定程度上修改你的頁面表。大多數操作系統都有系統服務,允許您將頁面映射和取消映射到您的地址空間(從而修改您的頁面表)。
由於頁表總是存儲在系統地址空間中,並且訪問受限於內核模式,因此您必須修改內核模式下的頁表。這意味着通過在內核模式下執行的系統服務來完成它。
當然,您僅限於您可以通過系統服務進行修改的類型。
1
不,您(作爲用戶代碼)無法直接修改您的流程或任何其他流程的頁面表。
頁表由內核專門管理。它們存儲在未映射到用戶空間的物理內存中。
硬件(特別是MMU)強制執行此保護,就像它保護所有內核數據和代碼一樣。
相關問題
- 1. 你可以在F#中定義你自己的操作符嗎?
- 2. 你可以與系統表/視圖有關係嗎?
- 3. 你可以克隆Android操作系統映像嗎?
- 4. 你可以使用PySphere獲得客戶操作系統嗎?
- 5. 你可以在Drupal中創建你自己的鉤子嗎?
- 6. 你可以在你自己的服務器上運行jekyll嗎?
- 7. 你可以暫時禁用mongoid關係來滾動你自己的查詢
- 8. PHP朋友你自己系統錯誤
- 9. Phalcon你自己之間的關係?
- 10. Linux中進程可以修改自己的頁表項嗎?
- 11. 你可以在沒有操作系統的計算機上運行JVM嗎?
- 12. jquery - 你可以操縱頁面標題嗎?
- 13. 操作系統和操作系統如何更新自己?
- 14. 你能指點我最近的操作系統發展嗎?
- 15. 製作你自己的pow()
- 16. 你可以通過傳入你自己的函數來改變/重定向一個django表單的函數嗎?
- 17. 你可以在你自己的數據庫中使用ASP.NET成員資格嗎?
- 18. 你可以編寫你自己的Java隨機數發生器嗎?
- 19. 你可以爲你自己的應用程序使用二進制DLL嗎?
- 20. Python:製作你自己的報表
- 21. 初學者可以相對容易地修改的操作系統內核
- 22. 你可以創建自己的任務配置嗎?
- 23. 你可以在scala中編寫自己的存在方法嗎?
- 24. 可以用你自己的initWithFrame初始化一個類嗎?
- 25. 你可以從它自己的json對象調用數據嗎?
- 26. 你可以創建自己的JTA交易嗎?
- 27. 你可以在Python中引用自己的類嗎?
- 28. Tkinter:Listbox請表現你自己
- 29. 你可以將flickr圖像從php api存儲到你自己的mysql表中
- 30. 你可以切換操作員的邊+
如果您編寫自己的內核模塊,該怎麼辦? –
如果你編寫了一個內核模塊,那麼你就可以使用與內核本身相同的權限運行。 –