CentOS系统启动流程和系统初始化
来源:互联网 发布:淘宝卖教程选什么类目 编辑:程序博客网 时间:2024/05/22 09:48
<iframe id="iframeu2000246_0" src="http://pos.baidu.com/acom?sz=695x250&rdid=2000246&dc=2&di=u2000246&dri=0&dis=0&dai=2&ps=503x336&coa=at%3D3%26rsi0%3D695%26rsi1%3D250%26pat%3D6%26tn%3DbaiduCustNativeAD%26rss1%3D%2523FFFFFF%26conBW%3D1%26adp%3D1%26ptt%3D0%26titFF%3D%2525E5%2525BE%2525AE%2525E8%2525BD%2525AF%2525E9%25259B%252585%2525E9%2525BB%252591%26titFS%3D14%26rss2%3D%2523000000%26titSU%3D0%26ptbg%3D90%26piw%3D0%26pih%3D0%26ptp%3D0&dcb=BAIDU_EXP_UNION_define&dtm=BAIDU_DUP_SETJSONADSLOT&dvi=0.0&dci=-1&dpt=none&tsr=82&tpr=1452071590253&ti=CentOS%E7%B3%BB%E7%BB%9F%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E7%B3%BB%E7%BB%9F%E5%88%9D%E5%A7%8B%E5%8C%96&ari=1&dbv=2&drs=1&pcs=1600x1031&pss=1600x523&cfv=18&cpl=42&chi=1&cce=true&cec=GBK&tlm=1451496313&ltu=http%3A%2F%2Fwww.centoscn.com%2FCentOS%2FIntermediate%2F2014%2F0304%2F2492.html&ltr=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3Dhw4HqeuWKJ3_v_SRG-uKbaSx5imPCdi_aKt33V-r9RdGVa6uK9GuAKAWC4gmcTt-EnN12YdXvG4u6TMQL_uaebNmokgrqXoBYTLPHipgMsS%26wd%3D%26eqid%3Df4d3f7cb0000930200000003568cdaa4&ecd=1&psr=1600x1200&par=1600x1160&pis=-1x-1&ccd=24&cja=true&cmi=106&col=zh-CN&cdo=-1&tcn=1452071590&sz=695x250&exps=110211&qn=980cf3074766ab9d&tt=1452071590221.87.175.177&feid=110211" width="695" height="250" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="padding: 0px; margin: 0px; border-width: 0px; vertical-align: bottom;"></iframe>
1
2
3
4
POST --> BIOS (Boot Sequence) --> MBR(bootloader)
-> Kernel (CentOS5: initrd, CentOS6: initramfs)
->
/sbin/init
(CentOS5:
/etc/inittab
, CentOS6:
/etc/inittab
,
/etc/init/
*.conf)
1
2
3
4
5
6
POST自检:第一步就是CPU加电然后寻址,而CPU寻址所需的代码指令
来自于ROM->硬件厂商制作(内存分为ROM+RAM),关于CPU如何找到
指令代码的?硬件的设计的思想就是:CPU懂的去特定的位置去寻找
代码,而代码得存贮者ROM就应该在特定的位置。与此同时POST自检
还会检测内存,主板,显卡,声卡,网卡等I
/O
设备,等一切没有
问题POST自检完成!将工作移交给BIOS去处理
1
2
3
BIOS:(Boot Sequence)加载可选择的启动设备->固件厂商制造
Bios中存放着各种I/O设备的信息参数、系统时间、启动寻找顺序
所以必须要检测Bios是否正常。之后会去加载第一个硬盘设备
1
2
3
MBR:硬盘的主引导记录,存在于
0
磁道第
0
扇区,共
512
字节。其中Bootloader占据
446
字节,分区表占据
64
字节,magic num占据
2
字节。MBR将加载Bootloader去开始
后边的工作
1
2
3
4
5
6
7
8
9
Bootloader(内核加载器)位于第0磁道第0扇区的446字节是最前边
的446字节哦!Bootloader的工作机制:bootloader可以访问文件系
统,而内核则作为文件而存在。所以bootloader可以访问内核文件,
深入的说bootloader访问内核文件时,是将内核文件Vmlinz所在的
整个分区当作根去访问的,如访问
/Vmlinz
而根
"/"
本身的存在位置
是由内核文件自己决定。(因为每个文件必须要有一个自己的起始路径)
能理解这种逻辑吗?
现代我们常用的内核加载器是grub(Grand Unified Bootloader)
以此grub来加载内核。加载内核之前grub所做的工作
1
2
3
4
5
6
7
1st stage: 位于MBR中,为了引导2nd stage
1.5 stage: 位于boot基本磁盘分区中,为识别
内核文件所在的文件系统提供文件系统识别扩展(因为我们上边
提到过grub只能识别基本的文件系统,而内核文件不可能没有高
级的文件系统,所以需要赋予grub能识别内核高级文件系统的扩
展功能)
2nd stage: 位于boot基本磁盘分区中,GRUB的引导程序
1
2
3
Linux属于单核系统:Kernel+各种外围模块组成
通过grub加载内核后,内核开始自我解压并工作
通过虚拟根文件系统initrfs 调用init工作
1
2
3
/sbin/init
程序被内核第一个所调用,所以init的PID号为1
init调用其配置文件
/etc/inittable
和启动脚本
/etc/init/rcS
.conf
从而启动各个子进程
0 0
- CentOS系统启动流程和系统初始化
- CentOS系统启动流程
- CentOS 系统启动流程
- CentOS 系统启动流程
- CentOS系统启动流程
- ARM+Linux系统启动流程分析----bootloader初始化系统
- CentOS系统启动流程(二)
- CentOS 系统启动流程(四)
- centos系统初始化流程及实现系统裁剪
- CentOS系统启动流程及GRUB文件说明
- CentOS系统启动流程及GRUB文件说明
- CentOS系统启动流程详解(一)
- 【Android 系统开发】 Android 系统启动流程简介
- Linux系统启动流程及系统裁剪
- centos系统初始化脚本
- ZigBee系统初始化流程
- PHPCMS系统初始化流程
- android 系统初始化流程
- 结构体初始化
- php模块memcache和memcached区别分析
- 离散--繁琐的定义
- linux下的stdin,stdout和stderr理解
- dazhongdianping招聘
- CentOS系统启动流程和系统初始化
- 【bzoj2749】【HAOI2012】【外星人】【数论】
- 给jdk写注释系列之jdk1.6容器(10)-Stack&Vector源码解析
- 区分ROM RAM DRAM SRAM DDRAM FLASH NOR FLASH
- RGB-D
- 根据centos系统启动过程定位故障位置
- 更新二进制位——LintCode
- PHP 7.0 安装使用与性能监测-Ubuntu!
- 使用Android-PullToRefresh库中的PullToRefreshListView添加headerView