RK3399平台开发系列讲解(内存篇)18.12slub分配器的理念

Posted 内核笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RK3399平台开发系列讲解(内存篇)18.12slub分配器的理念相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

平台 内核版本 安卓版本
RK3399 Linux4.4 android7.1

slub分配器对一个内核开发者来讲是既熟悉又陌生的。
熟悉是因为在开发的过程中大家总会使用到它,什么kmem_cache_alloc(), kmalloc()都是slub分配器的接口。而陌生是因为大部分开发者都不了解slub分配器的工作机制。像页分配器大家至少还听说过伙伴系统,而slub分配器好像真的一点绯闻都没有。
那今天我就尝试用我这粗陋的认知给大家揭开一点点盖头来。

设计理念

内存模块就是一个大管家,管理着系统中内存的使用。有人要用内存了,它分配一点。有人释放内存了,它小心翼翼收好。
在整个模块中,我们能看到其运用了三个设计思想。

  • 第一个思想就是分层
  • 第二个思想我认为是分类管理
    这个思想从页分配器这一层就开始了。为了更好的管理内存,在页分配器这一层&#

以上是关于RK3399平台开发系列讲解(内存篇)18.12slub分配器的理念的主要内容,如果未能解决你的问题,请参考以下文章

RK3399平台开发系列讲解(内存篇)深刻理解虚拟内存

RK3399平台开发系列讲解(内存篇)常见内存性能问题梳理

RK3399平台开发系列讲解(内存篇)Linux缓存系统

RK3399平台开发系列讲解(内存篇)15.29物理内存管理

RK3399平台开发系列讲解(内存篇)访问虚拟内存的物理内存过程

RK3399平台开发系列讲解(内存篇)访问虚拟内存的物理内存过程