64位Linux内核的内存管理,Linux内核学习:内存管理

理解 Linux 内存管理能够更好地理解进程的虚拟空间排布(当一个进程需要某块内存时,它会把自己的一个内存地址交由OS处理)。

虽然进程只关心如何使用自己的线性排列的虚拟地址,而不需要关心物理内存的实际容量,以及如何使用真实的物理内存,但内存管理是内核最复杂的同时也是最重要的一部分;它是协作处理器与内核的关键流程,所以本文我们主要介绍Linux内存管理的相关知识点。

典型的进程内存排布如下:

9ae6e648d4afbaa2c3a494dad053101c.png

操作系统有保护措施,阻止堆和栈的越界行为发生

内存管理

Linux把物理内存划分三个层次来管理

1、存储节点(node)

2、管理区(zone)

3、页(page)

内存管理涉及的领域: * 内存中物理内存页(内存管理的基本单位)的管理 * 分配大块内存的伙伴系统 * 分配小块内存的slab分配器 * 分配非连续内存块的vmalloc机制 * 进程的地址空间

NUMA计算机

NUMA(非一致性内存访问):多处理器计算机系统的各个CPU都有自己的本地内存;NUMA是稀疏且不连续的内存模型,在给定不同内存单元的访问时间可能不一样,系统的物理内存被划分为几个节点(node),在一个单独的节点内,任一给定CPU访问页面所需的时间都是相同的。

分页管理

分页是为了实现非连续分配,以便解决内存碎片问题;由于程序存在局部化特征,这意味着在

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值