【Linux内存管理08】本文主要介绍Node和Zone的初始化。同sparsemem一样,Node和Zone也在bootmem_init()中完成初始化,本文也将完成对bootmem_init()的分析。
【Linux内存管理07】本文主要回顾内存初始化阶段start_kernel()中和内存管理相关的函数以及对Node, Zone, Page结构体的简单介绍。这篇笔记不详细地分析这些函数以及结构体,仅仅对功能和作用做一个简单的介绍。
【Linux内存管理06】本文主要介绍Linux中的三种物理内存模型并详细分析Sparsemem这种目前广泛使用的内存模型。
【Linux内存管理05】本文主要介绍paging_init()函数,这个函数最重要的功能就是将memblock中内存空间进行VA->PA的映射。在文末,我会附上实验平台的内存布局作为补充参考。
【Linux内存管理04】本文主要介绍Linux内核在启动阶段使用的一种简单的内存管理器 - memblock。我将对memblock的部分源码进行分析并结合实验查看memblock的存储情况。
【Linux内存管理03】本文主要介绍虚拟内存中一个新的区域 - FIXMAP。FIXMAP用于映射设备树相关的信息,其中就包括物理内存的大小和起始地址。通过这篇文章,我们可以了解FIXMAP是如何进行映射以及设备树中的信息是如何被读取、使用的。
【Linux内存管理02】本文主要介绍Linux内核启动过程中和MMU相关的内容,同时简单介绍下Linux的启动流程。
种一棵树最好的时间是十年前,其次是现在
上一篇在Github Page上的博文要追溯到2020年了。那时还没有入职高通、也没有投身股市,一切似乎都在向好的方向前进。可惜现在回头看过去,这两年多经历了太多,没有得到却失去了很多东西。从今年开始,我准备重新回归自己的一亩三分地,再次出发。
今年经济大环境依然不好,各个公司都在裁员,这正是一个适合播种的季节。静下心来,脚踏实地,不断深耕和开拓自...
【Linux内存管理01】本文主要介绍ARMv8中MMU的基本信息(寄存器、页表、VA->PA转换实例等),内容主要来自ARM官方文档外加部分网络内容。