“Good operating system performance depends in part on the operating system’s ability to efficiently manage resources. In the old days, heap memory managers were the norm, but performance suffered due to fragmentation and the need for memory reclamation. Today, the Linux kernel uses a method that originated in Solaris but has been used in embedded systems for quite some time, allocating memory as objects based on their size. This article explores the ideas behind the slab allocator and examines its interfaces and their use.”
Anatomy of the Linux Slab Allocator
Submitted by IdaAshley 2007-05-16 Linux 6 Comments
Note that the SLAB allocator will be replaced with the SLUB allocator once it’s proved stable.
It has a much simpler design than SLAB and scales better on SMP’s.
It was designed by Jeff Bonwick, the same guy behind ZFS, for Solaris. Later, the design was copied into Linux.