slab内存管理学习笔记
来源:互联网 发布:网络管理是做什么 编辑:程序博客网 时间:2024/05/17 22:27
看了很多关于slab的资料,今天终于有了一点眉目,现记录于此;
1、主要结构
在系统初始化初始化一个cache链表cache_chain,用于将所有cache连接起来;
每个cache中包含3个slab链表,分别是满、部分满、空,而slab其实就是数个page;这些page中存放对象object;
当slab中的page都未填object,则属于slabs_empty链表;
当sllab中的page部分已填object,则属于slabs_partial链表;
当slab中的page都被object填满时,就将这个slab移动到slabs_full链表上;
2、主要函数
kmem_cache_create创建一个cache结构体,并添加到cache_chain中;kmem_cache_alloc从slab中申请一个obj;kmem_cache_free将对象obj释放给slab;kmem_cache_destroy销毁cache;
- slab内存管理学习笔记
- [Linux内存]slab分配器学习笔记(二)--slab着色
- slab内存管理
- Nginx slab内存管理
- linux内存管理--slab
- 内存管理-SLAB(SLAB的基本数据结构)
- 内存管理-SLAB(创建SLAB高速缓存kmem_cache_create())
- 内存管理-SLAB(销毁SLAB高速缓存kmem_cache_destroy())
- 内存管理-SLAB(分配SLAB对象kmem_cache_alloc())
- 内存管理-SLAB(释放SLAB对象kmem_cache_free())
- 内存管理-SLAB(创建SLAB块cache_grow())
- 内存管理-SLAB(撤销SLAB块slab_destroy())
- 内存管理-SLAB(SLAB的基本数据结构)
- linux内核内存管理学习之三(slab分配器)
- linux内核内存管理学习之三(slab分配器)
- linux内核内存管理学习之三(slab分配器)
- linux内核内存管理学习之三(slab分配器)
- linux内核内存管理学习之三(slab分配器)
- typedef常见用法
- ZOJ 1091 Knight Moves
- 微软MVP最有价值专家-Exchange Server!
- POJ 2983 SPFA 差分约束
- 欢迎光临我的博客!
- slab内存管理学习笔记
- Windows Sockets startup
- 编程技术面试的五大要点
- JavaScript数组随机排序函数
- android从assets和res文件夹中读取资源
- 堆和栈
- Building OpenCV for iPhone
- SQL学习(1)始
- 编程技术面试的五大要点