当前位置:Linux教程 - 安装启动 - 安装启动 - 开机简述

安装启动 - 开机简述

开机简述
2004-04-23 15:18 pm
来自:Linux文档
现载:Www.8s8s.coM
地址:无名

启动

1. lilo
2. kernel
3. init 1/2/3/5
important files:
/etc/inittab
/etc/rc.d/...
4. xdm (graphics interface)
important file:
/etc/X11/xinit/xsession
It seemed that different distribution has differrent xsession.
5. see how /etc/X11/xinit/xsession is written.
some related files:
Xclients, xinitrc,
.xsession, .Xclients, .xinitrc

  开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析LINUX 开机过程也是深入了解LINUX核心工作原理的一个很好的途径。在不同的计算机平台上, LINUX的开机过程稍有不同,本节以X386微机系统为例,介绍LINUX的开机过程。
1. 开机自检

  在刚开机时,根据X386CUP的特性,代码段(CS,CODE SEGMENT)寄存器的值为全1, 指令计数器(IP,INSTRUCTION POINTER)的值为全0,即CS=FFFF、IP=0000。这时CPU根据 CS和IP 的值执行FFFF0H处的指令。由于FFFF0H已经到了基本内存的高地址顶端,所以, FFFF0H处的指令一般总是一个JMP指令,以便CPU能够跳到比较低的地址去执行那里的代码, 这个地址通常是ROM BIOS 的入口地址。接着,ROM BIOS 进行开机自检,如检查内存,键 盘等。在自检过程中,ROM BIOS会在上位内存(UMB,UPPERMEMORY BLOCK)中进行扫描, 看看是否存在合法的设备控制卡ROM BIOS(如:SCSI卡上的ROM),如果有,就执行其中的 一些初始化代码。最后,ROM BIOS 读取磁盘上的第一个扇区并将这个扇区的内存装入内存。

2. 预引导

  假定硬盘是系统的启动磁盘。硬盘的第一扇区称为主引导记录(MBR, MASTER BOOTRECORD)。 MBR 的长度为512字节。可分为两部分:第一部分为引导(PRE-BOOT)区,占了446个字节; 第二部分为分区表(PARTITION PABLE),共有66个字节,记录硬盘的分区信息。预引导 区的作用之一是找到标记为活动(ACTIVE)的分区,并将活动分区的引导区读入内存。

  如果用软盘启动计算机,ROM BIOS 读入的是软盘的引导区,即软盘的第一个扇区。

3. 核心映像装入

  在LINUX系统中,人们通常把LILO(LINUX LOADER)放在MBR或某个分区的超级块 (SUPERBLOCK)中。假定LILO在MBR中,读取MBR后,LILO就会被首先执行。此时,屏幕上 出现“BOOT:”字样,接下来的工作是装入LINUX核心映像。如果LILO安装在某个分区的超 级块中,通常还会有一个管理开机的程序,这个管理开机的程序负责读取LILO,进而进行 核心映像的装入工作。

4. 核心启动

  核心装入完毕后,CPU的控制权就交给了核心启动代码。此时,核心首先进行硬件的 检测和设备驱动程序的初始化,然后运行INIT。INIT 是LINUX核心启动的第一个用户进程, 其进程号为1,是系统其它用户进程的祖先。

5. 系统初始化

  INIT进程负责进行一系列系统初始化程序和脚本文件,/ETC/INITTAB中包含了INIT所 做的所有工作。

6. 等待用户登录

  系统初始化完毕后,INIT 切换到多用户模式,并为每一个虚拟控制台和串行终端启 动一个GETTY进程。GETTY进程负责接受和检验用户的登录要求。

  至此,LINUX系统的启动工作全部完成。不同核心版本的LINUX 的启动过程有一定的 差异,不同发行版本的LINUX 的启动也可能稍有不同,但基本过程是类似的。另外,在 “BOOT:”后,利用“LINUX SINGLE”命令可以迫使LINUX进入单用户模式,除不要求用 户登录和不启动虚拟终端以外,启动过程的其它部分也基本类似。