<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 403, comments - 310, trackbacks - 0, articles - 7
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    讀核筆記(6) - 虛擬存儲

    Posted on 2008-02-27 23:29 ZelluX 閱讀(696) 評論(4)  編輯  收藏 所屬分類: LinuxSystem

    本來想看完pagefault的處理的,不過實驗室有事情了,只能先把這一半放上來了。

    頁面的分配與回收使用了一個叫做buddy allocator的機(jī)制,kernelnewbies上的解釋
    The memory allocation scheme used in the kernel. A vector of lists of free pages is kept, ordered by the size of the chunk (in powers of two). When a chunk is allocated, it is removed from the relevant list. When a chunk is freed back to the free pages pool, it is placed in the relevant list, starting from the top. If it is physically contiguous with a present chunk, they are merged and placed in the list above (i.e. where the chunks are twice the size), and this operation percolates up the vector. As regions are merged whenever possible, this design helps to reduce memory fragmentation.

    首先在zone_struct{} 中保存了一個free_area_t數(shù)組,這個數(shù)組記錄了各種大小的空閑內(nèi)存塊的信息。
    include/linux/mmzone.h:


    free_area_struct {}

    頁面分配時,找到適合大小的free_area_struct{},然后從free_list中找有沒有空閑的內(nèi)存塊,如果沒有就找更大的free_area_struct{},因為大小都是2^n,很容易把大塊內(nèi)存拆開,一塊分配給請求,剩下的保存到對應(yīng)大小的隊列中。
    頁面回收時主要的問題是如何解決過多的內(nèi)存碎片。當(dāng)頁面塊被釋放時,先檢查是否有相同大小的相鄰空閑塊存在,如果有的話就結(jié)合起來(遞歸過程)。

    評論

    # re: 讀核筆記(6) - 虛擬存儲  回復(fù)  更多評論   

    2008-03-13 13:49 by Kommit
    來踩踩~~~

    # re: 讀核筆記(6) - 虛擬存儲  回復(fù)  更多評論   

    2008-03-13 14:37 by ZelluX
    @Kommit
    哇,版大 @.@

    # re: 讀核筆記(6) - 虛擬存儲  回復(fù)  更多評論   

    2008-03-14 13:53 by luohandsome
    page fault很有意思。尤其是exception table和fix code
    土問,你看的是ULK?

    # re: 讀核筆記(6) - 虛擬存儲  回復(fù)  更多評論   

    2008-03-14 16:25 by ZelluX
    @luohandsome
    看的是那本邊干邊學(xué),差不多兩星期沒看過了
    主站蜘蛛池模板: 中文字幕亚洲综合久久菠萝蜜 | 亚洲视频欧洲视频| 免费在线观看自拍性爱视频| 在线观看免费亚洲| 欧美激情综合亚洲一二区| 女人被男人躁的女爽免费视频| 亚洲免费视频播放| 成人免费男女视频网站慢动作| 亚洲一级毛片在线观| 中国在线观看免费国语版| 最新国产成人亚洲精品影院| 大学生a级毛片免费观看| 亚洲欧美国产国产一区二区三区| 日韩成全视频观看免费观看高清| 亚洲av日韩综合一区久热| 免费看一级做a爰片久久| 免费一级毛suv好看的国产网站| 亚洲精品麻豆av| 免费无码作爱视频| 亚洲黄色三级视频| 免费高清在线影片一区| 一区二区在线免费视频| 亚洲AV天天做在线观看| 99久久99这里只有免费费精品| xxx毛茸茸的亚洲| 免费人成视频在线观看不卡| 亚洲一区二区三区免费| 亚洲国产人成在线观看69网站 | 亚洲高清国产拍精品熟女| 亚洲成?Ⅴ人在线观看无码| 久久精品成人免费看| 亚洲精品亚洲人成在线播放| 国产免费卡一卡三卡乱码| 国产婷婷成人久久Av免费高清| 亚洲六月丁香婷婷综合| 亚洲午夜国产片在线观看| 91免费人成网站在线观看18| 色欲aⅴ亚洲情无码AV蜜桃| 久久亚洲综合色一区二区三区 | 亚洲综合国产一区二区三区| 最近最好最新2019中文字幕免费|