亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學習啦>學習電腦>網(wǎng)絡知識>網(wǎng)絡基礎知識>

      物理地址與虛擬地址怎么轉(zhuǎn)換

      時間: 春健736 分享

        MAC(Media Access Control或者Medium Access Control)地址,意譯為媒體訪問控制,或稱為物理地址、硬件地址,用來定義網(wǎng)絡設備的位置。今天學習啦小編給大家介紹一下物理地址虛擬地址轉(zhuǎn)換。供大家參考!

        物理地址虛擬地址轉(zhuǎn)換參考如下

        物理地址按照頁來分配成很多不同的頁,每個頁有頁號

        有的頁里存放的是頁表,有的頁里存放的是可以寫的內(nèi)存

        每個頁的大小是4KB,32位機器有2^32個地址

        因此有2^32/2^21=2^20個頁號,即2的20次方個虛擬頁

        物理地址也按照4K來分,但是物理地址一般沒有4G大小

        |*****4K*****| 第0項

        |*****4K*****| 第1項

        |*****4K*****| 第2項

        |*****4K*****| 第3項

        |*****4K*****| 第4項

        ...

        ......

        ARM的虛擬地址和物理地址的轉(zhuǎn)換

        比如按照10 10 12來劃分

        10位 10位 12位

        |0000000010| - |0000000010| - |00000000010|

        | 2 | | 2 | | 2 |

        按照劃分,首先虛擬地址向右便宜22位的到,第一級(首級)頁表項

        為數(shù)值2.

        然后根據(jù)全局唯一的地址,即首級頁表的存放地址,這部分是連續(xù)的。

        比如地址是第0XFF00 00FF

        則可以得到第一級頁表內(nèi)存放的內(nèi)容:

        即讀取0XFF00 00FF + 2*4k這個物理地址中的內(nèi)容,其中分為12bit+20bit

        后面20bit表示了第二級頁表所在的物理頁,為什么用20bit,因為一共有20bit

        個物理頁,比如得到的值是3,則這個第二級頁表的的物理地址是4k*3,然后

        看第二個10位,即二級頁表的頁內(nèi)便宜,得到的是2,則可以得到第二級頁表的

        物理得只是4k*3 + 2,然后讀取(4k * 3) + 2中的值,32位,其中20位表示了

        第三級頁表的物理地址,比如是0x0000 FF00,然后讀取后12位的值,即2

        則得到在第0x0000 ff00這個頁表中的第2位,從而得到物理地址。

        頁表最多占用多少內(nèi)存?

        2^10個32位 2^10個32位 + 2^12個32位

        即2^11 + 2^12 = 2kb + 4kb = 6kb

        如果不采用2級頁表的話

        那么有2^20次方個頁表項,需要2^20次方個32位,即2^10kb=2MB

        2MB也不是很大,可是在linux下,每個進程有自己的獨立頁表,

        那每個進程一上來就分配2MB,這樣的開銷很大。

        因此多級頁表,主要是靈活,而且節(jié)省空間,每個32bit中有12bit的狀態(tài)位

        表示了頁表的各種狀態(tài)。

        已知一個虛擬地址0x01AF5518, 則轉(zhuǎn)換的過程如下:

        注意: *這里討論的以Windows下普通模式分頁的情況, 也就是2級頁表的情況*

        1.首先把虛擬地址拆分成3個部分(低12位, 中10位, 高10位), 換成2進制如下:

        -> 0000 0001 1010 1111 0101 0101 0001 1000

        按照10, 10, 12的位數(shù)重新排列后

        -> (頁目錄索引)00 000 00110, (頁表項索引)10 1111 0101, (偏移)0101 0001 1000

        換算成十六進制后可以得到如下結(jié)果

        頁目錄索引 = 6, 頁表項索引 = 0x2f5 , 偏移 = 0x518

        2. 根據(jù)當前的CR3寄存器中的物理地址定位頁目錄表基址

        Cr3中存放的是物理地址, 這個物理地址指向進程的頁目錄表基址, 由此可以得到

        頁目錄表基址(PDE) = Cr3 = 0xAA0E5000

        3. 計算頁表項的地址

        頁表地址存放在頁目錄表(PDE)中的第6個項目中, 也就是

        [0xAA0E5000 + 4 * 6] = [0xAA0E5018] = 0x3D955867, 其中0x00000867為該頁表屬性值, PTE = 0x3D955000

        3. 計算頁面物理地址

        我們要找的頁面在這個頁表中的第0x2f5項, 所以虛擬地址所在的頁的物理地址為

        [0x3D955000 + 0x2f5 * 4] = [0x3D955BD4] =

        假設[0x3D955BD4] = 0x7095e847, 頁面的物理地址 x0x7095e000, 0x00000847表示的是頁面屬性

        4. 計算最終的物理地址

        由虛擬地址分離的偏移可以計算出最終的物理地址為

        0x7095E000 + 0x00000518 = 0x7095E518.

        學習啦小編介紹了物理地址虛擬地址轉(zhuǎn)換的相關(guān)知識,希望你喜歡。

      物理地址與虛擬地址怎么轉(zhuǎn)換

      MAC(Media Access Control或者Medium Access Control)地址,意譯為媒體訪問控制,或稱為物理地址、硬件地址,用來定義網(wǎng)絡設備的位置。今天學習啦小編給大家介紹一下物理地址虛擬地址轉(zhuǎn)換。供大家參考! 物理地址虛擬地址轉(zhuǎn)換參考如下 物
      推薦度:
      點擊下載文檔文檔為doc格式

      精選文章

      • 物理地址與虛擬地址映射
        物理地址與虛擬地址映射

        MAC(Media Access Control或者Medium Access Control)地址,意譯為媒體訪問控制,或稱為物理地址、硬件地址,用來定義網(wǎng)絡設備的位置。今天學習啦小編給大家介紹一

      • 物理地址修改軟件
        物理地址修改軟件

        MAC(Media Access Control或者Medium Access Control)地址,意譯為媒體訪問控制,或稱為物理地址、硬件地址,用來定義網(wǎng)絡設備的位置。那么物理地址怎么修改?今天

      • 物理地址修改器apk
        物理地址修改器apk

        MAC(Media Access Control或者Medium Access Control)地址,意譯為媒體訪問控制,或稱為物理地址、硬件地址,用來定義網(wǎng)絡設備的位置。那么物理地址怎么修改?今天

      • 物理地址修改工具
        物理地址修改工具

        MAC(Media Access Control或者Medium Access Control)地址,意譯為媒體訪問控制,或稱為物理地址、硬件地址,用來定義網(wǎng)絡設備的位置。那么物理地址怎么修改?今天

      579981