[linux内存管理] 第016篇 /proc/iomem的详细解析 2025-01-06 评论
[linux内存管理] 第016篇 /proc/iomem的详细解析

本文详细介绍了Linux内核中`/proc/iomem`节点的构建与显示过程。文章首先指出`/proc/iomem`展示的是物理内存的使用情况,并通过`request_standard_resources`函数将内存区域挂载到资源树。文章进一步解析了`/proc/iomem`的注册过程,包括`ioresources_init`函数和`iomem_resource`资源树,以及数据来源和显示逻辑。最后总结,`/proc/iomem`通过遍历资源树和格式化输出,提供了系统物理内存布局的详细视图,对资源管理和调试具有重要作用。

[linux内存管理] 第015篇 理解Linux内核中的memblock和ioremap机制 2025-01-06 评论
[linux内存管理] 第015篇 理解Linux内核中的memblock和ioremap机制

Linux内核中,设备寄存器的物理地址管理涉及`memblock`和`ioremap`两个关键机制。`memblock`在内核启动阶段负责物理内存的分布记录和地址保留,确保设备寄存器不被误用。`ioremap`则将物理地址映射到内核虚拟地址空间,便于驱动程序访问寄存器。设备寄存器映射流程包括设备描述、物理地址保留、驱动加载和地址映射,最终驱动通过虚拟地址访问寄存器。这两者共同确保了设备寄存器的正确管理和高效访问。

linux内存管理] 第006篇 start_kernel全局简述 2024-11-27 评论
linux内存管理] 第006篇 start_kernel全局简述

本文简要介绍了Linux内核启动过程中`start_kernel`函数的内存管理代码流程。文章首先概述了`start_kernel`的功能,然后详细解析了其中的`setup_arch`函数及其关键步骤,包括内存映射、设备树解析、页表建立等。接着,文章总结了`bootmem_init`函数的初始化流程,涉及物理内存的页帧号确定、sparse内存模型的初始化以及内存区域的标记等。整体而言,文章提供了Linux内存管理初始化过程的清晰概述。