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

coreBugZJ

此 blog 已棄。

Minix 3 內存管理


(Minix 3.1.0)

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

下面不考慮系統初始化時的內存管理工作。

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

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

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

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

進程管理器PM管理內存的主要數據結構為 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 ];

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

見該文件接下來的定義,
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 一個單鏈表頭指針,此鏈表用于維護數組 hole 中尚未被 hole_head 使用的節點。

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

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

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

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

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

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>
            欧美有码视频| 欧美黑人国产人伦爽爽爽| 国产亚洲欧美在线| 国产日产欧美一区| 国产一区二区三区自拍| 国内精品嫩模av私拍在线观看| 在线一区二区三区四区| 亚洲欧美日韩一区二区三区在线观看 | 久久久一二三| 狼狼综合久久久久综合网 | 亚洲第一免费播放区| 久久免费黄色| 亚洲精品国产精品乱码不99| 亚洲美女啪啪| 欧美一区二区在线免费播放| 久久综合国产精品| 国产精品福利影院| 亚洲第一精品影视| 亚洲欧美日韩第一区 | 久久久久国产精品人| 欧美一区日韩一区| 亚洲高清资源| 欧美一区二区三区日韩| 欧美大片在线看| 国产欧美日韩在线视频| 最新中文字幕一区二区三区| 午夜在线成人av| 最新日韩欧美| 久久深夜福利免费观看| 欧美日韩妖精视频| 亚洲福利视频一区二区| 亚洲欧美在线一区二区| 亚洲成人在线网| 欧美一区成人| 欧美视频一二三区| 亚洲国产精品成人久久综合一区| 国产欧美日韩不卡| 亚洲免费精彩视频| 美女主播一区| 欧美一区=区| 国产九九精品视频| 亚洲午夜电影在线观看| 亚洲国产裸拍裸体视频在线观看乱了 | 久久精品视频va| 欧美三级在线播放| 一本久久综合| 亚洲日本成人网| 久久亚洲国产精品日日av夜夜| 久久国产欧美日韩精品| 国产精品久久| 亚洲视频每日更新| 一区二区激情| 欧美天天视频| 亚洲素人在线| 一区二区三区欧美激情| 欧美日韩一区二区在线观看| 日韩视频永久免费观看| 欧美激情免费在线| 久久精品国产精品| 欧美一区1区三区3区公司| 在线亚洲精品| 欧美日韩国产在线播放| 亚洲乱码一区二区| 亚洲日本在线视频观看| 欧美精品v日韩精品v韩国精品v| 欧美国产日韩在线| 国产一区二区三区的电影| 久久精品99| 久久久综合网站| 亚洲精品1区2区| 亚洲国产成人精品女人久久久| 一区二区日韩伦理片| 欧美精品色综合| 亚洲一区二区在线播放| 西西裸体人体做爰大胆久久久| 美女视频黄a大片欧美| 亚洲欧洲精品一区二区三区不卡| 夜夜爽99久久国产综合精品女不卡 | 国产精品99久久不卡二区| 欧美精品一区在线播放| 亚洲性av在线| 欧美专区在线播放| 亚洲精品影视在线观看| 99精品免费视频| 国产精品自拍小视频| 久久天天狠狠| 欧美电影免费观看高清完整版 | 1024成人| 91久久久久| 国产精品一区二区久久国产| 玖玖综合伊人| 欧美区二区三区| 久久激情五月激情| 欧美成人一区二区三区片免费| 国产精品国产精品国产专区不蜜| 国产日韩av高清| 欧美v日韩v国产v| 欧美成人精品影院| 亚洲一区区二区| 久久婷婷综合激情| 亚洲午夜在线| 久热re这里精品视频在线6| 一本一本久久a久久精品综合妖精| 久久久精品视频成人| 裸体一区二区三区| 欧美一级片在线播放| 免费成人av资源网| 欧美在线观看视频一区二区| 久久久久国内| 欧美在线免费一级片| 欧美第十八页| 裸体歌舞表演一区二区| 国产精品日韩久久久| 亚洲国产成人精品女人久久久 | 一二三四社区欧美黄| 久久精品视频在线观看| 9l国产精品久久久久麻豆| 久久国产精品色婷婷| 午夜精品久久久久久久久 | 美女精品视频一区| 欧美日韩久久精品| 久久久美女艺术照精彩视频福利播放 | 老司机久久99久久精品播放免费| 艳女tv在线观看国产一区| 国产视频久久久久| 妖精成人www高清在线观看| 亚洲国产高清一区| 久久精品国产一区二区电影 | 久久成人免费| 欧美日韩国产电影| 欧美v亚洲v综合ⅴ国产v| 国产日韩在线亚洲字幕中文| 91久久精品网| 亚洲日本成人女熟在线观看| 久久久xxx| 久久久亚洲精品一区二区三区| 久久精品成人一区二区三区蜜臀| 国产精品入口日韩视频大尺度| 亚洲视频1区| 欧美高清不卡| 亚洲国产欧美不卡在线观看| 91久久国产综合久久蜜月精品 | 午夜在线精品偷拍| 亚洲黄色在线观看| 老司机精品久久| 免费欧美电影| 精品成人国产| 久久久久久久久久码影片| 久久一综合视频| 永久免费视频成人| 亚洲大片精品永久免费| 亚洲精品一区二区三区不| 欧美aa在线视频| 亚洲日本中文字幕免费在线不卡| 欧美精品一区在线发布| 亚洲精品免费电影| 91久久精品久久国产性色也91| 欧美第一黄网免费网站| 国产欧美精品在线播放| 亚洲特黄一级片| 亚洲精品一区二区三区蜜桃久| 欧美国产成人在线| 国产日韩精品一区二区三区在线 | 夜夜躁日日躁狠狠久久88av| 久久久另类综合| 玖玖玖国产精品| 国产精品永久免费观看| 欧美日本不卡高清| 欧美视频在线免费看| 亚洲乱码一区二区| 亚洲高清视频一区| 欧美国产丝袜视频| 欧美日韩精品| 亚洲欧美综合精品久久成人| 亚洲欧美精品伊人久久| 一区在线观看视频| 亚洲精品系列| 亚洲国产成人tv| 亚洲视屏一区| 久久躁日日躁aaaaxxxx| 中国亚洲黄色| 久久久久国色av免费观看性色| 一本色道久久99精品综合| 欧美专区福利在线| 欧美精品v日韩精品v国产精品| 欧美人牲a欧美精品| 久久丁香综合五月国产三级网站| 欧美一区二区三区在线播放| 亚洲欧美综合精品久久成人| 一区二区三区成人| 欧美h视频在线| 欧美成人性网| 亚洲精品在线视频| 噜噜噜噜噜久久久久久91| 久久综合影音| 亚洲人成久久| 欧美日韩精品欧美日韩精品 | 亚洲欧美国产不卡| 亚洲欧美日韩一区在线| 欧美亚洲一级|