Linux 内存管理 重要结构体 (转)

Tags: Memory   Linux  

虚拟内存地址与实际内存地址之间的关系,是如此转换的,逻辑地址-->线性地址-->物理地址。也是从分段单元到分页单元的转换。在 linux中,用户程序所使用的地址与硬件使用的物理地址是不等同的。虚拟内存引入一个间接层,它使得许多操作成为可能。在引入虚拟内存这个概念和方法后,在系统中运行的程序可以分配比物理内存更多的内存。而linux的地址有分下面几个类型:

leon Published by 2014-01-27 17:11

Detail »

Linux内存管理伙伴算法

Tags: Memory   Linux  

伙伴算法

Linux内核内存管理的任务包括:

  • 遵从CPU的MMU(Memory Management Unit)机制
  • 合理、有效、快速地管理内存
  • 实现内存保护机制
  • 实现虚拟内存
  • 共享
  • 重定位

leon Published by 2014-01-12 04:35

Detail »

内存管理

Tags: Memory   Linux  

学习 Linux 内核,应该是首先建立清晰的概念,把握整体,然后才是深入细节。
内存管理看上去比较复杂,但我认为,掌握以下几个基本概念,在学习时,就能做到成竹在胸
欢迎补充、讨论!

leon Published by 2014-01-03 03:58

Detail »

完全内存虚拟化

Tags: XEN   Memory   Virtualization  

目前的全虚拟化内存主要有两种解决方案:

1 完全使用软件实现的shadow page table 方案,已经在Xen/KVM中实现,性能比较令人满意
2 使用硬件辅助的全虚拟化方案如 AMD处理器支持的Nesting Page,在Xen中已经得到支持并成为(Hardware Assist Paging,简称HAP),在浏览相关源代码树时可以看到相关的文件,根据Xen summit的slide, HAP性能通常比SPT(shadow page table)高10%

 

leon Published by 2013-09-26 02:41

Detail »

内存分配——深入浅出

Tags: Memory  

一提到内存管理,我们头脑中闪出的两个概念,就是虚拟内存,与物理内存。这两个概念主要来自于linux内核的支持。

Linux在内存管理上份为两级,一级是线性区,类似于00c73000-00c88000,对应于虚拟内存,它实际上不占用实际物理内存;一级是具体的物理页面,它对应我们机器上的物理内存。

Author:leon

lyan Published by 2013-03-21 14:28

Detail »