1.內存申請流程圖
簡要流程圖如下。
2.第二級配置器說明
第二級配置器目的解決小型區塊造成的內存碎片問題。
使用自由鏈表(free-list)技巧。主動將任何小額區塊的內存需求量上調至8的倍數。如需求30,則上調至32。
free-list節點結構
union obj
{
union obj* free_list_link;
char client_data[];
};
有16個free-lists,各自管理大小分別爲8、16、24、32、40、48、56、64、72、80、88、96、104、112、120、128 bytes的小額區塊。
申請流程如下。
釋放流程如下。