SLOB簡單塊列表)分配器是Linux內核中的三種內存分配器之一。另外兩個是Slab分配器SLUB。SLOB 分配器被設計為使用很少的內存來實現和管理,用於小型系統(例如嵌入式系統)。但是,SLOB分配器的主要限制在於其易產生外部碎片

SLOB目前使用首次擬合算法,即使用第一個可用空間作為內存。Linus Torvalds曾在2008年於Linux郵件列表[1]提出建議,使用最優擬合算法,即尋找最合適的可用空間。最優擬合算法查找最小的適合所需大小的可用空間,以避免因內存碎片和合併而造成性能損失。

默認情況下,Linux內核在2.6.23前使用SLAB分配器,此後SLUB分配器成為默認分配器。當CONFIG_SLAB選項被禁用時,內核將使用SLOB分配器。[2]SLOB分配器被Nintendo DS上的DSLinux使用。

參見

編輯

參考資料

編輯
  1. ^ https://elixir.bootlin.com/linux/latest/source/mm/slob.c頁面存檔備份,存於網際網路檔案館) SLOB Allocator Documentation and code. Retrieved 12 November 2010
  2. ^ https://lwn.net/Articles/157944/頁面存檔備份,存於網際網路檔案館) slob: introduce the SLOB Allocator. Retrieved 12 November 2010.