发布时间:2015-06-18 21:18:14
在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。一 早期的内存分配机制在 早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算 机同时运.........【阅读全文】
发布时间:2015-06-18 19:43:23
kmem_cache_init用来初始化cache,在初始化阶段使用了全局静态变量cache_cache,这个变量是用来管理所有cache的kmem_cache的, 也就是说,在初始化阶段,将会创建一个slab,用来存放所有cache的kmem_cache,而创建kmem_cache是通过kmem_cache_create来创建的.所有cache的kmem_cache是根据linux/kmem_sizes.h文件中的所有cach.........【阅读全文】
发布时间:2015-06-18 17:29:05
学习LKD的时候,在内存管理一章的slab小节中,对于slab的着色只是一笔带过,并没有详细叙述,只好翻看了很多资料,稍微有了点儿概念,其实关键在于分清所谓的cache(高速缓存,包含多个slab块)和硬件高速缓存的概念。 slab的设计原理和主体代码不难.........【阅读全文】