马哥linux系统基础之linux主机系统初始化流程

dzdp163 2014-08-16 07:11:58

非常详细的linux初始化流程,面试中经常问到:

马哥linux讲解的linux主机系统初始化步骤:开机流程

POST:加电自检,启动电源按钮时,检查基本硬件是否正常,
如基本芯片,内存,CPU等是否正常
power on self testing 上电后自我检查

BIOS:基本输入输出系统,是一段程序,一段设定,定义了系统启动过程中的某些特性的。如光盘,硬盘,u盘都存在,从哪个上启动系统,就有BIOS来决定启动优先级,它保存的是系统属性信息的配置
CMOS是互补金属氧化物半导体,是硬件存储芯片,是只读存储器
BIOS是在CMOS中保存的,由于它是只读的,所有保存的是BIOS那段可选择的程序本身,数据是在另外一个地方保存的。

POST-->BIOS(boot sequence)-->BootLoader(位于MBR)-->Kernel(initrd:rootfs切换,加载根文件系统)

Kernel-->/sbin/init(进程号为1/etc/inittab))


第一步:post加电自检
第二步:bios,根据启动顺序或优先级boot sequence,从中选择一个存储设备当做我们操作系统所在的启动设备,然后加载里面的操作系统,BIOS不能干太多的事,按顺序找到存储设备后,如一个硬盘,会加载硬盘的MBR的Bootloader,第一个不存在会找第二个...,如果找不到系统就启动不了

第三步:Bootloader是一段压缩存放的程序,会被BIOS加载至内存当中的一段固定区域,把它展开,此后,会把控制权交予Bootloader,Bootloader的重要功能是加载内核的,

第四步:加载所选定的内核或者操作系统所在分区上的存储的内核
(内核一般是压缩存放的,内核文件存放在/boot下,名为vmlinuz-...)Bootloader将内核加载至内存当中,并解压缩,展开并初始化,探测基本硬件等,内核初始化启动以后,BootLoader就退出了

第五步:内核要加载根文件系统,切换根文件系统,
驱动程序的初始化过程不是在内核初始化时完成的,而是在用户空间进程初始化完成的

第六步:/sbin/init进程(/etc/inittab)
...全文
216 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
百曉生 2014-08-18
  • 打赏
  • 举报
回复
谢谢分享
ljc007 2014-08-18
  • 打赏
  • 举报
回复
感谢分享
Rocloud 2014-08-16
  • 打赏
  • 举报
回复
学习学习

3,286

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 实用资料发布区
社区管理员
  • 实用资料发布区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