這樣的機制從heap中要空間,能夠解決內存碎片問題。
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的小額區塊。
申請流程例如以下。

釋放流程例如以下。