Chinaunix首页 | 论坛 | 博客
  • 博客访问: 316113
  • 博文数量: 100
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 665
  • 用 户 组: 普通用户
  • 注册时间: 2015-02-02 12:43
文章分类

全部博文(100)

文章存档

2015年(100)

我的朋友

发布时间:2015-06-18 17:29:05

学习LKD的时候,在内存管理一章的slab小节中,对于slab的着色只是一笔带过,并没有详细叙述,只好翻看了很多资料,稍微有了点儿概念,其实关键在于分清所谓的cache(高速缓存,包含多个slab块)和硬件高速缓存的概念。        slab的设计原理和主体代码不难.........【阅读全文】

阅读(1897) | 评论(0) | 转发(0)

发布时间:2015-06-18 17:02:37

通过前面所有代码的分析和总结,已经把各个部分熟悉了一遍,在此对Linux内核中slab机制做最后的总结。......【阅读全文】

阅读(1615) | 评论(0) | 转发(0)

发布时间:2015-06-16 13:46:48

Linux的启动涉及到一个解压与定位的过程,对于x86体系结构而言,系统被加载到0x100000的地方,那么swapper_pg_dir的值是什么呢?我们知道swapper_pg_dir是一个很重要的东西,它是所有进程内核空间的页表的模板,而且在涉及到896M以上的内存分配时,swapper_pg_dir也是一个同步的根,这些内存分配包括vmalloc区,高端永久.........【阅读全文】

阅读(2267) | 评论(0) | 转发(1)

发布时间:2015-06-16 12:37:41

1. 内存池设计1.1 目的 在给定的内存buffer上建立内存管理机制,根据用户需求从该buffer上分配内存或者将已经分配的内存释放回buffer中。1.2 要求 尽量减少内存碎片,平均效率高于C语言的malloc和free。1.3 设计思路 将buffer分为四部分,第1部分是mem_pool结构体;第2部分是内存映射表;第3部分.........【阅读全文】

阅读(1634) | 评论(0) | 转发(0)

发布时间:2015-06-15 18:26:36

CPU的页式内存管理单元,负责把一个线性地址,最终翻译为一个物理地址。从管理和效率的角度出发,线性地址被分为以固定长度为单位的组,称为页(page),例如一个32位的机器,线性地址最大可为4G,可以用4KB为一个页来划分,这页,整个线性地址就被划分为一个tatol_page[2^20]的大数组,共有2的20个次方个页。这个大数组我们.........【阅读全文】

阅读(1491) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册