加入收藏 | 设为首页 | 会员中心 | 我要投稿 武陵站长网 (https://www.50888.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux系统启动过程介绍

发布时间:2022-11-04 13:30:43 所属栏目:Linux 来源:网络
导读: linux系统启动过程
linux系统流程

通电->BIOS->MBR->GRUB->Kernel->/sbin/init->Runlevel
1、加电
电脑启动后,CPU逻辑电路被设计为只能运行内存中的程序,没有能力直接运行存在于软盘或硬

linux系统启动过程

linux系统流程

在这里插入图片描述

通电->BIOS->MBR->GRUB->Kernel->/sbin/init->Runlevel

1、加电

电脑启动后,CPU逻辑电路被设计为只能运行内存中的程序,没有能力直接运行存在于软盘或硬盘中的操作系统,如果想要运行,必须要加载到内存(RAM)中。

2、BIOS POST自检 +初始化设备

在这里插入图片描述

1、电脑主机打开电源的时候,随后会听到滴的一声,系统启动开始了开机自检(POST-power on self test)自检开始):

2、初始化设备

有一项对启动操作系统至关重要的工作,那就是BIOS在内存中建立中断向量表和中断服务程序。

为了启动操作系统,BIOS的runtime服务将搜索那些激活状态的或是可引导启动的设备,搜索的顺序则由CMOS设置决定(也就是我们平时所谓的在BIOS中设置的启动顺序)。一个软驱,一台光驱,一个硬盘上的分区,网络上的设备甚至一个usb 闪存盘都可以作为一个启动设备。

linux内核的启动过程_Linux 系统启动过程_嵌入式linux启动过程

当然,linux通常是从硬盘启动的。硬盘上的MBR(主启动记录)包含有基本的boot loader,它是一个512字节大小的扇区,位于磁盘的第一个扇区(0磁头0磁道1扇区)。当MBR被装载到RAM中后Linux 系统启动过程,BIOS就会将控制权转交给MBR。

3、主引导记录(Master boot record,MBR)——如何找到操作系统?

按照BIOS所设定的系统启动流程,如果检测通过,则根据引导次序(Boot Sequence)开始在第一台设备上支持启动程序,我们的启动设备主要包括硬盘、USB、SD等,我们一般用的是硬盘,然后进行读取第一个设备就是硬盘,第一个要读去的就是该硬盘的主引导记录MBR(Master Boot Record),然后系统可以根据启动区安装的引导加载程序(Boot Loader)开始执行核心识别的工作。

在这里插入图片描述

主引导记录只有512个字节,它的主要作用是,告诉计算机到硬盘的哪一个位置去找操作系统。

主引导记录由三个部分组成:

1、first stage

将控制权交给主引导代码(主boot loader)。主引导代码的任务包括

4、GRUB(次引导加载程序)->Kernel

2、second stage

一旦找到该分区(用户选择要加载的内核之后),它就会搜索第二个阶段引导加载程序。例如:GRUB,并将其加载到内存中。次引导加载程序(GRUB)就会根据/boot/grub.conf配置文件中所设置的信息,从/boot/所在的分区上读取Linux内核映像,然后把内核映像加载到内存中并把控制权交给Linux内核。

在这里插入图片描述

在这里插入图片描述

引导加载程序所选的内核映像,并将控制权给内核。由于内核是被压缩过的,所以首要任务就是先进行内核解压。在此之后,检查和分析系统硬件并初始化内核中内置的硬件设备驱动程序。

linux内核获得控制权之后的操作:

5、sbin/init

内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。

在这里插入图片描述

除了启动系统之外,init还负责保持系统的运行和彻底关闭系统。它充当了所有非内核进程的“最后的管理者”,在必要时清理它们,并在用户登录和退出时重新启动用户登录服务。

6、Runlevel programs

当LINUX系统启动完成后,你会发现许多的服务进程也启动了,例如:“starting sendmail …. OK”. 这些服务程序都放在相应LINUX系统启动级别的文件夹下面。

Linux的运行等级设定如下:

参考

1、

2、

(编辑:武陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!