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使用。

参见

  • Slab分配

参考资料

  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.


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.