代码改变世界

随笔档案-2015年06月

linux内存源码分析 - 页表的初始化

2015-06-23 17:49 by tolimit, 12831 阅读, 收藏, 编辑
摘要: 本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 本文章中系统我们假设为x86下的32位系统,暂且不分析64位系统的页表结构。 linux分页 linux下采用四级分页,一个线性地址会分为5个偏移量用于寻址,具体看图: 虽然有四级,但并不是每一级都会用到,在li 阅读全文

linux内存源码分析 - SLAB分配器概述

2015-06-11 12:19 by tolimit, 19010 阅读, 收藏, 编辑
摘要: 本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 之前说了管理区页框分配器,这里我们简称为页框分配器,在页框分配器中主要是管理物理内存,将物理内存的页框分配给申请者,而且我们知道也可页框大小为4K(也可设置为4M),这时候就会有个问题,如果我只需要1KB大小的内 阅读全文

linux内存管理源码分析 - 页框分配器

2015-06-05 16:23 by tolimit, 11951 阅读, 收藏, 编辑
摘要: 本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 最近在学习内核模块的框架,这里做个总结,知识太多了。 分段和分页 先看一幅图 也就是我们实际中编码时遇到的内存地址并不是对应于实际内存上的地址,我们编码中使用的地址是一个逻辑地址,会通过分段和分页这两个机制把它转 阅读全文