码迷,mamicode.com
首页 > 系统相关 > 详细

linux高端内存的理解

时间:2014-10-30 21:05:14      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:blog   http   os   ar   使用   java   sp   2014   art   

在linux中,地址空间映射是这样的,把0xc0000000~0xffffffff这1GB内核地址空间划分成2个部分低端的796MB + 高端的128MB,低端796MB就使用f映射,直接映射到物理内存的前796MB上,而高端128MB就用来随时变更g来映射到物理内存超过796MB的范围上,这里对应了3种映射算法:动态映射,永久内核映射,临时映射。

说下“映射”是什么,其实就是x86的内存分页机制,我们只要通过修改分页的页表项就可达到更改 “映射” 的目的。

查看系统内存映射:

dmesg | grep "Memory:" -n -A 8

bubuko.com,布布扣

  • fixmap为固定映射空间,用于临时映射
  • pkmap为内核永久映射空间
  • vmalloc为映射到“内核动态映射空间”
  • lowmem是低端内存,剩余的就是用户线性地址空间。

《Understanding the linux kernel》上有另外一幅图,可以对比来看。
bubuko.com,布布扣

Reference

[1].http://blog.csdn.net/littlehedgehog/article/details/2796669

[2].http://blog.csdn.net/littlehedgehog/archive/2008/08/19/2796669.aspx

linux高端内存的理解

标签:blog   http   os   ar   使用   java   sp   2014   art   

原文地址:http://my.oschina.net/lvyi/blog/339026

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!