實體頁的屬性= PDE屬性& PTE屬性 (後12位)
4d404063
屬性含義
- P:有效位。0 表示目前表項無效。
- R/W: 0 表示隻讀。1表示可讀可寫。
- U/S::0 表示3特權級程式可通路,1表示隻能0、1、2特權級可通路。
- PWT、PCD、請看後面的填坑篇
- A::0 表示該頁未被通路,1表示已被通路。
- D::髒位。0表示該頁未寫過,1表示該頁被寫過。
- PS::隻存在于頁目錄。0表示這是4KB頁,指向一個頁表。1表示這是4MB大頁,直接指向實體頁。
- PAT:這個不管
- G:如果G位為1重新整理TLB時将不會重新整理PDE/PTE的G位為1的頁,G=1切換程序該PTE扔然有效(這裡學完TLB才能明白)
- 有效:由軟體控制的位,此位僅使用于多處理器系統,指明了可讀寫或隻讀
線性位址0為什麼不能通路呢?
沒有指定實體頁,指定實體頁就一定能通路嗎?
先看PDE與PTE的P位都為1才是有效的實體頁
-----------------------------------------------------------------------------
這段代碼試圖修改常量區的值,直接運作肯定會異常
但我們修改pde與pte的RW位為1後就可以将他成功修改
(紅色那我打錯了不用管)
----------------------------------------------------------------------------
修改U/S位讀高兩G記憶體
pde與pte的u/s位都改成0,執行