文档章节

linux开机启动五部曲

mucoding
 mucoding
发布于 2016/10/08 20:55
字数 636
阅读 0
收藏 0

按下电源按钮的直到欢迎页出来之后,linux总共做的事可以分为五步来完成。

1、 BIOS加电自检:

加电自检,检测硬件设备。然后按照cmos上面的顺序来搜索处在活动状态下的可以引导的设备。可以是光驱、软盘、USB等。

2、 加载主引导加载程序(MBR):

主引导程序是一个512字节的映像。包含一点机器码还有一个小的分区。

主引导程序的任务就是查找并且加载处在硬盘分区上的次引导程序。通过分区表查找活动分区,并将处在活动分区的次引导加载程序读取到内存里面运行

3、 加载次引导记载程序(GRUB)

次引导加载程序只要就是加载linux内核。

上一阶段结束之后次引导加载程序就会在内存里面跑起来。就会出现GRUB图形界面,让用户选择加载什么样的内核。

4、 linux内核映像:

用户选择要加载的内核之后,次引导加载程序(GRUB)就会根据/boot/grub.conf配置文件中所设置的信息,从/boot/所在的分区上读取Linux内核映像,然后把内核映像加载到内存中并把控制权交给Linux内核。

linux内核获得控制权之后开始干自己的事

  •  检测硬件
  •  解压缩自己并安装必要驱动
  •  初始化与文件系统相关的虚拟设备,LVM或RAID
  •  装载根文件系统,挂在根目录下面
  •  完成之后,linux在进程空间里面加载init程序,下面轮到init干活
  •  init进程

init是所有进程的发起者和控制者,所有的进程都由此衍生。

init进程获得控制权之后,它会执行/etc/rc.d/rc.sysinit脚本,根据里面的代码设置环境变量、网络、启动swap、检查并挂载文件系统、执行其他初始化工作。

 

至此,linux启动完成。

我们稍微总结一下:

首先是BIOS加电自检,之后加载主引导加载程序、次引导加载程序,最后就是linux内核映像,完了把控制权交给init进程,完成初始化工作。

swap分区是什么?

类似windows系统中的虚拟内存,当物理内存不够用的时候,使用swap中的内存。

 

原文链接:http://www.cnblogs.com/lamian/p/3971195.html

本文转载自:http://www.cnblogs.com/sunofwe/p/4766885.html

共有 人打赏支持
mucoding
粉丝 0
博文 35
码字总数 5744
作品 0
南京
程序员
私信 提问
CentOS7环境部署kubenetes1.12版本五部曲之五:安装kubectl

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/83717786 本文是《CentOS7环境部署kubenetes1.12版本五部曲》系列的终篇,前面章节我们已搭...

博陵精骑
11/04
0
0
CentOS7环境部署kubenetes1.12版本五部曲之三:node节点加入

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/83714209 本文是《CentOS7环境部署kubenetes1.12版本五部曲》系列的第三篇,上篇文章创建了...

博陵精骑
11/04
0
0
CentOS7环境部署kubenetes1.12版本五部曲之二:创建master节点

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/83692606 本文是《CentOS7环境部署kubenetes1.12版本五部曲》系列的第二篇,上篇文章我们实...

博陵精骑
11/04
0
0
CentOS7环境部署kubenetes1.12版本五部曲之四:安装dashboard

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/83715479 本文是《CentOS7环境部署kubenetes1.12版本五部曲》系列的第四篇,前面的实站已经...

博陵精骑
11/04
0
0
【tomcat环境搭建】一台服务器上部署多个tomcat

一台服务器上面如何部署多个tomcat?其实linux和windows步骤都差不多,都是: 第一步:解压tomcat安装包后,复制一份并且重命名;多个tomcat就多复制一份 第二步:将复制的tomcat进行端口修改...

豆姐姐
07/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

可自定义扩展底部列表对话框ListBottomSheetDialogFragment

因为需要,为了方便,构建了一个可以自定义扩展的底部列表对话框,可以应付大部分场景。 效果图如下: 1.默认实现: 2.自定义列表实现 3.自定义头部和列表实现 一.可实现功能 1.默认可实现通...

明月春秋
30分钟前
1
0
数据库---增删改查

增:insert into 表名(列名1,列名2) values(‘列值1’,‘列值2’) 多行数据处理:insert into 表名(列名1,列名2) select ‘列值1’,‘列值2’ union select ‘列值1.1’,‘列值2.2...

森林之下
31分钟前
2
0
分布式/集群下session共享方案汇总

除去那些对容器依赖特别高的方案(如: 基于Tomcat的memcached-session-manager / tomcat-redis-session-manager,基于Jetty的jetty-nosql-memcache / jetty-session-redis ),自己整理了下...

哥本哈根的小哥
57分钟前
2
0
Vue中的缩写:v-bind、v-on

v-bind 缩写:: 预期:any (with argument) | Object (without argument) 参数:attrOrProp (optional) 修饰符: .prop - 被用于绑定 DOM 属性。 .camel - (2.1.0+) 将 kebab-case 特性名转换......

文文1
今天
2
0
epoll中使用

1、一个线程epoll_wait时,另一个线程调用epoll_ctl是安全的。 2、使用edge触发,在socket有数据到来后,不收取数据,再次调用epoll_ctl将socket加入,仍会触发下一次动作。 asio用该方法来发...

gelare
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部