Pennant的日常
分享工作上的点点滴滴
posts - 75,comments - 21,views - 66454
01 2013 档案
《Linux内核设计与实现》读书笔记(12)--- 内存管理(2)
摘要:6.slab层 为了便于数据的频繁分配和回收,Linux内核提供了slab层(也就是所谓的slab分配器)。slab分配器扮演了通用数据结构缓存层的角色。 slab层把不同的对象划分为所谓高速缓存(cache)组,其中每个高速缓存都存放不同类型的对象。这些高速缓存又被划分为slab,slab由一个或多个物理上连续的页组成。一般情况下,slab也就仅仅由一页组成。每个调整缓存可以由多个slab组成。 每个slab都包含一些对象成员,这里的对象指的是被缓存的数据结构。每个slab处于三种状态之一:满、部分满或空。每个高速缓存都是用 kmem_cache_s 结构来表示。这个结构包含三个链表 ... 阅读全文
posted @ 2013-01-05 08:31 汝熹 阅读(391) 评论(0) 推荐(0) 编辑
《Linux内核设计与实现》读书笔记(11)--- 内存管理(1)
摘要:内存管理1.页 内核把物理页作为内存管理的基本单位。大多数 32 位体系结构支持 4KB 的页,而 64 位体系结构一般会支持 8KB 的页。内核用 struct page 结构表示系统中的每个物理页。该结构位于<linux/mm.h>中。struct page { page_flags_t flags; /* 表示页的状态,每一位表示一种状态,定义在<linux/page_flags.h> */ atomic_t _count; /* 存放页的引用计数,0代表没有被引用 */ atomic_t _mapcount; unsigned long pr... 阅读全文
posted @ 2013-01-03 11:30 汝熹 阅读(371) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示