了解linux 64位地址空间内存布局

主要搞清楚下列问题:

1.X86-64 页式管理有哪些改变?

2.Linux是怎样支持64bit地址管理?

3.64bit 内存布局是怎么样的?

1. X86-64 页式管理

查看《64-ia-32-architectures-software-developer-manual》-> VOLUME3 -> Chapter 4 paging -> 4.5 IA-32E PAGING,重点查看**地址转换**图。

 

另外参考《X86-64上的Linux VM管理系统》更容易理解。

 

2. Linux下64bit地址管理

查看随内核文档《https://www.kernel.org/doc/Documentation/x86/x86_64/mm.txt 》,初次看有些费解,注意:

  • 内存布局重要分三大块,从低地址到高地址,依次是:用户空间,空洞(目前换没用), 内核空间; 

  • 用户空间相当简单是连续的,而内核空间又分成很多小的区域,如直接映射区,vmalloc,text区和内核模块区等,并且各区域由空洞隔开;

  •  要弄懂三大区域进一步是如何布局的,就比较费事了,参考问题3会有个大概了解。

 

内存布局的配置文件见《http://lxr.free-electrons.com/source/arch/x86/include/asm/

pgtable_64_types.h?v=3.8#L26》

3. 64bit 内存布局

 为了观察一个具体进程的内存布局,可以sudo cat /proc/pid/maps,特殊可以直接sudo cat /proc/self/mpas查看当前进程内存布局。

转载于:https://my.oschina.net/u/2475751/blog/527610

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值