This article includes a list ofgeneral references, butit lacks sufficient correspondinginline citations. Please help toimprove this article byintroducing more precise citations.(August 2008) (Learn how and when to remove this message) |
TheSLOB (simple list of blocks) allocator was one of three availablememory allocators in theLinux kernel up to version 6.3.[1] The other two are SLAB (slab allocator) andSLUB. The SLOB allocator is designed to require little memory for the implementation and housekeeping, for use in small systems such as embedded systems. Unfortunately, a major limitation of the SLOB allocator is that it suffers greatly from externalfragmentation.
SLOB currently uses afirst-fit algorithm, which uses the first available space for memory. In 2008, a reply fromLinus Torvalds on a Linux mailing list[2] was made where he suggested the use of abest-fit algorithm, which tries to find a memory block which suits needs best. Best fit finds the smallest space which fits the required amount available, avoiding loss of performance, both by fragmentation and consolidation of memory.
By default, Linux kernel useda SLAB Allocation system until version 2.6.23, when SLUB allocation became the default. When theCONFIG_SLAB flag is disabled, the kernel falls back to using the SLOB allocator.[3] The SLOB allocator was used in DSLinux onNintendo DShandheld console.