Linux的物理内存管理采用了以页为单位的buddy system(伙伴系统),但是很多情况下,内核仅仅需要一个较小的对象空间,而且这些小块的空间对于不同对象又是变化的.不可预测的,所以需要一种类似用户空间堆内存的管理机制(malloc/free).然而内核对对象的管理又有一定的特殊性,有些对象的访问非常频繁,需要采用缓冲机制:对象的组织需要考虑硬件cache的影响:需要考虑多处理器以及NUMA架构的影响.90年代初期,在Solaris 2.4操作系统中,采用了一种称为“slab”(原意是大块的…