硬盘引导的流程与相应源码文件名称:

引导序号

引导过程

引导执行代码位数

目标文件名称

1.

主引导代码(Master Boot Record (MBR) code),主要寻找活动分区,然后读入引导扇区代码

16位执行代码

reactos/boot/freeldr/bootsect/dosmbr.asm

2.

引导扇区代码,主要寻找根据的引导程序,这里主要寻找freeldr.sys。

16位执行代码

reactos/boot/freeldr/bootsect/ fat.asm或

reactos/boot/freeldr/bootsect/fat32.asm

3.

ReactOS的加载程序freeldr.sys,主要用来加载hal.dll和ntoskrnl.exe,并且读取FREELDR.INI配置文件。

16位和32位代码

reactos/boot/freeldr

4.

ntoskrnl.exe主要加载驱动程序和初始化内核工作。

32位代码

reactos/ntoskrnl

在ntoskrnl.exe文件里会首先加载下面的文件运行:

模块名称:bootc.lst, start=[0xC00DC000]

模块名称:system32/drivers/pci.sys, start=[0xC00DD000]

模块名称:system32/drivers/scsiport.sys, start=[0xC00E4000]

模块名称:system32/drivers/atapi.sys, start=[0xC00F2000]

模块名称:system32/drivers/class2.sys, start=[0xC00FC000]

模块名称:system32/drivers/disk.sys, start=[0xC0109000]

模块名称:system32/drivers/vfatfs.sys, start=[0xC0114000]

模块名称:system32/drivers/ndis.sys, start=[0xC012C000]

模块名称:system32/config/system, start=[0xC0157000]

模块名称:system32/ansi.nls, start=[0xC0163000]

模块名称:system32/oem.nls, start=[0xC0174000]

模块名称:system32/casemap.nls, start=[0xC0185000]

接着根据硬件来加载所有驱动程序。

通过上面的过程,就把ReactOS加载到系统内存里,并且加载好所有驱动程序。

转载于:https://www.cnblogs.com/ajuanabc/archive/2008/12/11/2463911.html

reactos操作系统实现(6)相关推荐

  1. reactos操作系统实现 2

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 对于开发 ...

  2. reactos操作系统实现(2)

    对于开发一个操作系统是一个漫长的过程,并不像一个Hello world程序那么快捷,那么明了.因此对开发OS的基本知识,基本技能也需要比较高深一些,特别对一些名词和概念,更需要深入地了解.由于操作系统 ...

  3. reactos操作系统实现 1

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! reac ...

  4. reactos操作系统实现(47)

    当光盘变成记录数据以后,就开始使用光盘来分发操作系统了.毕竟光盘有着储存数据量大,成本便宜的优势.下面就来分析Reactos是怎么样通过光盘的格式来引导操作系统的. 现今的计算机BIOS,会在开机时根 ...

  5. reactos操作系统实现 3

    有人说,reactos不是实时操作系统,不能做嵌入式系统,难道真的不能做嵌入式系统吗?其实不是这样的,嵌入式系统本来就包括有两类系统,一种是要求实时性强,一种是要求实时性弱的.这两种都是嵌入式系统.因 ...

  6. reactos操作系统实现(1)

    reactos是什么操作系统呢?它是一个开源的操作系统,并且是兼容Windows XP的应用程序和驱动程序的操作系统.意思就是说,直接安装一个reactos之后,把第三方的驱动程序安装好后,就可以运行 ...

  7. reactos操作系统实现(3)

    有人说,reactos不是实时操作系统,不能做嵌入式系统,难道真的不能做嵌入式系统吗?其实不是这样的,嵌入式系统本来就包括有两类系统,一种是要求实时性强,一种是要求实时性弱的.这两种都是嵌入式系统.因 ...

  8. reactos操作系统实现(12)

    有了上面的知识,就来分析ReactOS里引导任务是怎么样设置全局描述符表.其工作过程如下图所示: 由于CPU初始化运行后,就当作为一个任务在运行.这里主要设置这个任务的运行保存环境,以便CPU可以交给 ...

  9. reactos操作系统实现(119)

    前介绍了初始化函数ScsiClassInitialize,那么在这个函数里使用下面的语句来查找SCSI的磁盘,如下: if (InitializationData->ClassFindDevic ...

最新文章

  1. mongodb 的PHP 扩展
  2. 使用Qt Designer编辑资源
  3. 计算机应用对口升学后能学啥专业,计算机应用专业的对口升学生考什么大学好...
  4. 【问题和解决】NLTK7.6节nltk.sem遇到的问题
  5. 20130328java基础学习笔记-循环结构for以及for,while循环区别
  6. Pytorch的BatchNorm层使用中容易出现的问题
  7. VS2005中Build顺序的设定
  8. Vue3@cli项目结构
  9. 每日算法系列【LeetCode 714】买卖股票的最佳时机含手续费
  10. 如何用一个废旧的笔记本打造一个家庭网络服务器?
  11. 用91卫图助手获取研究区(勾画研究矢量shp格式范围等)
  12. 如何通过手机拍照生成三维模型
  13. 期货真的可以做到长期稳定盈利吗?
  14. 软件工程-第三章 软件需求分析1
  15. gmapping建图与rviz实时显示中出现的问题记录
  16. 《送东阳马生序》(节选)
  17. 小米网关一二三代的区别【转载】网关,mesh ,zigbee
  18. DFS 简单的剪枝和状态压缩 海贼王之伟大航路
  19. FLStudio21水果免费版本FL2023电音制作软件
  20. 成都东软学院2016年ACM冬季校赛正式赛 - 题解

热门文章

  1. 数据结构和算法(Java),上
  2. 微信支付实战(完整的代码,复制即可用)
  3. IoT僵尸网络Miori通过ThinkPHP远程代码执行漏洞进行传播
  4. hpgs2wnd.exe
  5. Android常用颜色收集colors.xml
  6. Open cv的Canny边缘检测和轮廓检测例子
  7. 牛客—编程初学者入门训练—Kiki和酸奶(C语言实现)
  8. 搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程
  9. Hitting Set 碰撞集问题
  10. 有道获取单词读音api