Linux内核分析(十九)--内存管理之Linux中的内存管理机制汇总

目录

一、引言
二、虚拟内存
------>2.1、linux中的分段与分页
------>2.2、Linux的内存分配与管理
------>2.3、vm_area_struct
------>2.4、两部分的页表分配
三、物理内存
------>3.1、伙伴系统
------>3.2、slab分配器
------>3.3、内核态内存管理

一、引言

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

本章就来整体性的介绍一下linux中的内存管理

二、虚拟内存

内存管理单元(MMU)是硬件提供的最底层的内存管理机制,是CPU的一部分,用来管理内存的控制线路,提供把虚拟地址映射为物理地址的能力。

在x86体系结构下,CPU对内存的寻址都是通过分段方式进行的。其工作流程为:CPU生成逻辑地址并交给分段单元。分段单元为每个逻辑地址生成一个线性地址。然后线性地址交给分页单元,以生成内存的物理地址。因此也就是分段和分页单元组成了内存管理

你可能感兴趣的:(CPU性能分析与操作系统的构建,linux,性能优化,运维)