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

coreBugZJ

此 blog 已棄。

Minix 3 內存管理


(Minix 3.1.0)

Minix 3 不支持頁式存儲,進程在整個執(zhí)行過程中,所占用內存的大小和位置不會變化。
它的內存管理工作,主要是:
1.調用 fork() 創(chuàng)建新進程時,為新進程申請內存;
2.調用 exec() 等更換內存鏡像時,釋放舊鏡像占用的內存,為新鏡像申請內存(先釋放,后申請);
3.進程結束(不管是自己退出,還是被殺死)時,釋放其所占用的內存;
4.系統(tǒng)初始化時,系統(tǒng)進程申請內存。

下面不考慮系統(tǒng)初始化時的內存管理工作。

在 Minix 3 中,由進程管理器PM管理內存。

Minix 3 中的程序可以被編譯為指令和數(shù)據(jù)不分離的形式,此時一個進程的正文,數(shù)據(jù),堆棧共用一塊作為一個整體申請或釋放的內存;
也可以被編譯為指令和數(shù)據(jù)分離的形式,兩部分占用的內存分別管理。

指令和數(shù)據(jù)分離的好處在于可以通過共享正文來節(jié)約內存:
1.當一個進程調用 fork() 來創(chuàng)建新進程時,只需要為新進程的數(shù)據(jù)和堆棧申請內存,而正文可以共享。
2.當一個進程調用 exec() 等更換內存鏡像時,系統(tǒng)進程表會被搜索,以確定需要的正文是否已經由其它進程載入內存,
若已經載入,則該正文被共享,就只需為新鏡像的數(shù)據(jù)和堆棧申請內存。
3.進程結束時,它的數(shù)據(jù)和堆棧所占用的內存會被釋放,而正文所占用的內存,只有在該正文沒有被其它進程共享時才會釋放。

Minix 3 雖不支持頁式存儲,但是提供一些用于交換的函數(shù),由文件
/include/minix/config.h 中的宏 ENABLE_SWAP 決定是否編譯進系統(tǒng)。

進程管理器PM管理內存的主要數(shù)據(jù)結構為 struct hole,
見 /servers/pm/alloc.c :

PRIVATE struct hole {
        struct hole *h_next;   /* pointer to next entry on the list */
        phys_clicks h_base;   /* where does the hole begin? */
        phys_clicks h_len;     /* how big is the hole? */
} hole[ NR_HOLES ];

使用單鏈表,按內存地址由低到高記錄內存塊。注意,進程中數(shù)據(jù)和堆棧間的空隙被認為已經分配給了進程,而不被記錄。
鏈表節(jié)點所占用的內存,不是動態(tài)申請釋放的,而是定義了數(shù)組 hole,為鏈表節(jié)點提供內存。

見該文件接下來的定義,
PRIVATE struct hole *hole_head;    /* pointer to first hole */
PRIVATE struct hole *free_slots;     /* ptr to list of unused table slots */

hole_head 一個單鏈表頭指針,此鏈表用于維護尚未分配的內存塊,按內存塊地址由低到高記錄。
free_slots 一個單鏈表頭指針,此鏈表用于維護數(shù)組 hole 中尚未被 hole_head 使用的節(jié)點。

mem_init() 對內存管理的相關數(shù)據(jù)進行初始化。
文件 /servers/pm/main.c 中的 main() 以適當?shù)膮?shù)調用 mem_init() 完成內存管理的初始化。

alloc_mem() 申請內存。
當申請一定大小的內存時,遍歷鏈表 hole_head ,直至找到足夠大的內存塊,從中剪切出所需大小。
即首次適應算法。

free_mem() 釋放內存。
與 alloc_mem() 功能相反,而且釋放內存后,還會調用 merge() 合并相鄰的內存塊。

merge() 合并連續(xù)的未分配內存塊。
本來連續(xù)的內存,經過若干次內存申請與釋放后,可能被切成多塊,由鏈表 hole_head 中的多個節(jié)點記錄,
每次釋放內存后調用 merge() 以避免此情況出現(xiàn)。

del_slot() 將一個鏈表節(jié)點從 hole_head 中刪除,移入 free_slots 。
因為鏈表 hole_head 中的節(jié)點所占用的內存不是動態(tài)申請釋放的,而是定義了數(shù)組,
需要新節(jié)點時,就從數(shù)組中取,所以需要一些相關的維護工作。

posted on 2011-10-21 21:21 coreBugZJ 閱讀(2514) 評論(2)  編輯 收藏 引用 所屬分類: OperatingSystem

Feedback

# re: Minix 3 內存管理 2011-11-17 21:36 smy

怎么還在玩3.1.0啊~都快3.2.0了~  回復  更多評論   

# re: Minix 3 內存管理 2011-11-18 20:09 coreBugZJ

