2015-11-21
【Linux内存管理】SLUB分配算法(4)
前面已经分析了slub分配算法的初始化及slab资源池的创建,现在进一步分析一下slub分配算法的分配实现。 kmem_cache_alloc()是申请slab对象的入口函数,其实现: 【file:/...
路漫漫其修远兮,吾将上下而求索
前面已经分析了slub分配算法的初始化及slab资源池的创建,现在进一步分析一下slub分配算法的分配实现。 kmem_cache_alloc()是申请slab对象的入口函数,其实现: 【file:/...
前面分析了slub分配算法的初始化,继续分析slub分配算法的slab创建过程。 Slub分配算法创建slab类型,其函数入口为kmem_cache_create(),具体实现: 【file:/mm/...
先由slub分配算法初始化进入分析。 回到mm_init()函数中,在调用mem_init()初始化伙伴管理算法后,紧接着调用的kmem_cache_init()便是slub分配算法的入口。其中该函数...
前面主要分析了以页为最小单位进行内存分配的伙伴管理算法,这对于内核对内存的管理比较简单,同时较大程度上避免了内存碎片的问题。而实际上对内存的申请却不是每次都申请一个页面的,通常是不规则的,大小不一的,...