跳转到内容

SLOB

维基百科,自由的百科全书

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.