随笔分类 - Linux内存管理
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 ,连续内存分配器,用于分配连续的大块内存。 ,会Reserve一片物理内存区域: 1. 设备驱
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 是一种物理地址反向映射虚拟地址的方法。 映射 页表用于虚拟地址到物理地址映射,其中的 页表项记
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 上篇文章分析到 函数中,内核实现只是在进程的地址空间建立好了 区域,并没有实际的虚拟地址到物理
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 这篇文章,让我们来看看用户态进程的地址空间情况,主要会包括以下: ; ; ; 进程地址空间中,
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 在之前的系列文章中,分析到了 的页框分配, 的小块内存对象分配,这些分配的地址都是物理内存连续
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 之前的文章分析的都是基于页面的内存分配,而小块内存的分配和管理是通过块分配器来实现的。目前内核
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 本文将讨论 内存回收这个话题。 在内存分配出现不足时,可以通过唤醒 内核线程来异步回收,或者通
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 本文将描述 ,内存碎片整理技术。 内存碎片分为内碎片和外碎片: 内碎片:内存页里边的碎片; 外
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 本文将分析 。 简单来说,在使用 分配页面时,会将可用的 与`zone watermark`进
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 本文将分析 。 伙伴系统,是通过将物理内存划分为页面来进行管理的系统,支持连续的物理页面分配和
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 介绍 之前的系列内存管理文章基本上描述的是物理页面的初始化过程,以及虚拟页面到物理页面的映射建立过程
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 介绍 在 "(四)Linux内存模型之Sparse Memory Model" 中,我们分析了 函数
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 介绍 顺着之前的分析,我们来到了 函数了,本以为一篇文章能搞定,大概扫了一遍代码之后,我默默的把它拆
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 介绍 从 中,可知在 调用之前,存放 和`DTB memblock_add memblock_all
阅读全文
摘要:背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本:4.14 ARM64处理器,Contex-A53,双核 使用工具:Source Insight 3.
阅读全文
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 介绍 要想理解好Linux的页表映射,MMU的机制是需要去熟悉的,因此将这两个模块放到一起介绍。 关
阅读全文