Allocator:
這裏的目標不一定是內存,是泛指的“空間”,比如硬盤等介質;
SGI實現了一個兩層的分配器,
- 第一層級:直接使用malloc和free;其實這個操作成本很高;
- 第二層級:視情況,如果分配塊>128bytes,則調用第一層級分配器;否則,採用memeory pool的碎片內存管理方式;比如維護16個自由鏈表free lists,負責16種小型區塊的次分配能力;內存池不足的時候,轉調第一層級分配器;
Iterator:
型別:
- value type
- difference type
- pointer
- reference
- iterator category
類型:
- input
- output
- forward
- bi-directional
- random access
關係如下: