ReactOS 系统引导原理

下面主要研究ReactOS 系统的引导过程;我们只研究文件系统为FAT32的引导过程; 1:开机,打开PC电源; 2:x86结构的CPU会自动进入实模式,并从地址0XFFFF0开始自动执行,这个地址通常是BIOS自检程序; 3:BIOS自检后,在物理地址0处开始初始化中断向量。 4:读硬盘第一个扇区0头0道1扇区(引导扇区)到0000:7c00处 5:检测引导扇区结尾是否等于0xaa55 6:开始执行引导扇区,此时操作系统的第一个代码开始执行; 引导扇区   >首先调用int 13h计算机硬盘扇区数,并保存到BiosCHSDriveSize中   > ... /* Load the GDT */ lgdt gdtptr ;装载描述符 /* Load the IDT */ lidt i386idtptr ;装载中断 /* Enable Protected Mode */ mov %cr0,%eax orl $CR0_PE_SET,%eax ;设置cr0 保护模式位 mov %eax,%cr0 freeldr 加载windows2003内核: LoadAndBootWindows() {   /*初始化LPB*/   AllocateAndInitLPB(&LoaderBlock);   ...   /*检测硬件 检测结构赋于LPB*/   ...   /*装载内核SYSTEM32//NTOSKRNL.EXE*/   WinLdrLoadImage();   /*装载HAL*/   WinLdrLoadImage();   /*扫描导入表*/   ...   /*装载注册表,NLS,OEM,驱动列表*/   WinLdrLoadAndScanSystemHive(); }   总结freeldr.sys的工作: 1, 数据初始化 2, 加载GDT 3, 加载LDT 4, 修改CR0的PE位进入保护模式 5, 跳转到保护模式下 6, 保存全局变量 7, 调用_BootMain调用FreeLdr 8, 修改CR0的PE位进入实模式 9, 加载实模式的LDT 10, 重新启动.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值