系统启动

系统启动

  1. 安装:将os影像安装到存储介质如磁盘中,然后写启动信息到MBR(512字节,0面0道1扇区)

  2. 系统引导分为三个阶段:

系统引导经过这三个阶段后,就可以交给用户使用了。

独立引导

系统引导的方式独立引导辅助下装

独立引导的过程:

初始引导也叫自举。自举的含义是操作系统通过滚雪球的方式将自己建立起来,这是目前大多数系统所常用的一种引导方法。 系统核心(如linux内核)是整个操作系统最关键的部分,只有它在主存中运行才能逐步建立起来整个系统, 初始引导的任务就是把系统核心送入主存并启动它运行,系统核心是存放在辅存(通常是硬盘)上的。如何能在辅存上的文件中找到这个核心并送到主存中, 这需要有个程序做这件事,该程序成为引导程序(如grub)。然而引导程序也在辅存中,如何把该引导程序首先装入内存呢?这需要有一个初始引导程序,而这个程序必须在一开机时能自动运行,这就只有求助于硬件了。 在现代大多数计算机系统中,在他的只读存储器(ROM等)中都有一段用于初始引导的固化代码。当系统加电或按下某种按钮时,硬件电子线路便会自动地把ROM中这段初始引导程序读入主 存,并将CPU控制权交给它。 初始引导程序的任务是将外存中的引导程序读入主存。这里必须指出,这个引导程序必须放在辅存的固定位置上(称为引导块),ROM从这个引导块去读内容,而不 管它是什么,这就要求将引导程序事先存放在这个引导块上。当引导程序进入主存后,随机开始运行。该程序的任务是将操作系统的核心程序读入主存某一位置,然后控制转入核心的初始化程序执行。

一旦核心内的初始化程序开始执行,系统初启就进入第二阶段,这一阶段的主要任务是初始化核心数据,unix的系统核心初始化阶段完成如下三项任务:

核心页表寄存器与核心数据的初始化

建立0#进程,0#进程是系统建立的第一个且永远处于核心态的唯一的进程。它的主要任务是按照系统的需要把即将运行的进程送入主存,并把近期内不运行的进程送到辅存上

建立1#进程,1#进程是初始化进程,它的作用是实现系统的初始化,负责为终端建立子进程。

这一阶段的主要任务是做好一切准备工作,使系统处于命令接收状态,这时用户可以使用机器了。

unix系统初始化是由1#进程执行INIT进程实现的。

它分两个阶段完成: