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

T9的空間

You will never walk alone!

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  69 隨筆 :: 0 文章 :: 28 評論 :: 0 Trackbacks
From Unix某論壇,忘記名字了...但這段文字從宏觀上講清楚了Linux Memory的構架。
1.
內核初始化:

    *
內核建立好內核頁目錄頁表數據庫,假設物理內存大小為len,則建立了[3G--3G+len]::[0--len]這樣的虛地址vaddr和物理地址paddr的線性對應關系;
    *
內核建立一個page數組,page數組和物理頁面系列完全是線性對應,page用來管理該物理頁面狀態,每個物理頁面的虛地址保存在page->virtual中;
    *
內核建立好一個free_list,將沒有使用的物理頁面對應的page放入其中,已經使用的就不用放入了;

2.
內核模塊申請內存vaddr = get_free_pages(mask,order)

    *
內存管理模塊從free_list找到一個page,將page->virtual作為返回值,該返回值就是對應物理頁面的虛地址;
    *
pagefree_list中脫離;
    *
模塊使用該虛擬地址操作對應的物理內存;

3.
內核模塊使用vaddr,例如執行指令mov(eax, vaddr)

    * CPU
獲得vaddr這個虛地址,利用建立好的頁目錄頁表數據庫,找到其對應的物理內存地址;
    *
eax的內容寫入vaddr對應的物理內存地址內;

4.
內核模塊釋放內存free_pages(vaddr,order)

    *
依據vaddr找到對應的page
    *
將該page加入到free_list中;

5.
用戶進程申請內存vaddr = malloc(size)

    *
內存管理模塊從用戶進程內存空間(0--3G)中找到一塊還沒使用的空間vm_area_struct(start--end)
    *
隨后將其插入到task->mm->mmap鏈表中;

6.
用戶進程寫入vaddr(0-3G),例如執行指令mov(eax, vaddr)

    * CPU
獲得vaddr這個虛地址,該虛地址應該已經由glibc庫設置好了,一定在3G一下的某個區域,根據CR3寄存器指向的current->pgd查當前進程的頁目錄頁表數據庫,發現該vaddr對應的頁目錄表項為0,故產生異常;
    *
在異常處理中,發現該vaddr對應的vm_area_struct已經存在,為vaddr對應的頁目錄表項分配一個頁表;
    *
隨后從free_list找到一個page,將該page對應的物理頁面物理首地址賦給vaddr對應的頁表表項,很明顯,此時的vaddrpaddr不是線性對應關系了;
    *
pagefree_list中脫離;
    *
異常處理返回;
    * CPU
重新執行剛剛發生異常的指令mov(eax, vaddr)
    * CPU
獲得vaddr這個虛地址,根據CR3寄存器指向的current->pgd,利用建立好的頁目錄頁表數據庫,找到其對應的物理內存地址;
    *
eax的內容寫入vaddr對應的物理內存地址內;  

7.
用戶進程釋放內存vaddrfree(vaddr)

    *
找到該vaddr所在的vm_area_struct
    *
找到vm_area_struct:start--end對應的所有頁目錄頁表項,清空對應的所有頁表項;
    *
釋放這些頁表項指向物理頁面所對應的page,并將這些page加入到free_list隊列中;
    *
有必要還會清空一些頁目錄表項,并釋放這些頁目錄表項指向的頁表;
    *
task->mm->mmap鏈中刪除該vm_area_struct并釋放掉;

綜合說明:

    *
可用物理內存就是free_list中各page對應的物理內存;
    *
頁目錄頁表數據庫的主要目的是為CPU訪問物理內存時轉換vaddr-->paddr使用,分配以及釋放內存時不會用到,但是需要內核內存管理系統在合適時機為CPU建立好該庫;
    *
