[linux内存管理] 第009篇 reserved-memory详解 7月前查看 评论
[linux内存管理] 第009篇 reserved-memory详解

本文主要分析了Linux内核中预留内存(reserved memory)的配置和解析过程,以下是文章摘要: 1. 引言部分指出内核中物理内存趋向于碎片化,为了满足特定设备对连续物理内存的需求,引入了预留内存机制。 2. 阐述了DTS中reserved-memory节点的配置方法,包括静态预留和动态预留两种方式,以及相关的属性如#address-cells、#size-cells、ranges、no-map、reusable等。 3. 详细解析了内核对reserved-memory节点的解析过程,包括寻找根节点、解析子节点、处理reg和size属性、分配内存等。 4. 介绍了reserved_mem数组,用于存储所有预留内存节点的信息,以及相关的初始化和分配函数。 5. 小结部分总结了reserved-memory的配置和解析流程,以及CMA作为特殊预留内存的处理方式。 总体来说,文章详细地介绍了Linux内核中预留内存的配置方法、解析过程及其在内核中的管理方式。

[linux内存管理] 第003篇 内存分布 7月前查看 评论
[linux内存管理] 第003篇 内存分布

前言 在上一篇博文 页表查询过程简述 中,简单阐述了处理器访问页表的基本原理,以ARMv8 为例简单介绍了分页的机制。这一篇会接着继续阐述进程在编译时和运行时,其内存的分布情况。最后简单阐述在arm64 系统中虚拟地址的分布情况。 内存 简单地说,存就是一个数据货架。内存有一个最小的存储单位,大多数

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

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

基于hexo+vercel零成本搭建博客网站 7月前查看 评论
基于hexo+vercel零成本搭建博客网站

一、为什么选择搭建博客网站? 在数字时代,拥有一个属于自己的博客网站不仅能展示个人才华,还能作为分享生活、交流思想的平台。我个人在工作和学习中记录了一些零散的知识点,目前是通过notion以及飞书知识库进行记录。到了现阶段,本人更希望将自己所学习到的这些零散的知识点汇总,输出一些高质量的文章,供自己