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

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

Chinaunix

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

[內(nèi)核入門(mén)] 請(qǐng)教物理頁(yè)面管理區(qū)結(jié)構(gòu)free_area[MAX_ORDER]成員 [復(fù)制鏈接]

論壇徽章:
2
雙魚(yú)座
日期:2014-05-10 15:58:14未羊
日期:2014-05-18 11:36:43
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2014-05-18 10:17 |只看該作者 |倒序?yàn)g覽
《Linux內(nèi)核源代碼情景分析》第44頁(yè):
因?yàn)槌3P枰伞皦K”地分配在物理空間內(nèi)連續(xù)的多個(gè)頁(yè)面,所以在zone_struct數(shù)據(jù)結(jié)構(gòu)中有一組“空閑區(qū)間”隊(duì)列(free_area[MAX_ORDER]),有連續(xù)長(zhǎng)度為1的離散頁(yè)面,也有連續(xù)長(zhǎng)度為2、4、8、...、2^MAX_ORDER的頁(yè)面塊,那麼請(qǐng)問(wèn)像圖中畫(huà)的,意思有沒(méi)有理解錯(cuò)?

空閑塊.png (2.92 KB, 下載次數(shù): 43)

空閑塊.png

論壇徽章:
9
辰龍
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辭舊歲徽章
日期:2015-03-03 16:54:1515-16賽季CBA聯(lián)賽之青島
日期:2016-03-13 23:37:1915-16賽季CBA聯(lián)賽之深圳
日期:2016-03-29 18:52:38
2 [報(bào)告]
發(fā)表于 2014-05-18 13:33 |只看該作者
回復(fù) 1# fireaway7

把相關(guān)的書(shū)的內(nèi)容拷過(guò)來(lái)吧。


   

論壇徽章:
2
雙魚(yú)座
日期:2014-05-10 15:58:14未羊
日期:2014-05-18 11:36:43
3 [報(bào)告]
發(fā)表于 2014-05-18 16:12 |只看該作者
書(shū)中完整的一段是這樣的:
每個(gè)管理區(qū)都有一個(gè)數(shù)據(jù)結(jié)構(gòu),即zone_struct數(shù)據(jù)結(jié)構(gòu)。在zone_struct數(shù)據(jù)結(jié)構(gòu)中有一組“空閑區(qū)間”(free_area_t)隊(duì)列。為什么是“一組”隊(duì)列,而不是“一個(gè)”隊(duì)列呢?這也是因?yàn)槌3P枰伞皦K”地分配在物理空間內(nèi)連續(xù)的多個(gè)頁(yè)面,所以要按塊的大小分別加以管理。因此,在管理區(qū)數(shù)據(jù)結(jié)構(gòu)中既要有一個(gè)隊(duì)列來(lái)保持一些離散(連續(xù)長(zhǎng)度為1)的物理頁(yè)面,還要有一個(gè)隊(duì)列來(lái)保持一些連續(xù)長(zhǎng)度為2的頁(yè)面塊以及連續(xù)長(zhǎng)度為4、8、16、……、直至2^MAX_ORDER的頁(yè)面塊。常數(shù)MAX_ORDER定義為10,也就是說(shuō)最大的連續(xù)頁(yè)面塊可以達(dá)到2^10=1024個(gè)頁(yè)面,即4M字節(jié)。這兩個(gè)數(shù)據(jù)結(jié)構(gòu)以及幾個(gè)常數(shù)都在文件include/linux/mmzone.h中定義的:

typedef struct free_area_struct {
    struct list_head free_list;
    unsigned int     *map;
} free_area_t;

typedef struct zone_struct {
    ......
    free_area_t free_area[MAX_ORDER];
    ......
} zone_t;


   

論壇徽章:
2
雙魚(yú)座
日期:2014-05-10 15:58:14未羊
日期:2014-05-18 11:36:43
4 [報(bào)告]
發(fā)表于 2014-05-18 16:14 |只看該作者
書(shū)中完整的一段是這樣的:
每個(gè)管理區(qū)都有一個(gè)數(shù)據(jù)結(jié)構(gòu),即zone_struct數(shù)據(jù)結(jié)構(gòu)。在zone_struct數(shù)據(jù)結(jié)構(gòu)中有一組“空閑區(qū)間”(free_area_t)隊(duì)列。為什么是“一組”隊(duì)列,而不是“一個(gè)”隊(duì)列呢?這也是因?yàn)槌3P枰伞皦K”地分配在物理空間內(nèi)連續(xù)的多個(gè)頁(yè)面,所以要按塊的大小分別加以管理。因此,在管理區(qū)數(shù)據(jù)結(jié)構(gòu)中既要有一個(gè)隊(duì)列來(lái)保持一些離散(連續(xù)長(zhǎng)度為1)的物理頁(yè)面,還要有一個(gè)隊(duì)列來(lái)保持一些連續(xù)長(zhǎng)度為2的頁(yè)面塊以及連續(xù)長(zhǎng)度為4、8、16、……、直至2^MAX_ORDER的頁(yè)面塊。常數(shù)MAX_ORDER定義為10,也就是說(shuō)最大的連續(xù)頁(yè)面塊可以達(dá)到2^10=1024個(gè)頁(yè)面,即4M字節(jié)。這兩個(gè)數(shù)據(jù)結(jié)構(gòu)以及幾個(gè)常數(shù)都在文件include/linux/mmzone.h中定義的:

