1. 程式人生 > >C語言記憶體的動態儲存管理2-空閒連結串列

C語言記憶體的動態儲存管理2-空閒連結串列

空閒連結串列三種結構形式:

(1)所有請求的記憶體大小相同。這是一種最簡單的動態儲存管理方式。

對此,系統通常的做法是:

a)系統啟動時,將記憶體按大小均分成若干個塊,並形成一個連結串列。

b)分配時,只需將連結串列中第一個節點分配給使用者即可,無需掃描整個連結串列。

c)回收時,將空閒塊插入到連結串列頭即可。

(2)所有請求的記憶體大小有n種規格。可建立n個(1)情況中的連結串列,分配與回收與(1)類似,不同之處在於:當請求的連結串列為空時,需要在節點大的連結串列上進行分配,取一部分記憶體給使用者,剩餘部分作為一個新節點插入到相應的連結串列中。

(3)所有請求的記憶體大小是不同的,是不斷髮生變化的。這種情況下的分配與回收見下篇。