页分配器和slab分配器
时间: 2023-10-10 15:15:46 浏览: 120
Linux_slab_分配器剖析.pdf
4星 · 用户满意度95%
页分配器和slab分配器是两种不同的内存分配算法。
页分配器是一种基于页面的内存分配算法,它将物理内存划分为固定大小的页面,并提供函数来分配和释放这些页面。在Linux内核中,页分配器主要由buddy分配器和slub分配器组成。
而slab分配器是一种基于缓存的内存分配算法,它使用缓存来存储和管理小块内存。在Linux内核中,slab分配器是通过管理一组slab对象来实现的。每个slab对象都包含一组相同大小的内存块,这些内存块可以被分配和释放。当需要分配内存时,slab分配器会从缓存中分配一个slab对象,并使用其中的内存块来分配所需的内存。
总的来说,页分配器更适合大块内存的分配和释放,而slab分配器更适合小块内存的分配和释放。在Linux内核中,它们通常一起使用,以提供高效的内存管理。
阅读全文