typedef struct free_area_struct {
    struct list_head free_list;
    unsigned int     *map;
} free_area_t;

typedef struct zone_struct {
    ......
    free_area_t free_area[MAX_ORDER];
    ......
} zone_t;
回復(fù) 3# fireaway7


   

論壇徽章:
2
雙魚(yú)座
日期:2014-05-10 15:58:14未羊
日期:2014-05-18 11:36:43
5 [報(bào)告]
發(fā)表于 2014-05-18 16:15 |只看該作者

書(shū)中完整的一段是這樣的:
每個(gè)管理區(qū)都有一個(gè)數(shù)據(jù)結(jié)構(gòu),即zone_struct數(shù)據(jù)結(jié)構(gòu)。在zone_struct數(shù)據(jù)結(jié)構(gòu)中有一組“空閑區(qū)間”(free_area_t)隊(duì)列。為什么是“一組”隊(duì)列,而不是“一個(gè)”隊(duì)列呢?這也是因?yàn)槌3P枰伞皦K”地分配在物理空間內(nèi)連續(xù)的多個(gè)頁(yè)面,所以要按塊的大小分別加以管理。因此,在管理區(qū)數(shù)據(jù)結(jié)構(gòu)中既要有一個(gè)隊(duì)列來(lái)保持一些離散(連續(xù)長(zhǎng)度為1)的物理頁(yè)面,還要有一個(gè)隊(duì)列來(lái)保持一些連續(xù)長(zhǎng)度為2的頁(yè)面塊以及連續(xù)長(zhǎng)度為4、8、16、……、直至2^MAX_ORDER的頁(yè)面塊。常數(shù)MAX_ORDER定義為10,也就是說(shuō)最大的連續(xù)頁(yè)面塊可以達(dá)到2^10=1024個(gè)頁(yè)面,即4M字節(jié)。這兩個(gè)數(shù)據(jù)結(jié)構(gòu)以及幾個(gè)常數(shù)都在文件include/linux/mmzone.h中定義的:

typedef struct free_area_struct {
    struct list_head free_list;
    unsigned int     *map;
} free_area_t;

typedef struct zone_struct {
    ......
    free_area_t free_area[MAX_ORDER];
    ......
} zone_t;
回復(fù) 2# Tinnal


   

論壇徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辭舊歲徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亞洲杯之卡塔爾
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08處女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技術(shù)圖書(shū)徽章
日期:2014-03-25 09:00:29
6 [報(bào)告]
發(fā)表于 2014-05-19 08:44 |只看該作者
這個(gè)應(yīng)該是描述伙伴系統(tǒng)的,看起來(lái)就是這樣的。

論壇徽章:
9
辰龍
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辭舊歲徽章
日期:2015-03-03 16:54:1515-16賽季CBA聯(lián)賽之青島
日期:2016-03-13 23:37:1915-16賽季CBA聯(lián)賽之深圳
日期:2016-03-29 18:52:38
7 [報(bào)告]
發(fā)表于 2014-05-19 21:28 |只看該作者
這是伙伴分配算法呀,數(shù)據(jù)結(jié)構(gòu)的書(shū)里頭就會(huì)描述,典型的解決外碎片的內(nèi)存分析算法。是一個(gè)來(lái)鏈表。
1 page的空閑頁(yè)面組成一個(gè)鏈表。
2 page的空閑頁(yè)面組成一個(gè)鏈表。
4 page的空閑頁(yè)面組成一個(gè)鏈表。
8 page的空閑頁(yè)面組成一個(gè)鏈表。
。。。
2^MAX_ORDER page 的空閑頁(yè)面組成一個(gè)鏈表。

這樣就是一組鏈表的呀。

之所以稱(chēng)之為伙伴,是因?yàn)槿绻蚾rder(如1^2大小的塊,也就是4個(gè)page)的頁(yè)面不夠,會(huì)從高一級(jí)order(在1^3大小的塊)的鏈表中取一個(gè)出來(lái),裂變?yōu)閮蓚(gè)oder(兩個(gè)4個(gè)page)大小的塊,一塊返回給用戶(hù),一塊存在order的空閑鏈表中。裂變出來(lái)的兩個(gè)塊就是一個(gè)“伙伴”。
同樣,如果一個(gè)塊釋放了,而他人伙伴也是空閑沒(méi)有分配出去的,那這隊(duì)伙伴就會(huì)合并成一個(gè)大塊,從低一組order的鏈表中移到高一級(jí)的鏈表中去。


如果還是不清楚,建議你百度一下”伙伴分配算法“, 有很多的帶圖的文章。

論壇徽章:
2
雙魚(yú)座
日期:2014-05-10 15:58:14未羊
日期:2014-05-18 11:36:43
8 [報(bào)告]
發(fā)表于 2014-05-20 09:43 |只看該作者
謝謝,之前都沒(méi)聽(tīng)說(shuō)過(guò)。
回復(fù) 6# humjb_1983


   

論壇徽章:
2
雙魚(yú)座
日期:2014-05-10 15:58:14未羊
日期:2014-05-18 11:36:43
9 [報(bào)告]
發(fā)表于 2014-05-20 09:52 |只看該作者
謝謝,“2.7物理頁(yè)面的分配”可以看出來(lái)這個(gè)過(guò)程。
http://www.cnblogs.com/hoys/archive/2011/09/09/2172087.html
回復(fù) 7# Tinnal


   
您需要登錄后才可以回帖 登錄 | 注冊(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)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP