代码改变世界

随笔档案-2016年03月

linux内存源码分析 - 内存碎片整理(实现流程)

2016-03-23 11:06 by tolimit, 13449 阅读, 收藏, 编辑
摘要: 本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 概述 本文章最好结合linux内存管理源码分析 - 页框分配器与linux内存源码分析 -伙伴系统(初始化和申请页框)一起看,会涉及里面的一些知识。 我们知道内存是以页框为单位,每个页框大小默认是4K(大页除外) 阅读全文

linux内存源码分析 - 伙伴系统(释放页框)

2016-03-17 16:06 by tolimit, 3888 阅读, 收藏, 编辑
摘要: 本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 翻了一下之前的文章,发现竟然忘记写内核是如何释放页框的,罪过。 释放页框很简单,其实只有几步 释放页框的操作最后都会调用到__free_pages()函数,我们主要从这个函数跟踪下去,看看内核是怎么执行的。 热页 阅读全文

linux内存源码分析 - 内存池

2016-03-12 15:08 by tolimit, 4289 阅读, 收藏, 编辑
摘要: 本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 内存池是用于预先申请一些内存用于备用,当系统内存不足无法从伙伴系统和slab中获取内存时,会从内存池中获取预留的那些内存。内存池与特殊slab一样,需要使用的设备需要自己创建内存池,而不是系统会自动生成。书上形容 阅读全文