Linux 的 Slab 記憶體配置器

當 Linux 需要配置的是小量的記憶體 (像是 malloc 所需的記憶體) 時,採用的是一種稱為 Slab Allocator 的配置器,其中被配置的資料稱為物件 (Object)。 Slab中的物件會被儲存在 Buddy 系統所分配的頁框中,假如要分配一個大小為 30 bytes 的物件時,Slab 會先向 Buddy 系統要求取得一個最小的分頁 (大小為4KB),然後分配個 Slab 配置器。然後 Slab 配置器會保留一些位元以記錄配置資訊,然後將剩下的空間均分為大小30 的物件。於是當未來再有類似的配置請求時,就可以直接將這些空的物件配置出去。

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License