LINUX 内存管理
yrj
LINUX 内核
展开
-
《深入理解LINUX内存管理》学习笔记(一)0.02.01修正版,红字部分为修正后的内容
郑重声明:未经本人允许,不得用于商业或非商业的转载和使用,如有需要请联系: [email protected]引子为什么要写这个笔记:1,这本书的中文版翻译了太垃圾,没法阅读。阅读英文原版,可以很好的理解作者的思路。作此笔记备忘2,一直以来学习LINUX kernel的知识缺乏系统化,借对这本书的学习,系统化的学习一下LINUX kernel。3,自己一直在做一原创 2008-05-06 15:02:00 · 11199 阅读 · 3 评论 -
《深入理解LINUX内存管理》学习笔记(二) 0.01版
初始化mem_mapmem_map是一个struct page的数组,管理着系统中所有的物理内存页面。在系统启动的过程中,创建和分配mem_map的内存区域。UMA体系结构中,free_area_init()函数在系统唯一的struct node对象contig_page_data中node_mem_map成员赋值给全局的mem_map变量。调用的关系图:主要的核心函数free_a原创 2008-05-22 22:04:00 · 7899 阅读 · 1 评论 -
《深入理解LINUX内存管理》学习笔记 (三)
郑重声明:未经本人允许,不得用于商业或非商业的转载和使用,如有需要请联系: [email protected]页表管理(Page table management) Linux内核软件架构习惯与分成硬件相关层和硬件无关层。对于页表管理,2.6.10以前(包括2.6.10)在硬件无关层使用了3级页表目录管理的方式,它不管底层硬件是否实现的也是3级的页表管理:Page原创 2008-06-03 21:12:00 · 28200 阅读 · 1 评论 -
《深入理解LINUX内存管理》学习笔记 (四)
郑重声明:未经本人允许,不得用于商业或非商业的转载和使用,如有需要请联系: [email protected]页表条目的操作X86体系结构的情况下,在include/asm-x86/pgtable.h文件中,定义了“析出”或者“检查”页表条目中的值的几个宏(在2.6.24版本的内核中,由于体系结构的关系,这几个宏可能分布在几个相关的头文件中)。通过4个宏原创 2008-06-13 16:35:00 · 3937 阅读 · 0 评论