亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問板塊 發(fā)新帖
查看: 4820 | 回復(fù): 8
打印 上一主題 下一主題

頁(yè)目錄表中的頁(yè)框地址 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-05-15 17:51 |只看該作者 |倒序?yàn)g覽
請(qǐng)問:
  頁(yè)目錄表中的20位頁(yè)框地址是指線性地址還是指物理地址?
我的理解應(yīng)該是物理地址,不知對(duì)不對(duì)?

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2009-05-15 22:14 |只看該作者
原帖由 whoisliang 于 2009-5-15 17:51 發(fā)表
請(qǐng)問:
  頁(yè)目錄表中的20位頁(yè)框地址是指線性地址還是指物理地址?
我的理解應(yīng)該是物理地址,不知對(duì)不對(duì)?


頁(yè)目錄中的20位地址不是頁(yè)框地址 頁(yè)框就是指物理頁(yè)
用在這里不恰當(dāng)
頁(yè)目錄中的20位地址是線性地址
頁(yè)表項(xiàng)中的20位地址才是物理地址

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2009-05-16 00:37 |只看該作者

回復(fù) #2 eclipse_2 的帖子

程序編譯裝入內(nèi)存運(yùn)行時(shí),當(dāng)CPU尋址取數(shù)據(jù)時(shí),首先拿到的是邏輯地址,只不過因段選擇子(代碼段對(duì)應(yīng)CS,數(shù)據(jù)段對(duì)應(yīng)DS,內(nèi)核層和用戶層分別對(duì)應(yīng)頁(yè)目錄表中的某一表項(xiàng),頁(yè)目錄表基地址由CR3決定)對(duì)應(yīng)的是段地址為0,所以邏輯地址直接變成了線性地址,32位線性地址高10位指定頁(yè)表基地址,32位線性地址的中間10位指定頁(yè)表中的某一項(xiàng)(10位共有1024個(gè)表項(xiàng)),32位線性地址最后12位指定了頁(yè)表中某一項(xiàng)所對(duì)應(yīng)的內(nèi)存基址開始處以后的偏移(最多能有4K的偏移)。

以上我的理解應(yīng)該沒錯(cuò)(可能表達(dá)不一定很正確,但相信意思是正確的)。也就是說基本上邏輯地址可以理解成線性地址。而我們知道用戶層程序的地址<3G,內(nèi)核層>3G且<4G,編譯器應(yīng)該不可能知道,只是有一個(gè)缺省的0X40000000(不知有沒有記錯(cuò)具體數(shù)據(jù),反正是<3G)作為基址,具體裝入運(yùn)行時(shí)由裝入程序執(zhí)行裝入,很難理解裝入之后運(yùn)行時(shí)怎么保證第一段所述的取址不出問題?

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2009-05-18 23:35 |只看該作者

回復(fù) #2 eclipse_2 的帖子

如果是如你所說:線性地址,那么請(qǐng)問:有了頁(yè)目錄項(xiàng)的20位線性地址而沒有物理地址,到哪兒去找頁(yè)表呢?

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2009-05-19 03:36 |只看該作者
可以看下這里:http://linux.chinaunix.net/bbs/thread-919019-1-3.html

“32位線性地址高10位指定頁(yè)表基地址,”
錯(cuò)。PAGE TABLE的基地址在CPU的 CR3寄存器里。不過CR3里放的是虛擬地址還是物理地址呢?我覺得是虛擬地址。哪位大牛確認(rèn)下?

論壇徽章:
2
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:09
6 [報(bào)告]
發(fā)表于 2009-05-27 15:43 |只看該作者

回復(fù) #5 accessory 的帖子

CR3 用于保存頁(yè)目錄表頁(yè)面的物理地址,因此被稱為PDBR。由于目錄是頁(yè)對(duì)齊的,所以僅高20位有效,低12 位保留供更加高級(jí)的處理器使用。向CR3中裝入一個(gè)新值時(shí),低12位必須為0;但從 CR3中取值時(shí),低12位被忽略。每當(dāng)用MOV指令重置CR3的值時(shí),會(huì)導(dǎo)致分頁(yè)機(jī)制高速緩沖區(qū)的內(nèi)容無效,用此方法,可以在啟用分頁(yè)機(jī)制之前,即把PG 位置1之前,預(yù)先刷新分頁(yè)機(jī)制的高速緩存。CR3寄存器即使在CR0寄存器的PG位或PE位為0時(shí)也可裝入,如在實(shí)模式下也可設(shè)置CR3,以便進(jìn)行分頁(yè)機(jī)制的初始化。在任務(wù)切換時(shí),CR3要被改變,但是如果新任務(wù)中CR3的值與原任務(wù)中CR3的值相同,那么處理器不刷新分頁(yè)高速緩存,以便當(dāng)任務(wù)共享頁(yè)表時(shí)有較快的執(zhí)行速度

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2009-05-27 23:22 |只看該作者

回復(fù) #7 liujunwei1234 的帖子

明白,多謝

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2009-05-28 11:22 |只看該作者

回復(fù) #5 accessory 的帖子

你的整個(gè)理解都有問題:
1:CR3里存放的是頁(yè)目錄表的物理地址(見linux內(nèi)核完全剖析-P228-head.s)
2:32位線性地址的高10位,通過這10位在頁(yè)目錄表中的定位即頁(yè)目錄表項(xiàng)就能找到頁(yè)表的位置,線性地址的中10位定位了頁(yè)表中的頁(yè)表項(xiàng),由頁(yè)表項(xiàng)中的20位加上32位線性地址中的最后12位就形成的一個(gè)32位的物理地址.

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2009-05-28 22:05 |只看該作者
同意樓上, 我5樓的打錯(cuò)了.
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP