Chinaunix首页 | 论坛 | 博客
  • 博客访问: 166011
  • 博文数量: 119
  • 博客积分: 2862
  • 博客等级: 上尉
  • 技术积分: 945
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-20 09:46
文章分类

全部博文(119)

文章存档

2013年(2)

2012年(61)

2011年(22)

2010年(34)

分类:

2012-10-05 22:17:38

原文地址:内存区梳理 作者:怪怪虎

“物理地址空间”
这个术语是指系统内所有的RAM+ROM. 即内存条里的空间只是“物理地址空间”的一部分。并且还不是第一部分
00010000-0009f3ff : System RAM
0009f400-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000cafff : Video ROM
000f0000-000fffff : System ROM
00100000-df62efff : System RAM
00200000-00488153 : Kernel code
00488154-00624847 : Kernel data

高端内存区
在很早以前,8088用20根地址线,后来出现了24根,32根,为了兼容,需要把A20地址线进行特殊处理,
所以有时把1M以上的空间,都称为高端内存区。

高端内存
现在32位cpu上,常常需要地址空间的映射。3G给用户空间,1G给内核空间。
实际上,“内核直接映射空间”也达不到 1G,因此,Linux 规定“内核直接映射空间” 最多映射 896M 物理内存。
把3G+896M以上的空间称位高端内存。
PAGE_OFFSET(3G)
|+896M --8M-- vmalloc区 --4K-- vmalloc区 --8K-- 永久内核映射--临时内核映射(固定映射)|4G
对于高端映射,有三种不通的方式。
非连续内存区映射,VM_ALLOC
永久内核映射   通过 kmap(), 可以把一个 page 映射到这个空间来
临时内核映射(固定映射)kmap_atomic()

useful link


http://kerneldiy.com/blog/2010/11/boot_mem_allocator_ii/




vmalloc分配的空间与vm_area_struct没关系。
阅读(422) | 评论(0) | 转发(0) |
0

上一篇:PAE PSE PS 关系

下一篇:ARM GCC 内嵌汇编手册

给主人留下些什么吧!~~