1 / 51
文档名称:

第 2 章 Linux系统的启动.ppt

格式:ppt   页数:51
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第 2 章 Linux系统的启动.ppt

上传人:中国课件站 2011/9/6 文件大小:0 KB

下载得到文件列表

第 2 章 Linux系统的启动.ppt

文档介绍

文档介绍:第2章Linux系统的启动
本章从系统的初始化过程介绍对Linux内核源码的分析的一种方法。系统的初始化流程包括:系统引导,实模式下的初始化,保护模式下的初始化共三个部分。和系统的引导过程相关的概念还有单用户模式、运行级别等。对这些概念的正确理解是配置和维护系统的必要条件。

一般来说,操作系统的引导过程分两个步骤。首先,计算机硬件经过开机自检(Power On Self-Test,POST)之后,从软盘或硬盘的固定位置装载一小段代码,这段代码一般称为“引导装载器”。然后,由引导装载器负责装入并运行操作系统。引导装载器非常小,一般只有几百个字节,而操作系统庞大而复杂。上述分成两阶段的引导过程,可将计算机中的固化软件保持得足够小,同时也便于实现对不同操作系统的引导。
系统引导过程简介
系统启动过程主要由以下几个步骤组成(以硬盘启动为例):
(1) 开机
(2) BIOS 加电自检( Power On Self Test,POST ),内存地址为 0ffff:0000
(3) 将硬盘第一个扇区(0头0道1扇区, 也就是Boot Sector)读入内存地址 0000:7c00 处。
(4) 检查(WORD) 0000:7dfe 是否等于 0xaa55, 若不等于则转去尝试其他启动介质, 如果没有其他启动介质则显示"No ROM BASIC" 然后死机。
(5) 跳转到 0000:7c00 处执行 MBR 中的程序。
(6) MBR 首先将自己复制到 0000:0600 处, 然后继续执行。
(7) 在主分区表中搜索标志为活动的分区。如果发现没有活动分区或有不止一个活动分区, 则停止。
(8)将活动分区的第一个扇区读入内存地址0000:7c00 处。
(9)检查(WORD) 0000:7dfe 是否等于 0xaa55, 若不等于则显示"Missing Operating System" 然后停止, 或尝试软盘启动。
(10)跳转到0000:7c00 处继续执行特定系统的启动程序。
(11)启动系统。
以上步骤中 2,3,4,5 步是由 BIOS 的引导程序完成。 6,7,8,9,10步由MBR中的引导程序完成。一般多系统引导程序(如 Smart Boot Manager、BootStar、PQBoot 等)都是将标准主引导记录替换成自己的引导程序, 在运行系统启动程序之前让用户选择要启动的分区。而某些系统自带的多系统引导程序(如LILO,NT Loader 等)则可以将自己的引导程序放在系统所处分区的第一个扇区中,在 Linux中即为是两个扇区的SuperBlock。
注:以上各步骤中使用的是标准 MBR,其他多系统引导程序的引导过程与此不同。
硬盘结构
1. 硬盘参数
当硬盘的容量还非常小的时候, 人们采用与软盘类似的结构生产硬盘。硬盘盘片的每一条磁道都具有相同的扇区数。由此产生了所谓的3D参数(Disk Geometry)以及相应的寻址方式。到目前为止,通常还是沿用这种 CHS (Cylinder/Head/Sector)来表示硬盘参数。其中:磁头数(Heads) 表示硬盘总共有几个磁头,也就是有几面盘片, 最大为 256 (用 8 个二进制位存储);柱面数(Cylinders) 表示硬盘每一面盘片上有几条磁道, 最大为 1024(用 10 个二进制位存储);扇区数(Sectors per track) 表示每一条磁道上有几个扇区, 最大为63 (用 6 个二进制位存储)。每个扇区一般是 512个字节。
2. 基本 INT 13H 调用简介
BIOS int 13H 调用是 BIOS 提供的磁盘基本输入输出中断调用, 它可以完成磁盘(包括硬盘和软盘)的复位、读写、校验、定位、诊断和格式化等功能。
它使用的是 CHS 寻址方式, 因此最大只能访问 8 GB 左右的硬盘( 本文中如不作特殊说明, 均以 1M = 1048576 字节为单位)。
3. 现代硬盘结构简介
在老式硬盘中, 由于每个磁道的扇区数相等, 所以外道的记录密度要远低于内道, 因此会浪费很多磁盘空间。为了进一步提高硬盘容量,人们改用等密度结构生产硬盘。也就是说, 外圈磁道的扇区比内圈磁道多。采用这种结构后, 硬盘不再具有实际的3D参数, 寻址方式也改为线性寻址, 即以扇区为单位进行寻址。为了与使用3D寻址的老软件兼容(如使用BIOS INT13H接口的软件), 在硬盘控制器内部安装了一个地址翻译器, 由它负责将老式3D参数翻译成新的线性参数。不同的工作模式(如LBA、LARGE、NORMAL)对应不同的3D参数。
4. 扩展 INT 13H
虽然现代硬盘都已经采用了线性寻址,但是由于基本IN