Chinaunix首页 | 论坛 | 博客
  • 博客访问: 35690
  • 博文数量: 11
  • 博客积分: 265
  • 博客等级: 二等列兵
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-03 12:48
文章分类
文章存档

2012年(11)

我的朋友

分类: LINUX

2012-09-11 10:18:28


内核映像的各个部分在其中驻留的情况
前4KB是第一个页帧,通常留给BIOS使用,接下来640KB原则是可用的,但是通常也不用于内核加载,原因是该区域之后紧邻的区域由系统保留
用于映射各种ROM(BIOS与显卡ROM),不可能向映像ROM里面写入数据。内核需要装载到一个连续的内存区中,如果从4KB处作为起始位置来装载内核映像,则要求内核必须要小于640KB

IA32内核采用0x100000作为起始地址。对应于内存中第二兆字节的开始处,从此处开始,有足够的连续内存区,可容纳整个内核

内核占据的内存分为几个段:
_text和_etext:代码段的起始和结束地址
_etext和_edata:保留大部分内核变量
_end:初始化数据在内核起始过程结束后不再需要


所有的地址都偏移0xC0000000,在用户和内核地址空间采用3:1划分时,内核段的起始地址是0xC0000000,该地址为虚拟地址,物理内存映射到虚拟地址空间的时候,采用了从该地址开始的线性映射方式,
减去0xC0000000,可获得对应的物理地址

阅读(886) | 评论(0) | 转发(0) |
0

上一篇:存储器系统

下一篇:直接内存访问(DMA)

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