系统引导前奏

CPU加电或reset后进入实模式,寻址范围为0x00000-0xFFFFF,总共1M,CS变为0xffff,ip变为0,既固定的从0xffff0开始执行初始引导程序.这段程序放在EPROM中,MS的DOS把基本的设备驱动都放到了EPROM中,称BIOS(基本输入输出).Linux和window都没使用BIOS的驱动,而是在硬件接口和中断响应实现了自己的驱动.

BIOS在初始引导过程读入MBR(硬盘的第一个扇区),跳转到MBR继续执行,MBR中记录了硬盘的分区信息,MBR程序根据活跃的逻辑分区读入该逻辑分区的引导程序(通常由具体操作系统写入),再由该引导程序采取下一步行动.

系统内存分布:

Address RangeMemory Region Name
0010FFF0-FFFFFFFF32-bit Memory Area
00100000-0010FFEFHigh Memory Area
000A0000-000FFFFFUpper Memory Area
00000000-0009FFFFConventional Memory

 

 

Address0000-3FFF4000-7FFF8000-BFFFC000-FFFF
F0000-FFFFFSystem BIOS
E0000-EFFFFBIOS Plug-and-Play Extended Information
D0000-DFFFFOptional Adapter BIOS
C0000-CFFFFVGA Video BIOSIDE Disk BIOSAdapter BIOS
B0000-BFFFFVGA Monochrome Text Mode RAMVGA Color Text Mode RAM
A0000-AFFFFVGA Graphics Mode RAM

HIGH Memory Area(HMA)

从1M开始的64K减16字节为HMA,把段寄存器设为0xFFFF后可以寻址超过1M,

FFFF:0010 is equivalent to 100000

FFFF:FFFF is equivalent to 10FFEF

Linux引导过程中的内存:
引导扇区被加载到0x7C00处,这段代码将自己搬到0x90000处,0x90000-0xA0000共64K,预留开始64K供BIOS和内核引导使用,还剩下640K基本内存的512K,在这512K顶端预留4K用于引导命令行和传递给内核的数据(BIOS收集),剩下508K基本内存用于内核映像.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值