深入Linux内核架构—内存管理(二)

释放双眼,带上耳机,听听看~!

一、(N)UMA 模型中的内存组织

Linux支持的各种不同体系结构在内存管理方面差别很大。由于内核的明智设计,以及某些情况下插入的兼容层,这些差别被隐藏起来了。按照先前讨论过的,一个主要的问题是
页表中不同数目的间接层。另一个关键是
NUMA和UMA系统的划分。

内核对一致和非一致内存访问系统使用相同的数据结构,针对各种不同形式的内存布局,各个算法几乎没有什么差别。在UMA系统上,只使用一个NUMA结点来管理整个系统内存。而内存管理的其他部分则相信它们是在处理一个伪NUMA系统。

1、概述

在讲解内核中用于组织内存的数据结构之前,需要先定义几个概念。首先考虑NUMA系统。图3-3给出了下述内存划分的图示。

深入Linux内核架构—内存管理(二)

首先,内存划分为结点。每个结点关联到系统中的一个处理器,在内核中表示为pg_data_t的实例。

各个结点又划分为内存域,是内存的进一步细分。例如,对可用于 DMA操作的内存区是有限制的。只有前16 MB适用,还有一个高端内存

给TA打赏
共{{data.count}}人
人已打赏
安全运维

WordPress网站专用docker容器环境带Waf

2020-7-18 20:04:44

安全运维

运维安全-Gitlab管理员权限安全思考

2021-9-19 9:16:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索