Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10454994
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:34:15

以下讨论的内容是以i386平台为基础的




Linux将4G的地址划分为用户空间和内核空间两部分。在Linux内核的低版本中(2。0。X),通常0-3G为用户空间,3G-4G为内核空间。这个分界点是可以可以改动的。


正是这个分界点的存在,限制了Linux可用的最大内存为2G.而且要通过重编内核,调整这个分界点才能达到。


实际上还可以有更好的方法来解决这个问题。由于内核空间与用户空间互不重合,所以可以用段机制提供的保护功能来保护内核级代码。以下为2。0。X的部分代码:


/usr/src/linux/arch/i386/kernel/entry.S


A: .quad 0xc0c39a000000
阅读(714) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~