Slab allocator
Slab allocator is a cache management structure for efficient use of kernel memory. It was designed by Jeff Bonwick of Sun Microsystems, for SunOS. It is also a part of the basic Linux kernel memory management system. It is targeted for use of many small pieces of memory chunks. By managing small memory chunks in the units called slabs, this mechanism enables lower fragmentation, fast allocation, and reclaming memory.
Caches
Caches are a per-type structure that is allocated, which controls allocation and deallocation of slabs. There are two functions that are available, one to allocate and one to deallocate chunks of memory. Caches can contain many slabs, which are allocated by the cache. The cache also
Slabs
There can be large slabs and small slabs with the Slab Allocator. The small pages are typically defined as containing objects that are smaller than 1/8 the size of a page on the machine. These small slabs need to be optimized further from the logical layout, by avoiding using bufctls (which would be just as large as the data itself)