深入理解Linux内存管理-之-目录导航

article/2025/10/11 12:26:25
日期内核版本架构作者GitHubCSDN
2016-08-31Linux-4.7X86 & armgatiemeLinuxDeviceDriversLinux内存管理

1 内存描述


CSDNGitHub
Linux内存描述之概述–Linux内存管理(一)01-description/01-memory
Linux内存描述之内存节点node–Linux内存管理(二)01-description/02-node
Linux内存描述之内存区域zone–Linux内存管理(三)01-description/03-zone
Linux内存描述之内存页面page–Linux内存管理(四)01-description/04-page
Linux内存描述之高端内存–Linux内存管理(五)01-description/05-highmem

2 页表管理


CSDNGitHub
Linux分页机制之概述–Linux内存管理(六)02-memory/01-develop
Linux分页机制之分页机制的演变–Linux内存管理(七)02-pagetable/02-paging
Linux分页机制之分页机制的实现详解–Linux内存管理(八)02-pagetable/03-pte

3 初始化内存管理


CSDNGitHub
启动期间的内存管理之初始化过程概述----Linux内存管理(九)03-initialize/01-initialize
启动期间的内存管理之引导分配器bootmem–Linux内存管理(十)03-initialize/02-bootmem
启动期间的内存管理之memblock分配器–Linux内存管理(十一)03-initialize/03-memblock
启动期间的内存管理之bootmem_init初始化内存管理–Linux内存管理(十二)03-initialize/04-bootmem_init
启动期间的内存管理之build_zonelists初始化备用内存域列表zonelists–Linux内存管理(十三)03-initialize/05-build_zonelists
启动期间的内存管理之pagging_init初始化分页机制–Linux内存管理(十四)03-initialize/06-paging_init

4 伙伴系统


CSDNGitHub
伙伴系统之伙伴系统概述–Linux内存管理(十五)04-buddy/01-buddy_system
伙伴系统之初始化–Linux内存管理(十六)未完成
伙伴系统之避免碎片–Linux内存管理(十六)04-buddy/03-fragmentation
alloc_page分配内存空间–Linux内存管理(十七)04-buddy/04-alloc_page
kmalloc分配物理内存与物理地址映射–Linux内存管理(十八)04-buddy/06-kmalloc
高端内存映射之vmalloc内存中不连续的页的分配–Linux内存管理(十九)04-buddy/07-highmem_mapping/06-vmalloc-(non_contiguous_pages)
高端内存映射之kmap持久内核映射–Linux内存管理(二十)04-buddy/07-highmem_mapping/07-kmap-(kernel_mapping)
高端内存映射之kmap_atomic固定映射–Linux内存管理(二十一)https://github.com/gatieme/LDD-LinuxDeviceDrivers/tree/master/study/kernel/02-memory/04-buddy/07-highmem_mapping/08-kmap_atomic-(kernel_mapping)

5 slab分配器


6 公众号


工作以后,很长时间,没写博客了。近期准备重新拾起来,知识是无界的,我最喜欢的就是把技术当笔记一样分享出来跟大家一起讨论,一些思考。

近期开了公众号和知乎, 刚开始运营,欢迎大家多多支持。

推荐大家关注下我的公众号,内核干货,谢谢。

后期所有博文都将在这些平台同步推送,大家选择自己关注的平台即可。当然推荐大家把公众号关注了,谢谢。

CSDN公众号知乎自建站点
kernel-csdn内核干货知乎oskernellsb
kernel-csdn公众号 "内核干货"知乎在这里插入图片描述

http://chatgpt.dhexx.cn/article/Uce6yOpu.shtml

相关文章

Linux内存管理(下)

Linux内存管理(下) 物理内存管理(页管理) Linux内核管理物理内存是通过分页机制实现的,它将整个内存划分成无数4k(在i386体系结构中)大小页,从而分配和回收内存的基本单位便是内存页了。利用分页管理有助于灵活分配内存地址&…

Linux中的内存管理机制

Linux中的内存管理机制 ​ 程序在运行时所有的数据结构的分配都是在堆和栈上进行的,而堆和栈都是建立在内存之上。内存作为现代计算机运行的核心,CPU可以直接访问的通用存储只有内存和处理器内置的寄存器,所有的代码都需要装载到内存之后才能…

Linux - 内存管理

【1】前言 内存管理是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。 内存管理是操作系统很重要的一部分。作为一个后端开发来说,了解操作系统是如何进行内存…

Linux的内存管理

Linux的内存管理 Linux的内存管理是一个非常复杂的过程,主要分成两个大的部分:内核的内存管理和进程虚拟内存。内核的内存管理是Linux内存管理的核心,所以我们先对内核的内存管理进行简介。 一、物理内存模型 物理内存模型主要分为两种&…

Linux内存管理(上)

Linux内存管理(上) 摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存地使用方法。力求从外自内、水到渠成地引导网友分析Linux地内存管理与使用。在本章最后我们给出一个内存映射…

【纯干货】Linux内存管理(最透彻的一篇)

摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例…

Linux内存管理方式

