[linux内存管理] 第000篇 Linux内存管理系列开篇 9月前查看 评论
[linux内存管理] 第000篇 Linux内存管理系列开篇

本文为Linux内存管理系列文章的摘要总结。文章首先介绍了源码遵循的约定,包括芯片架构、内存架构、内核版本等信息。接着概述了内存管理的一些预备知识,包括内存与内存管理机制、页表查询过程、内存分布等。文章详细分析了物理内存初始化流程,包括启动代码分析、start_kernel全局简述、fixmap映射、memblock子系统等。此外,文章还介绍了各种内存分配器(如buddy分配器、percpu分配器、CMA分配器等)和内存管理相关概念(如缺页异常处理、memcg、PSI等)。最后,列出了文章中涉及的专业术语及其解释。

[linux内存管理] 第029篇 谁把folio的函数定义“藏”起来了? 2周前查看 3 条
[linux内存管理] 第029篇 谁把folio的函数定义“藏”起来了?

这篇文章探讨了Linux内核中一种特殊的函数定义方式,作者在阅读代码时遇到了无法找到某些函数定义的问题,如`folio_test_active()`。通过深入研究,作者发现这些函数是通过宏定义如`PAGE_TYPE_OPS()`和`FOLIO_FLAG()`在`/include/linux/page-flags.h`中定义的。文章详细解释了这些宏如何工作,以及如何通过它们生成函数定义。总结部分指出,这种探索过程虽然艰辛,但对于喜欢阅读代码的人来说,发现和理解这些机制是非常有趣且有益的。

[linux内存管理] 第028篇 do_anonymous_page只处理私有映射吗? 1月前查看 1 条
[linux内存管理] 第028篇 do_anonymous_page只处理私有映射吗?

笔者水平较低,如有错误欢迎各位看官老爷指正,Thanks♪(・ω・)ノ 笔者忽然高产了起来,原因是因为笔者总算是搞明白了一个近几天一直困扰自己的问题,为什么网上一些帖子说do_anonymous_page只用来处理私有匿名映射呢? 看到这个函数,下意识就会觉得其实它是用来处理所有匿名映射的才对啊。

[linux内存管理] 第001篇 内存与内存管理机制 9月前查看 评论
[linux内存管理] 第001篇 内存与内存管理机制

前言 在操作系统还没有出现之前,程序存放在纸带上,计算机读取一张纸带就运行一条指令,这种从外部存储介质上直接运行指令的方法效率很低。 后来出现了内存存储器,也就是说,程序要运行,首先要加载,然后执行,这就是所谓的 “存储的程序”。这一概念开启了操作系统快速发展的通道,直至后来出现了分页机制。 在这个