基于各种不同的算法技术,已经提出了几种KMA,包括:
资源图分配算法
2的幂次方空闲链表
McKusick-Karels分配算法
伙伴(Buddy)系统
Mach的区域(Zone)分配算法
Dynix分配算法
Solaris的Slab分配算法
slab分配器 把对象分组放进高速缓存。
包含高速缓存的主内存区被划分为多个slab,每个slab由一个或多个连续的页框组成,这些页框中既包含已分配的对象,也包含空闲的对象。