目录 前言 内存管理方式 分段式 分页式 段页式 虚拟地址如何映射到物理地址 缺页中断 内存交换 内存置换算法 前言 之前说过linux中的程序地址空间是使用的虚拟地址,虚拟地址和真实的物理地址有着某种特殊的映射关系(MMU,全称Memory Ma…

一文讲透Linux内存管理

一、Linux内存管理概述 Linux内存管理是指对系统内存的分配、释放、映射、管理、交换、压缩等一系列操作的管理。在Linux中,内存被划分为多个区域,每个区域有不同的作用,包括内核空间、用户空间、缓存、交换分区等。Linux内存管理的目标是最…

Linux内存管理(一):内存管理概述

首先明确下面几个概念: 程序(Program):一组指令的有序集合,是静态的实体。进程(Process):执行程序后,操作系统将程序的可执行文件和它的相关依赖加载到内存中,得到的动态的实体称为进程。 程序和进程并不…

史上最全linux内存管理

Linux内存结构 Node 首先, 内存被划分为结点. 每个结点关联到系统中的一个处理器,内核中表示为pg_data_t的 实例. 系统中每个节点被链接到一个以NULL结尾的pgdat_list链表中<而其中的每个节点利用pg_data_tnode_next字段链接到下一节&#xff0e;而对于PC这种UMA结构的机…

一文掌握 Linux 内存管理

作者&#xff1a;dengxuanshi&#xff0c;腾讯 IEG 后台开发工程师 以下源代码来自 linux-5.10.3 内核代码&#xff0c;主要以 x86-32 为例。 Linux 内存管理是一个很复杂的“工程”&#xff0c;它不仅仅是对物理内存的管理&#xff0c;也涉及到虚拟内存管理、内存交换和内存回…

linux内存管理(一)-内存管理架构

文章目录 一、内存管理架构二、虚拟地址空间布局架构2.1内核地址空间布局2.2用户地址空间布局 三、物理内存体系架构3.1 正常内存3.2 设备内存四、内存结构五、内存模型六、虚拟地址和物理地址的转换七、页表八、内存映射原理分析 一、内存管理架构 内存管理子系统架构可以分为…

Linux内存管理(最透彻的一篇)

【转】Linux内存管理&#xff08;最透彻的一篇&#xff09; 摘要&#xff1a;本章首先以应用程序开发者的角度审视Linux的进程内存管理&#xff0c;在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管…

Linux内存管理机制(最透彻的一篇)

摘要&#xff1a;本章首先以应用程序开发者的角度审视Linux的进程内存管理&#xff0c;在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后&#xff0c;我们给出一个内存映射的实例…

概述 - Linux内存管理(一)

内存管理是从单板上电运行uboot启动引导linux并完成文件系统挂载&#xff08;文件系统管理Nandflash&#xff09;过程前两个环节都需要完成的重要工作&#xff0c;并且随着程序推进的内存管理也逐渐完善起来。如果一步到位直接编写一个非常完整的内存管理系统&#xff0c;这个过…

linux 内存管理

目录 1 Linux内存管理概述 1.1 内存的层次结构 1.2 虚拟内存概述 1.2.1 虚拟内存基本思想 1.2.2 进程虚拟地址空间 1.3 内核空间到物理空间的映射 1.3.1 内核空间的线性映射 1.3.2 内核镜像的物理存储 1.4 虚拟内存实现机制 2 进程用户空间管理 2.1 进程用户空间布局…

linux内存管理

内存管理 一、相关概念 ● 虚拟内存&#xff1a;内存管理的一种技术&#xff0c;它使得应用程序认为它拥有连续的可用内存&#xff08;一个连续完整的地址空间&#xff09;&#xff1b; ● 物理内存&#xff1a;相对于虚拟内存而言&#xff0c;指通过物理内存条而获得的内存空间…

Linux中内存管理详解

Linux中内存管理 内存管理的主要工作就是对物理内存进行组织&#xff0c;然后对物理内存的分配和回收。但是Linux引入了虚拟地址的概念。 虚拟地址的作用 如果用户进程直接操作物理地址会有以下的坏处&#xff1a; 1、 用户进程可以直接操作内核对应的内存&#xff0c;破坏内…

Linux 内存管理 详解(虚拟内存、物理内存,进程地址空间)

Linux -操作系统内存管理 存储系统存储器的层次结构 Linux的内存管理物理内存物理内存管理 虚拟内存虚拟地址空间(写时拷贝) 和物理地址映射关系页表虚拟内存优缺点 「在 4GB 物理内存的机器上&#xff0c;申请 8G 内存会怎么样&#xff1f;」 计算机硬件的五大组成部分为&…

逆向汇编与反汇编——汇编基础快速入门

一、常用32位寄存器介绍 不同位数的寄存器的名称&#xff1a; eax&#xff1a;累加寄存器。通常用于算数运算&#xff0c;将结果保留在eax当中&#xff0c;当然也可以用于其他用途&#xff0c;比如一般把返回值通过eax传递出去。 ebx&#xff1a;基址寄存器 。有点类似于ebp…