@smy
作為初學者,我先學3.1.0~  回復  更多評論   


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            午夜精品久久久久影视| 亚洲卡通欧美制服中文| 久久蜜桃精品| 欧美在线视频免费| 久久精品一本| 麻豆精品在线播放| 欧美精品三级日韩久久| 欧美视频一区二区三区四区| 欧美午夜不卡| 国内精品久久久| 亚洲国产精品v| 中文欧美日韩| 久久久亚洲高清| 亚洲国产精品va在线看黑人动漫| 亚洲国产成人久久综合| 在线一区视频| 久久精品视频网| 欧美屁股在线| 国产一区二区三区直播精品电影| 亚洲国产精品传媒在线观看 | 亚洲手机视频| 久久精品国语| 欧美日韩在线不卡| 韩国精品在线观看| 一本色道久久综合亚洲精品高清 | 亚洲欧美国产精品专区久久| 久久综合九色综合欧美狠狠| 亚洲精品久久久久久久久久久久 | 美女视频网站黄色亚洲| 亚洲美洲欧洲综合国产一区| 欧美尤物巨大精品爽| 欧美日韩久久| 亚洲高清三级视频| 欧美另类在线播放| 欧美在线看片a免费观看| 欧美福利影院| 一区二区三区在线观看欧美| 亚洲天堂av图片| 亚洲国产成人不卡| 久久免费偷拍视频| 国产日韩精品电影| 亚洲欧美另类久久久精品2019| 鲁大师影院一区二区三区| 亚洲一区国产| 国产精品av免费在线观看| 亚洲精品国产品国语在线app | 久久国产99| aa级大片欧美| 欧美日本中文| av成人免费在线| 亚洲国产高潮在线观看| 久久免费高清| 黄页网站一区| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美一区二区三区另类| 国产日韩欧美a| 欧美在线三级| 香蕉成人伊视频在线观看| 国产精品免费视频xxxx| 亚洲综合精品一区二区| 在线综合+亚洲+欧美中文字幕| 欧美日韩久久不卡| 亚洲午夜精品久久| 亚洲视频综合在线| 国产精品一区二区久久精品 | 欧美激情国产日韩精品一区18| 久久久91精品国产一区二区精品| 国产一区二区无遮挡| 欧美一区二区三区精品| 亚洲男人第一av网站| 国产日韩欧美不卡| 蜜月aⅴ免费一区二区三区 | 玖玖精品视频| 久久久99爱| 日韩网站在线观看| 亚洲免费电影在线| 国产精品网站在线播放| 久久成人免费电影| 久久综合九色综合网站 | 久久不射电影网| 久久精品最新地址| 日韩写真在线| 亚洲天堂免费在线观看视频| 国产亚洲精品高潮| 欧美华人在线视频| 欧美性猛交xxxx乱大交退制版| 欧美中文在线观看国产| 另类尿喷潮videofree| 久久精品视频免费| 老牛国产精品一区的观看方式| 亚洲国产婷婷香蕉久久久久久| 亚洲黄色视屏| 国产精品日韩精品欧美精品| 久久久精品动漫| 欧美另类女人| 久久久久久亚洲精品中文字幕| 欧美www在线| 销魂美女一区二区三区视频在线| 久久久www成人免费无遮挡大片| 99re6这里只有精品视频在线观看| 亚洲一区二区网站| 亚洲人体偷拍| 久久国产免费看| 国产精品99久久久久久白浆小说| 久久福利影视| 亚洲欧美日韩成人| 欧美成人小视频| 欧美一级片久久久久久久| 免费欧美电影| 久久人体大胆视频| 欧美午夜视频在线观看| 免费在线视频一区| 国产日产精品一区二区三区四区的观看方式 | 免费日韩av电影| 国产精品拍天天在线| 亚洲精品免费一区二区三区| 一区国产精品| 欧美亚洲免费| 欧美亚洲日本一区| 国产精品国产三级国产aⅴ入口| 亚洲成色最大综合在线| 国产在线视频欧美| 亚洲欧美在线一区二区| 亚洲一区在线看| 欧美日韩国产影院| 亚洲欧洲综合另类| 99re6这里只有精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久午夜激情| 国内成人在线| 久久久国产精品一区二区三区| 欧美一区日韩一区| 国产伦精品一区二区三区视频黑人| 99精品热视频只有精品10| 99综合视频| 欧美精品九九| 国产精品99久久不卡二区| 亚洲香蕉成视频在线观看| 欧美日本一区二区高清播放视频| 亚洲福利视频在线| 亚洲免费av电影| 欧美日韩美女| 亚洲视频欧美在线| 欧美在线视频导航| 伊人久久久大香线蕉综合直播| 久久精品亚洲国产奇米99| 亚洲裸体俱乐部裸体舞表演av| 欧美国产丝袜视频| 亚洲精品美女91| 欧美粗暴jizz性欧美20| 国产精品网站一区| 欧美中文字幕精品| 国产伦精品一区二区三区高清| 亚洲免费综合| 欧美日韩小视频| 亚洲九九爱视频| 亚洲精品小视频在线观看| 亚洲免费视频成人| 亚洲欧美日韩爽爽影院| 国产精品久久久久久久久久久久久 | 久久中文字幕一区二区三区| 久久综合图片| 亚洲欧洲一区二区三区| 欧美久久在线| 亚洲精品国产拍免费91在线| 亚洲高清成人| 欧美网站在线观看| 欧美一区二区三区四区夜夜大片| 毛片一区二区| 亚洲一区高清| 樱花yy私人影院亚洲| 欧美三日本三级三级在线播放| 亚洲欧美日韩精品久久奇米色影视 | 久久成人免费电影| 亚洲国产精品激情在线观看| 亚洲欧美日韩中文播放| 一区二区在线免费观看| 欧美日韩在线综合| 久久久蜜桃一区二区人| 一本久久a久久免费精品不卡| 久久久久久久久岛国免费| 9久re热视频在线精品| 国产精品久久国产三级国电话系列 | 亚洲精选中文字幕| 国产免费成人av| 欧美剧在线免费观看网站| 欧美在线www| 一二三区精品福利视频| 久久亚洲视频| 亚洲视频每日更新| 伊人久久综合| 国产亚洲精品v| 国产精品电影观看| 欧美精品日韩| 欧美福利一区二区| 麻豆freexxxx性91精品| 亚洲卡通欧美制服中文| 久久久97精品| 午夜日韩福利| 亚洲综合成人在线|