- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统引导装载内核
第 4 章 操作系统引导——装载内核
4
操作系统引导 装载内核
—
知识点
l 操作系统引导基本知识
l Linux 0.01 引导代码分析
l 使用 nasm 生成引导代码
本章介绍操作系统引导的基本知识,包括引导设备、硬盘的启动过程、主引导扇区等,然后分
析 Linux 0.01 的引导代码。
在本章最后,使用 nasm 编写一次引导代码和两次引导代码。使用 nasm 编写的系统引导代码
通过简单的修改即可应用在其他的操作系统引导过程中。
4.1 操作系统引导基本知识
本节主要介绍操作系统引导的基本知识,包括各种系统引导设备、主引导记录的格式等,这些
知识是读者理解和编写系统引导代码的基础。
4.1.1 系统引导设备
操作系统是从引导设备中引导的。一台计算机要引导,必须首先在 BIOS 中指定引导设备,常
见的引导设备是磁盘,包括硬盘、光盘。
磁盘 (软盘和硬盘)通常需要在格式化后才能使用。格式化的作用就是在磁盘上划分不同的区
域来存储不同的数据。通常,磁盘经过格式化后主要包括的区域有:主引导记录区 (只有硬盘有)、
引导记录区、文件分配表(FAT)、目录区和数据区,如图41 所示。
操作系统 引导—装载 内核 第 4 章
主引导记录区 文件分配表
引导记录区 目录区和数据区
(只有硬盘有) (FAT)
图41 磁盘组成示意图
各个区域的功能如下:
l 主引导记录区和引导记录区中存有操作系统启动时的所有信息。
l 文件分配表 (FAT)是反映当前磁盘扇区使用状态的表,记录了磁盘上的每一个扇区的使
用情况。
l 目录区存放磁盘上现有的文件目录及其大小和存放时间等信息。FAT 与目录一起对磁盘
数据区进行管理。
l 数据区存储和文件名相对应的文件实际的内容数据。
4.1.2 启动过程简介
系统的引导是与系统的架构密切相关的,这里只讨论 IA32架构的系统引导过程。
1.硬盘启动步骤
PC机启动过程是遵循一定顺序的,下面是硬盘启动的过程:
(1)机器加电。
(2)BIOS 加电自检 (Power On Self Test,POST)。BIOS在内存中的起始地址为 0FFFF:0000,
BIOS 的加电自检就是从地址 0FFFF:0000 开始执行。BIOS 加电自检的主要工作包括:CPU、内存
及硬盘等关键设备的检测和即插即用设备的检测。完成这些检测后,将依据检测结果更新 ESCD
(Extended System Configuration Data,扩展系统配置数据)。
(3) 计算机将硬盘 0柱面 0磁头 1扇区 (主引导区 MBR) 中的512个字节读入内存0000:7C00
处并跳到 0000:7C00 处执行;在读取过程中,计算机并不检查该扇区的内容是什么。
C
h
a 4
(4)检查(WORD)0000:7DFE 是否等于 0xAA55,若不等于则转去尝试其他启动介质,如 p
t
文档评论(0)