随笔分类 -  Linux内存管理

摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 ,连续内存分配器,用于分配连续的大块内存。 ,会Reserve一片物理内存区域: 1. 设备驱 阅读全文
posted @ 2020-01-12 14:08 LoyenWang 阅读(11695) 评论(3) 推荐(1) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 是一种物理地址反向映射虚拟地址的方法。 映射 页表用于虚拟地址到物理地址映射,其中的 页表项记 阅读全文
posted @ 2020-01-08 07:28 LoyenWang 阅读(6497) 评论(1) 推荐(2) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 上篇文章分析到 函数中,内核实现只是在进程的地址空间建立好了 区域,并没有实际的虚拟地址到物理 阅读全文
posted @ 2019-12-29 21:27 LoyenWang 阅读(15651) 评论(9) 推荐(7) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 这篇文章,让我们来看看用户态进程的地址空间情况,主要会包括以下: ; ; ; 进程地址空间中, 阅读全文
posted @ 2019-12-13 22:54 LoyenWang 阅读(9841) 评论(1) 推荐(3) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 在之前的系列文章中,分析到了 的页框分配, 的小块内存对象分配,这些分配的地址都是物理内存连续 阅读全文
posted @ 2019-12-01 13:44 LoyenWang 阅读(10779) 评论(0) 推荐(0) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 之前的文章分析的都是基于页面的内存分配,而小块内存的分配和管理是通过块分配器来实现的。目前内核 阅读全文
posted @ 2019-11-24 16:20 LoyenWang 阅读(8537) 评论(1) 推荐(3) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 本文将讨论 内存回收这个话题。 在内存分配出现不足时,可以通过唤醒 内核线程来异步回收,或者通 阅读全文
posted @ 2019-11-09 18:05 LoyenWang 阅读(6978) 评论(3) 推荐(4) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 本文将描述 ,内存碎片整理技术。 内存碎片分为内碎片和外碎片: 内碎片:内存页里边的碎片; 外 阅读全文
posted @ 2019-10-27 00:07 LoyenWang 阅读(4579) 评论(0) 推荐(0) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 本文将分析 。 简单来说,在使用 分配页面时,会将可用的 与`zone watermark`进 阅读全文
posted @ 2019-10-20 17:32 LoyenWang 阅读(5301) 评论(3) 推荐(0) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 本文将分析 。 伙伴系统,是通过将物理内存划分为页面来进行管理的系统,支持连续的物理页面分配和 阅读全文
posted @ 2019-10-13 16:31 LoyenWang 阅读(6418) 评论(9) 推荐(2) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 介绍 之前的系列内存管理文章基本上描述的是物理页面的初始化过程,以及虚拟页面到物理页面的映射建立过程 阅读全文
posted @ 2019-10-06 00:17 LoyenWang 阅读(8211) 评论(1) 推荐(1) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 介绍 在 "(四)Linux内存模型之Sparse Memory Model" 中,我们分析了 函数 阅读全文
posted @ 2019-09-22 17:57 LoyenWang 阅读(8493) 评论(5) 推荐(1) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 介绍 顺着之前的分析,我们来到了 函数了,本以为一篇文章能搞定,大概扫了一遍代码之后,我默默的把它拆 阅读全文
posted @ 2019-09-15 18:25 LoyenWang 阅读(12116) 评论(4) 推荐(3) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 介绍 从 中,可知在 调用之前,存放 和`DTB memblock_add memblock_all 阅读全文
posted @ 2019-09-07 23:43 LoyenWang 阅读(12709) 评论(0) 推荐(3) 编辑
摘要:背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本:4.14 ARM64处理器,Contex-A53,双核 使用工具:Source Insight 3. 阅读全文
posted @ 2019-08-31 23:13 LoyenWang 阅读(17461) 评论(1) 推荐(2) 编辑
摘要:背景 By 鲁迅 By 高尔基 说明: 1. Kernel版本:4.14 2. ARM64处理器,Contex A53,双核 3. 使用工具:Source Insight 3.5, Visio 1. 介绍 要想理解好Linux的页表映射,MMU的机制是需要去熟悉的,因此将这两个模块放到一起介绍。 关 阅读全文
posted @ 2019-08-25 00:39 LoyenWang 阅读(31076) 评论(5) 推荐(2) 编辑