系统的启动流程

Linux系统的启动流程是一个复杂且有序的过程,涉及多个组件和阶段。以下是Linux系统启动的基本流程:
第一步:BIOS自检(POST):
当计算机加电启动后,BIOS(基本输入输出系统)会进行自检(POST,Power-On Self-Test),检查硬件组件是否存在并正常工作。
BIOS会读取硬盘的第一个扇区(MBR,Master Boot Record,主引导记录),找到引导加载程序(如GRUB)的位置。

第二步:读取MBR(主引导记录):
BIOS自检完成后,会按照设定的启动顺序(如硬盘、光驱、USB等)寻找可启动设备。
找到可启动设备后,BIOS会读取该设备上的MBR(主引导记录),MBR通常位于磁盘的第一个扇区(512字节)。
MBR中包含一个小程序(引导加载程序),该程序知道如何加载并启动操作系统。

第三步:GRUB或其他引导加载程序(Boot Loader):
如果系统安装了GRUB(GNU引导加载程序)或其他引导加载程序,MBR中的小程序会将控制权交给它们。
GRUB会提供一个菜单,让用户选择要启动的Linux内核版本或其他操作系统。
用户选择后,引导加载程序将相应的Linux内核加载到内存中,并跳转到内核的入口点。

第四步:加载Linux内核:
用户从GRUB菜单中选择要启动的Linux内核后,GRUB会读取并加载该内核到内存中。
内核会开始初始化系统的硬件组件,设置中断处理程序,加载必要的驱动程序等。
内核会挂载根文件系统为只读模式,准备运行init进程。

第五步:加载Linux内核:运行init进程(PID为1):
内核初始化完成后,会启动init进程(PID为1),这是Linux系统中第一个由内核启动的用户空间进程。
init进程负责读取系统初始化配置文件(如/etc/inittab、/etc/systemd/system/下的服务单元文件等),并根据配置启动其他系统进程和服务。
根据运行级别,init进程会启动相应的系统服务和守护进程。

第六步:运行系统服务:
init进程(或其替代品如systemd)会按照配置文件的指示启动各种系统服务,如网络服务、数据库服务、SSH服务等。
这些服务可能包括SSH服务器、Web服务器、数据库等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值