青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

巢穴

about:blank

linux內(nèi)核情景分析筆記-存儲(chǔ)管理

第2章 存儲(chǔ)管理
LINUX頁(yè)式管理
PGD          PMD          PT        PTE
頁(yè)表目標(biāo)     中間目錄     頁(yè)表     頁(yè)表項(xiàng)

LINUX在32位地址下采取二層映射
#define PGDIR_SHIFT 22
#define PTRS_PER_PGD 1024

#define PMD_SHIFT 22
#define PTRS_PER_PMD 1

#define PTRS_PER_PTE 1024
根據(jù)以上宏定義,PMD被完美的架空了,而相當(dāng)于采取了二層映射

其中PGD用了線性地址的最高10位 與  MMU 對(duì)應(yīng)
線性地址的中間10位是所對(duì)應(yīng)的PTE在PT中的索引
剩下的最低12位則是頁(yè)中的偏移量

虛擬地址 = 段基地址:段偏移量
                            16位      32位
更準(zhǔn)確的講是段選擇子了吧

在LINUX中段基地址 = 0(下面的____KERNEL_CS等),所以可以認(rèn)為線性地址與虛擬地址總是相等的,但其本質(zhì)不是一個(gè)東西


0xC0000000-0xFFFFFFFF為內(nèi)核占用
0x0-0xBFFFFFFF為用戶控件


內(nèi)核的虛擬內(nèi)存為簡(jiǎn)單的線性映射
#__PAGE_OFFSET (0xC0000000)
#define PAGE_OFFSET  ((unsigned long) __PAGE_OFFSET)
#define __pa(x) ((unsigned long)(x) - PAGE_OFFSET)
#define __va(x) ((void *)((unsigned long)(x) +PAGE_OFFSET)

__pa是從虛擬地址轉(zhuǎn)換成物理地址
__va是從物理地址轉(zhuǎn)換成虛擬地址


在GDT中有4個(gè)段描述符
其索引是2-5
分別是
__KERNEL_CS 內(nèi)核代碼段
__KERNEL_DS 內(nèi)核數(shù)據(jù)段
__USER_CS 用戶代碼段
__USER_DS 用戶數(shù)據(jù)段

#define start_thread(regs,new_eip,new_esp) do {\
 __asm__("movl %0,%%fs;movl %0,%%gs"::"r"(0)); \
 set_fs(USER_DS);
 regs->xds = __USER_DS; \
 regs->xes = __USER_DS; \
 regs->xss = __USER_DS; \
 regs->xcs = __USER_CS; \
 regs->eip = new_eip;   \
 regs->esp = new_esp;   \

}while(0)

通過(guò)這段宏可以看出,LINUX沒(méi)用段式存儲(chǔ),雖然它也走了這個(gè)流程

 

MMU的流程 MMU使用物理地址

頁(yè)式映射
從REG CR3拿PGD的地址
找到頁(yè)面目錄,線性地址中的高10位為索引,找到頁(yè)面目錄項(xiàng),從中拿高20位作為頁(yè)面表的索引,頁(yè)面表與4k字節(jié)邊界對(duì)齊,CPU自動(dòng)補(bǔ)充前12位為0得到頁(yè)面表地址。

然后拿線性地址的中間10位,得到頁(yè)面表中的索引,拿到頁(yè)面表項(xiàng),頁(yè)面表項(xiàng)的高20位在低位補(bǔ)充12個(gè)0,再加上線性地址的低12位組成物理地址。


mm_struct 任務(wù)相關(guān)的虛擬內(nèi)存
vm_area_struct 一段虛擬內(nèi)存的抽象,也可以理解為段
mm_struct中擁有vm_area_struct的指針
在vm_area_struct多的時(shí)候使用avl樹來(lái)存儲(chǔ)
mem_map_t  物理頁(yè)表
zone_struct 物理內(nèi)存的區(qū)結(jié)構(gòu),zone_struct把物理內(nèi)存分成了幾個(gè)部分
ZONE_DMA 0 供DMA使用
ZONE_NORMAL 普通使用
ZONE_HIGHMEN 高段內(nèi)存,內(nèi)核映射不到

物理內(nèi)存之間區(qū)的劃分并不是強(qiáng)制的,如果某一個(gè)區(qū)已經(jīng)沒(méi)有內(nèi)存可用,是可以去別的區(qū)拿內(nèi)存的

其實(shí)一直對(duì)內(nèi)核的尋址有些疑問(wèn)
不過(guò)剛剛似乎想通了
內(nèi)核會(huì)做預(yù)映射,把PGD第768項(xiàng)以后的都做映射,也就是1G的空間
而這種映射應(yīng)該是滿足__pa()宏,即線性地址與物理地址是線性映射的。
所以最終__pa()宏被用作在內(nèi)核代碼中顯性的獲得某個(gè)線性地址所對(duì)應(yīng)的物理地址
而MMU負(fù)責(zé)把一個(gè)線性地址隱式的轉(zhuǎn)成了物理地址,而這已轉(zhuǎn)換與內(nèi)核代碼無(wú)關(guān)。
不知這樣理解是否正確?

今天只看到了這里
待續(xù)……

說(shuō)起來(lái)把這么個(gè)東西放到首頁(yè)很不好意思,主要目的是希望有看到的人幫我指正一下我所認(rèn)知的錯(cuò)誤或者解惑。謝謝啦:)

posted on 2011-03-15 17:47 Vincent 閱讀(1691) 評(píng)論(0)  編輯 收藏 引用 所屬分類: linux內(nèi)核


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲五月婷婷| 亚洲国产黄色| 久久成人免费电影| 99热在这里有精品免费| 免费欧美视频| 久久久久国产精品人| 一区二区三区欧美视频| 亚洲人www| 黄色一区二区在线观看| 国产麻豆成人精品| 国产精品成人一区二区三区夜夜夜| 久久久久久亚洲精品杨幂换脸| 欧美高清视频免费观看| 久久精品成人| 午夜精品在线视频| 羞羞视频在线观看欧美| 亚洲女性喷水在线观看一区| 亚洲深夜福利视频| 亚洲欧美另类在线| 男人的天堂亚洲在线| 亚洲欧美综合另类中字| 亚洲欧美日韩国产| 久久久精品一区二区三区| 久久女同互慰一区二区三区| 亚洲一区二区欧美日韩| 亚洲激情成人| 日韩系列在线| 欧美日韩国产黄| 久久都是精品| 欧美精品久久久久久久久老牛影院 | 一区视频在线看| 国产欧美日韩一区二区三区在线 | 国产精品国码视频| 欧美午夜精品久久久久久浪潮| 一本久久a久久精品亚洲| 日韩视频一区| 亚洲午夜免费视频| 99国内精品久久| 性欧美1819性猛交| 欧美99久久| 国产精品久久久久秋霞鲁丝| 欧美精品午夜| 国产偷自视频区视频一区二区| 欧美第一黄色网| 欧美华人在线视频| 国产热re99久久6国产精品| 亚洲第一页在线| 国产日韩欧美精品综合| 亚洲国产一区二区三区高清| 国产亚洲aⅴaaaaaa毛片| 亚洲人成在线播放| 国产一级一区二区| 久久噜噜噜精品国产亚洲综合| 亚洲一区二区伦理| 国产精品毛片a∨一区二区三区| 亚洲一级片在线看| 欧美资源在线观看| 欧美激情视频免费观看| 国产一区观看| 一本色道久久综合亚洲精品小说 | 亚洲人妖在线| 性视频1819p久久| 91久久久在线| 久久精品一区四区| 国产精品影院在线观看| 日韩一级大片在线| 免费观看日韩| 久久精品亚洲| 久久久在线视频| 久久免费高清| 欧美日韩一区二区三区在线观看免 | 国产精品九九久久久久久久| 欧美激情区在线播放| 亚洲一级黄色| 欧美午夜精品久久久| 欧美va日韩va| 欧美日韩在线一区二区| 亚洲一级片在线观看| 香蕉乱码成人久久天堂爱免费 | 欧美激情一区二区三区全黄| 日韩亚洲综合在线| 欧美国产综合| 亚洲国产日韩一区| 亚洲国产精品久久| 乱码第一页成人| 亚洲美女视频在线免费观看| 欧美成人综合在线| 欧美成人精品在线播放| 欧美黄色视屏| 国产精品免费看| 亚洲在线成人精品| 欧美www在线| 国产精品国产三级国产aⅴ9色| 欧美激情按摩| 亚洲视频一区二区| 亚洲色图综合久久| 国精品一区二区| 免费国产一区二区| 欧美女同在线视频| 亚洲综合成人在线| 久久精品久久99精品久久| 一区二区三区在线看| 欧美激情国产高清| 欧美日本不卡高清| 久久久国产成人精品| 久久午夜精品| 9色国产精品| 日韩亚洲欧美一区| 欧美人与性动交α欧美精品济南到 | 亚洲精品一区二区三区婷婷月| 亚洲激情第一页| av成人激情| 国产午夜精品一区二区三区视频| 亚洲伦理自拍| 在线视频日韩精品| 欧美 日韩 国产一区二区在线视频| 国产三区二区一区久久| 久久综合久色欧美综合狠狠| 一区二区av| 国产伊人精品| 一区二区三区国产盗摄| 狠色狠色综合久久| 亚洲欧美日韩第一区| 91久久综合亚洲鲁鲁五月天| 亚洲欧美成人| 亚洲国产精品尤物yw在线观看| 欧美在线免费观看视频| 欧美在线精品免播放器视频| 亚洲自拍偷拍视频| 欧美凹凸一区二区三区视频| 久久久久久精| 欧美午夜精品久久久久久超碰| 亚洲天堂av高清| 欧美在线国产精品| 欧美精品一区二区精品网| 乱人伦精品视频在线观看| 免费不卡亚洲欧美| 美女尤物久久精品| 欧美日韩一区二区三区| 亚洲三级国产| 黄色精品一二区| 欧美在线播放视频| 午夜精品福利在线观看| 欧美亚洲成人免费| 亚洲高清三级视频| 亚洲激情电影在线| 国产精品99久久久久久人 | 日韩视频在线观看免费| 国产精品久久久久久久久久ktv | 韩国女主播一区| 99xxxx成人网| 亚洲一级高清| 欧美性事在线| 亚洲欧美在线x视频| 日韩视频一区二区三区在线播放| 亚洲免费福利视频| 亚洲国产精品久久久久婷婷老年 | 欧美日韩国产成人| 久久久久久夜精品精品免费| 国产精品久久久久av免费| 亚洲影院色无极综合| 一区二区三区免费看| 欧美亚洲不卡| 在线一区二区三区做爰视频网站| 国产精品自在欧美一区| 中文网丁香综合网| 亚洲视频在线观看一区| 欧美日韩一区二区免费在线观看| 欧美在线视频一区二区| 国产精品v片在线观看不卡| 亚洲一区在线视频| 午夜综合激情| 久久久精品日韩欧美| 国产视频在线观看一区二区| 国产无一区二区| 鲁大师影院一区二区三区| 免费观看成人www动漫视频| 日韩午夜电影av| 欧美日韩国产综合久久| 午夜日韩av| 欧美大秀在线观看| 久久福利影视| 精品动漫av| 欧美婷婷在线| 亚洲综合色网站| 亚洲国产高清一区二区三区| 99国产精品久久久久久久久久| 一区二区av在线| 亚洲欧美视频| 国内精品久久久久久| 欧美成黄导航| 嫩草国产精品入口| 99re热精品| 欧美日韩精品三区| 亚洲男人第一av网站| 欧美高清视频| 午夜久久影院| 亚洲午夜高清视频| 一本色道久久加勒比88综合| 久久视频精品在线|