【linux内核分析与应用-陈莉君】物理内存分配与回收机制下

目录

 

1.不同种类的计算机的内存管理方式

2.内存管理区

3.节点,区和页框之间的关系

4.伙伴算法

5.物理内存分配器

6.分区页框分配器图示

7.总结,资料与问题


1.不同种类的计算机的内存管理方式

有两种类型的计算机分别以不同的方法来管理物理内存,分别是:
NUMA(是多处理器计算机,每个CPU有各自本地的内存,使得每个CPU都能以较快的速度访问本地内存,
而各个CPU之间通过总线连接起来,这样也可以访问其他CPU的本地内存,只不过速度比较慢)
UMA(将可用内存以连续的方式组织起来)

为了兼容NUMA模式,内核映入了内存节点,每个结点关联一个CPU,而各个节点又划分为几个内存区,
每个内存区中又有若干个页框.

NUMA计算机中每个CPU物理内存称为一个内存节点,内核通过pg_data_t数据结构来描述一个内存
节点,系统内的所有节点就形成一个双链表.

UMA计算机中只有一个内存节点,也就是说整个物理内存形成一个节点,其对应的双向链表中也只有那一个节点.

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第1张图片

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第2张图片

2.内存管理区

32位和64位操作系统对内存区管理上有什么区别?
最大的区别是64位操作系统不再有高端内存的概念,可以支持大于4GB的内存寻址,
而且ZONE_NORMAL的空间将扩展到64GB或者128GB,而且64位系统上的映射变得更加简单.

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第3张图片

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第4张图片

 

3.节点,区和页框之间的关系

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第5张图片

4.伙伴算法

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第6张图片

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第7张图片

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第8张图片

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第9张图片

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第10张图片

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第11张图片

5.物理内存分配器

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第12张图片

6.分区页框分配器图示

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第13张图片

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第14张图片

7.总结,资料与问题

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第15张图片

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第16张图片

【linux内核分析与应用-陈莉君】物理内存分配与回收机制下_第17张图片

你可能感兴趣的:(操作系统,物理内存)