對于用戶進程在6中獲得的物理頁面,有兩個頁表項對應,一個就是內核頁目錄頁表數據庫的某個pte[i ],一個就是當前進程內核頁目錄頁表數據庫的某個 pte[j],但是只有一個page和其對應。如果此時調度到其他進程,其他進程申請并訪問某個內存,則不會涉及到該物理頁面,因為其分配時首先要從 free_list中找一個page,而該物理頁面對應的page已經從free_list中脫離出來了,因此不存在該物理頁面被其他進程改寫操作的情況。內核中通過get_free_pages等方式獲取內存時,也不會涉及到該物理頁面,原理同前所述。
posted on 2013-12-09 17:42 Torres 閱讀(483) 評論(0)  編輯 收藏 引用 所屬分類: Useful information
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            裸体一区二区| 欧美精品在线观看播放| 欧美在线播放| 欧美三级午夜理伦三级中视频| 伊人久久婷婷色综合98网| 亚洲一本视频| 亚洲精品综合| 欧美日韩视频专区在线播放| 亚洲精品乱码久久久久久日本蜜臀 | 久久偷窥视频| 国产亚洲永久域名| 欧美一区二区日韩一区二区| 亚洲调教视频在线观看| 国产精品theporn88| 一区二区免费在线播放| 最新日韩av| 欧美激情中文字幕在线| 亚洲日本欧美在线| 亚洲精品日日夜夜| 欧美丝袜一区二区三区| 性做久久久久久久久| 亚洲欧美在线免费| 国产综合久久| 欧美88av| 欧美激情精品久久久久久| 一本色道久久综合精品竹菊 | 久久久国产成人精品| 国产一区二区三区日韩| 麻豆9191精品国产| 麻豆成人小视频| 日韩视频一区二区| 亚洲婷婷在线| 樱桃成人精品视频在线播放| 亚洲二区免费| 国产精品高潮久久| 欧美成人四级电影| 99精品视频一区| 麻豆精品视频| 久久福利电影| 亚洲激情在线观看视频免费| 亚洲国产欧美日韩另类综合| 欧美日韩亚洲一区二区三区| 亚洲日本欧美天堂| 国产精品第十页| 久久精品国产一区二区电影| 久久综合九色九九| 一个色综合导航| 翔田千里一区二区| 亚洲六月丁香色婷婷综合久久| 国产精品99久久久久久久女警| 国产一区亚洲| 日韩视频专区| 在线观看日韩| 亚洲一区亚洲二区| 亚洲人在线视频| 亚洲欧美日本视频在线观看| 亚洲国产精品成人综合色在线婷婷| 一二三区精品| 亚洲欧洲精品一区二区| 亚洲欧美另类国产| 亚洲精品亚洲人成人网| 欧美专区日韩专区| 亚洲欧美日韩精品在线| 欧美成人国产一区二区| 久久精品国产91精品亚洲| 欧美伦理视频网站| 美日韩在线观看| 国产农村妇女精品一二区| 亚洲区中文字幕| 在线免费不卡视频| 欧美在线一二三四区| 亚洲欧美文学| 欧美三级视频在线| 亚洲娇小video精品| 好吊色欧美一区二区三区四区| 一区二区欧美在线| 亚洲最新视频在线| 美女脱光内衣内裤视频久久影院 | 国产精品美女久久久久av超清| 亚洲高清免费在线| 有码中文亚洲精品| 欧美一区二区三区免费看 | 久久国产天堂福利天堂| 欧美一区二区福利在线| 国产精品二区在线观看| 亚洲精品国产系列| 亚洲精品久久久久久下一站 | 亚洲国产精品一区二区三区| 国内精品视频在线播放| 欧美亚洲免费在线| 欧美一区视频在线| 国产欧美激情| 欧美中文字幕第一页| 久久久欧美精品| 国产一区在线播放| 久久久另类综合| 欧美成人嫩草网站| 亚洲人www| 欧美—级a级欧美特级ar全黄| 久久国产主播| 性久久久久久久| 国产精品久久久免费| 亚洲少妇在线| 午夜免费久久久久| 国产日韩精品久久| 久久久久国色av免费观看性色| 免费不卡视频| 亚洲久久一区二区| 欧美日韩亚洲网| 亚洲午夜精品| 久久人人爽人人爽| 91久久国产综合久久91精品网站| 欧美成年人网站| av成人免费| 久久九九久精品国产免费直播 | 久久免费少妇高潮久久精品99| 伊人精品在线| 欧美久久电影| 新67194成人永久网站| 久久中文字幕一区二区三区| 亚洲国产精品综合| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 国产欧美亚洲精品| 久久伊人精品天天| 99re热这里只有精品免费视频| 午夜精品电影| 亚洲国产一区二区a毛片| 欧美视频在线播放| 久久久久久久久久久久久久一区 | 久久成年人视频| 亚洲第一在线综合在线| 欧美日韩一区视频| 久久夜色精品国产| 在线视频欧美一区| 久久中文字幕导航| 亚洲一区中文| 亚洲激情第一页| 国产亚洲成av人在线观看导航| 欧美高清在线一区| 久久成人国产精品| 亚洲天堂偷拍| 亚洲国产欧美精品| 久久久久久久成人| 亚洲在线观看免费视频| 亚洲成人资源| 国产日韩在线不卡| 国产精品v片在线观看不卡| 麻豆成人精品| 久久精品视频免费播放| 亚洲午夜一区| 亚洲美女av在线播放| 欧美国产激情| 久久综合99re88久久爱| 欧美一区二区视频观看视频| 亚洲色无码播放| 亚洲精品在线一区二区| 亚洲成色精品| 激情五月综合色婷婷一区二区| 国产精品外国| 国产精品一区二区视频| 欧美午夜欧美| 欧美三日本三级三级在线播放| 欧美激情一区二区三区不卡| 中文无字幕一区二区三区| 在线不卡中文字幕| 亚洲欧美视频一区| 日韩午夜在线观看视频| 欧美二区在线| 理论片一区二区在线| 欧美一区二区三区男人的天堂| 一本大道av伊人久久综合| 亚洲精品1区2区| 亚洲成在人线av| 亚洲国产精品电影在线观看| 在线欧美电影| 亚洲国产精品999| 精品不卡一区| 精品动漫3d一区二区三区免费| 国产女优一区| 国产一二三精品| 国内自拍视频一区二区三区| 国产一区二区三区黄| 国产一区二区三区最好精华液| 国产精品亚洲综合一区在线观看| 国产精品欧美久久| 国产欧美精品一区| 国产一区视频在线观看免费| 韩国一区二区在线观看| 亚洲第一主播视频| 日韩午夜在线观看视频| 中国女人久久久| 亚洲欧美日本国产有色| 欧美在线观看网站| 麻豆国产精品777777在线| 欧美成人中文| 日韩香蕉视频| 午夜欧美精品久久久久久久| 久久精品夜色噜噜亚洲a∨ | 欧美激情视频一区二区三区在线播放 | 亚洲一区二区在线看|