Chinaunix首页 | 论坛 | 博客
  • 博客访问: 370420
  • 博文数量: 94
  • 博客积分: 3421
  • 博客等级: 中校
  • 技术积分: 919
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-18 16:27
文章分类

全部博文(94)

文章存档

2015年(8)

2013年(6)

2012年(26)

2011年(8)

2010年(26)

2009年(20)

我的朋友

分类: LINUX

2012-03-25 21:53:52

“物理地址空间”
这个术语是指系统内所有的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没关系。
阅读(1519) | 评论(0) | 转发(0) |
0

上一篇:内存区梳理

下一篇:设备驱动程序

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