日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

x86中的页表结构和页表项格式

發(fā)布時(shí)間:2025/6/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 x86中的页表结构和页表项格式 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文鏈接:https://www.cnblogs.com/vinozly/p/5703215.html

一、頁(yè)表結(jié)構(gòu) 分頁(yè)轉(zhuǎn)換功能由駐留在內(nèi)存中的表來(lái)描述,該表稱為頁(yè)表(page table),存放在物理地址空間中。頁(yè)表可看做簡(jiǎn)單的220個(gè)物理地址數(shù)組。線性到物理地址的映射功能可以簡(jiǎn)單地看做進(jìn)行數(shù)組查找。線性地址的高20位構(gòu)成這個(gè)數(shù)組的索引值,用于選擇對(duì)應(yīng)頁(yè)面的物理(基)地址。線性地址的低12位給出了頁(yè)面中的偏移量,加上頁(yè)面的基地址最終形成對(duì)應(yīng)的物理地址。由于頁(yè)面基地址對(duì)齊在4K邊界上,因此頁(yè)面基地址的低12位肯定是0。這意味著高20位的頁(yè)面基地址和12位偏移量連接組合在一起就能得到對(duì)應(yīng)的物理地址。 頁(yè)表中每個(gè)頁(yè)表項(xiàng)的大小為32位。由于只需要其中的20位來(lái)存放頁(yè)面的物理基地址,因此剩下的12位可用于存放諸如頁(yè)面是否存在等的屬性信息。如果線性地址索引的頁(yè)表項(xiàng)被標(biāo)注為存在的,則表示該項(xiàng)有效,我們可以從中取得頁(yè)面的物理地址。如果頁(yè)表項(xiàng)中信息表明(說(shuō)明、指明)頁(yè)不存在,那么當(dāng)訪問(wèn)對(duì)應(yīng)物理頁(yè)面時(shí)就會(huì)產(chǎn)生一個(gè)異常。 1.兩級(jí)頁(yè)表結(jié)構(gòu) 頁(yè)表含有220(1M)個(gè)表項(xiàng),而每項(xiàng)占用4B。如果作為一個(gè)表來(lái)存放的話,它們最多將占用4MB的內(nèi)存。因此為了減少內(nèi)存占用量,80x86使用了兩級(jí)表。由此,高20位線性地址到物理地址的轉(zhuǎn)換也被分成兩步來(lái)進(jìn)行,每步使用(轉(zhuǎn)換)其中的10bit。 第一級(jí)表稱為頁(yè)目錄(page directory)。它被存放在1頁(yè)4K頁(yè)面中,具有210(1K)個(gè)4B長(zhǎng)度的表項(xiàng)。這些表項(xiàng)指向?qū)?yīng)的二級(jí)表。線性地址的最高10位(位31~22)用作一級(jí)表(頁(yè)目錄)中的索引值來(lái)選擇210個(gè)二級(jí)表之一。 第二級(jí)表稱為頁(yè)表(page table),它的長(zhǎng)度也是1個(gè)頁(yè)面,最多含有1K個(gè)4B的表項(xiàng)。每個(gè)4B表項(xiàng)含有相關(guān)頁(yè)面的20位物理基地址。二級(jí)頁(yè)表使用線性地址中間10位(位21~12)作為表項(xiàng)索引值,以獲取含有頁(yè)面20位物理基地址的表項(xiàng)。該20位頁(yè)面物理基地址和線性地址中的低12位(頁(yè)內(nèi)偏移)組合在一起就得到了分頁(yè)轉(zhuǎn)換過(guò)程的輸出值,即對(duì)應(yīng)的最終物理地址。 圖4-17給出了二級(jí)表的查找過(guò)程。其中CR3寄存器指定頁(yè)目錄表的基地址。線性地址的高10位用于索引這個(gè)頁(yè)目錄表,以獲得指向相關(guān)第二級(jí)頁(yè)表的指針。線性地址中間10位用于索引二級(jí)頁(yè)表,以獲得物理地址的高20位。線性地址的低12位直接作為物理地址低12位,從而組成一個(gè)完整的32位物理地址。
?
(點(diǎn)擊查看大圖)圖4-17? 線性地址和物理地址之間的變換
2.不存在的頁(yè)表 使用二級(jí)表結(jié)構(gòu),并沒(méi)有解決需要使用4MB內(nèi)存來(lái)存放頁(yè)表的問(wèn)題。實(shí)際上,我們把問(wèn)題搞得有些復(fù)雜了。因?yàn)槲覀冃枰碓鲆粋€(gè)頁(yè)面來(lái)存放目錄表。然而,二級(jí)表結(jié)構(gòu)允許頁(yè)表被分散在內(nèi)存各個(gè)頁(yè)面中,而不需要保存在連續(xù)的4MB內(nèi)存塊中。另外,并不需要為不存在的或線性地址空間未使用部分分配二級(jí)頁(yè)表。雖然目錄表頁(yè)面必須總是存在于物理內(nèi)存中,但是二級(jí)頁(yè)表可以在需要時(shí)再分配。這使得頁(yè)表結(jié)構(gòu)的大小對(duì)應(yīng)于實(shí)際使用的線性地址空間大小。 頁(yè)目錄表中每個(gè)表項(xiàng)也有一個(gè)存在(present)屬性,類似于頁(yè)表中的表項(xiàng)。頁(yè)目錄表項(xiàng)中的存在屬性指明對(duì)應(yīng)的二級(jí)頁(yè)表是否存在。如果目錄表項(xiàng)指明對(duì)應(yīng)的二級(jí)頁(yè)表存在,那么通過(guò)訪問(wèn)二級(jí)表,表查找過(guò)程第2步將同如上描述繼續(xù)下去。如果存在位表明對(duì)應(yīng)的二級(jí)表不存在,那么處理器就會(huì)產(chǎn)生一個(gè)異常來(lái)通知操作系統(tǒng)。頁(yè)目錄表項(xiàng)中的存在屬性使得操作系統(tǒng)可以根據(jù)實(shí)際使用的線性地址范圍來(lái)分配二級(jí)頁(yè)表頁(yè)面。 目錄表項(xiàng)中的存在位還可以用于在虛擬內(nèi)存中存放二級(jí)頁(yè)表。這意味著在任何時(shí)候只有部分二級(jí)頁(yè)表需要存放在物理內(nèi)存中,而其余的可保存在磁盤上。處于物理內(nèi)存中頁(yè)表對(duì)應(yīng)的頁(yè)目錄項(xiàng)將被標(biāo)注為存在,以表明可用它們進(jìn)行分頁(yè)轉(zhuǎn)換。處于磁盤上的頁(yè)表對(duì)應(yīng)的頁(yè)目錄項(xiàng)將被標(biāo)注為不存在。由于二級(jí)頁(yè)表不存在而引發(fā)的異常會(huì)通知操作系統(tǒng)把缺少的頁(yè)表從磁盤上加載進(jìn)物理內(nèi)存。把頁(yè)表存儲(chǔ)在虛擬內(nèi)存中減少了保存分頁(yè)轉(zhuǎn)換表所需要的物理內(nèi)存量。 二、頁(yè)表項(xiàng)格式 頁(yè)目錄和頁(yè)表的表項(xiàng)格式如圖4-18所示。其中位31~12含有物理地址的高20位,用于定位物理地址空間中一個(gè)頁(yè)面(也稱為頁(yè)幀)的物理基地址。表項(xiàng)的低12位含有頁(yè)屬性信息。前文已經(jīng)討論過(guò)存在屬性,這里簡(jiǎn)要說(shuō)明其余屬性的功能和用途。
?
(點(diǎn)擊查看大圖)圖4-18? 頁(yè)目錄和頁(yè)表的表項(xiàng)格式
P--位0是存在(Present)標(biāo)志,用于指明表項(xiàng)對(duì)地址轉(zhuǎn)換是否有效。P=1表示有效;P=0表示無(wú)效。在頁(yè)轉(zhuǎn)換過(guò)程中,如果說(shuō)涉及的頁(yè)目錄或頁(yè)表的表項(xiàng)無(wú)效,則會(huì)導(dǎo)致一個(gè)異常。如果P=0,那么除表示表項(xiàng)無(wú)效外,其余位可供程序自由使用,如圖4-18b所示。例如,操作系統(tǒng)可以使用這些位來(lái)保存已存儲(chǔ)在磁盤上的頁(yè)面的序號(hào)。 R/W--位1是讀/寫(Read/Write)標(biāo)志。如果等于1,表示頁(yè)面可以被讀、寫或執(zhí)行。如果為0,表示頁(yè)面只讀或可執(zhí)行。當(dāng)處理器運(yùn)行在超級(jí)用戶特權(quán)級(jí)(級(jí)別0、1或2)時(shí),則R/W位不起作用。頁(yè)目錄項(xiàng)中的R/W位對(duì)其所映射的所有頁(yè)面起作用。 U/S--位2是用戶/超級(jí)用戶(User/Supervisor)標(biāo)志。如果為1,那么運(yùn)行在任何特權(quán)級(jí)上的程序都可以訪問(wèn)該頁(yè)面。如果為0,那么頁(yè)面只能被運(yùn)行在超級(jí)用戶特權(quán)級(jí)(0、1或2)上的程序訪問(wèn)。頁(yè)目錄項(xiàng)中的U/S位對(duì)其所映射的所有頁(yè)面起作用。 A--位5是已訪問(wèn)(Accessed)標(biāo)志。當(dāng)處理器訪問(wèn)頁(yè)表項(xiàng)映射的頁(yè)面時(shí),頁(yè)表表項(xiàng)的這個(gè)標(biāo)志就會(huì)被置為1。當(dāng)處理器訪問(wèn)頁(yè)目錄表項(xiàng)映射的任何頁(yè)面時(shí),頁(yè)目錄表項(xiàng)的這個(gè)標(biāo)志就會(huì)被置為1。處理器只負(fù)責(zé)設(shè)置該標(biāo)志,操作系統(tǒng)可通過(guò)定期地復(fù)位該標(biāo)志來(lái)統(tǒng)計(jì)頁(yè)面的使用情況。 D--位6是頁(yè)面已被修改(Dirty)標(biāo)志。當(dāng)處理器對(duì)一個(gè)頁(yè)面執(zhí)行寫操作時(shí),就會(huì)設(shè)置對(duì)應(yīng)頁(yè)表表項(xiàng)的D標(biāo)志。處理器并不會(huì)修改頁(yè)目錄項(xiàng)中的D標(biāo)志。 AVL--該字段保留專供程序使用。處理器不會(huì)修改這幾位,以后的升級(jí)處理器也不會(huì)。
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的x86中的页表结构和页表项格式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费在线观看av的网站 | 欧美韩一区 | 肥臀熟女一区二区三区 | 欧美性精品 | 久久国产亚洲精品无码 | 精品自拍第一页 | 草草影院一区二区三区 | 人妖干美女| 美女视频在线观看免费 | 偷自在线| 成人免费在线网址 | 国产情侣免费视频 | 国产在线精品一区 | www四虎精品视频免费网站 | 欧美人体一区二区三区 | 日韩国产欧美一区二区三区 | 国产精品爽爽久久久久久 | 91亚洲精品在线观看 | 国内精品人妻无码久久久影院蜜桃 | 永久免费看成人av的动态图 | 又黄又免费的网站 | 黄色成人小视频 | 深夜久久久 | 五月婷婷开心 | 中文字幕第66页 | 伊人网狼人 | 俺也去婷婷 | 99er这里只有精品 | 少妇熟女视频一区二区三区 | 六月综合| 激情综合六月 | 国产精品夜夜 | 亚洲美女中文字幕 | 国产青青草视频 | 91久久久久久久 | 中文字幕a级片 | 欧美精品一区二区三区久久久 | 91视频首页 | 日日爱影视 | 在线观看视频91 | 91欧美一区二区三区 | 青青青在线视频免费观看 | 青青青在线观看视频 | 搡8o老女人老妇人老熟 | 久热免费在线视频 | 中国毛片网站 | av免费播放网站 | 草草视频网站 | 日韩人妻无码精品久久免费 | 国产亚洲精品久久久久久 | 亚洲你懂的 | 日日噜噜噜夜夜爽爽狠狠 | 97日韩精品 | 日韩精品视频在线观看网站 | 精品一性一色一乱农村 | 中文字幕天堂在线 | 亚洲精选一区二区 | 美美女高清毛片视频免费观看 | 午夜操操 | 漂亮少妇高潮午夜精品 | 成人综合av| 91精品人妻一区二区三区果冻 | 在线观看不卡av | 茄子爱啪啪 | 国产一级片一区二区 | 69xx免费视频| 亚洲一区二区三区四区在线观看 | 岛国一区 | 热@国产 | 国产成人无码精品亚洲 | 欧美日韩四区 | 久久国产精品视频 | 伊人av在线播放 | 美女扒开尿口来摸 | 亚洲免费在线看 | 成人精品免费网站 | 日韩六九视频 | 中文字幕一区二区免费 | 久久久久久久久久久av | 日本在线色 | 波多野结衣av在线播放 | 看免费一级片 | 天天操天天射天天爱 | 国产亚洲精品久久久久四川人 | 一区二区三区毛片 | 色诱av| 国产又色又爽又黄的 | 91精品国产99久久久久久 | 激情九月婷婷 | 天天爽影院 | 加勒比在线免费视频 | 91av官网| 嫩草一区| 日韩成人福利视频 | 日本女v片 | 亚洲最大av网 | jizz免费视频 | 成人涩涩 | 美女一区二区视频 |