Linux系统开机启动过程详细分解
按下电源按钮的直到欢迎页出来之后,linux总共做的事可以分为五步来完成。
1、 BIOS加电自检:
加电自检,检测硬件设备。然后按照cmos上面的顺序来搜索处在活动状态下的可以引导的设备。可以是光驱、软盘、USB等。
2、 加载主引导加载程序(MBR):
主引导程序是一个512字节的映像。包含一点机器码还有一个小的分区。
主引导程序的`任务就是查找并且加载处在硬盘分区上的次引导程序。通过分区表查找活动分区,并将处在活动分区的次引导加载程序读取到内存里面运行。
3、 加载次引导记载程序(GRUB)
次引导加载程序只要就是加载linux内核。
上一阶段结束之后次引导加载程序就会在内存里面跑起来。就会出现GRUB图形界面,让用户选择加载什么样的内核。
4、 linux内核映像:
用户选择要加载的内核之后,次引导加载程序(GRUB)就会根据/boot/配置文件中所设置的信息,从/boot/所在的分区上读取Linux内核映像,然后把内核映像加载到内存中并把控制权交给Linux内核。
linux内核获得控制权之后开始干自己的事
1)、 检测硬件
2)、 解压缩自己并安装必要驱动
3)、 初始化与文件系统相关的虚拟设备,LVM或RAID
4)、 装载根文件系统,挂在根目录下面
5)、 完成之后,linux在进程空间里面加载init程序,下面轮到init干活
5、 init进程
init是所有进程的发起者和控制者,所有的进程都由此衍生。
init进程获得控制权之后,它会执行/etc/rc.d/nit脚本,根据里面的代码设置环境变量、网络、启动swap、检查并挂载文件系统、执行其他初始化工作。
至此,linux启动完成。
我们稍微总结一下:
首先是BIOS加电自检,之后加载主引导加载程序、次引导加载程序,最后就是linux内核映像,完了把控制权交给init进程,完成初始化工作。
swap分区是什么?
类似windows系统中的虚拟内存,当物理内存不够用的时候,使用swap中的内存。
-
如何在win7系统中显示文件后缀名、扩展名
导读:如何在win7显示文件后缀名(扩展名)呢?有两种情况我们是需要把文件后缀名(扩展名)显示出来的,第一种是我们下载回来的文件,需要修改文件后缀名(扩展名)才可以正常显示打开;第二种是我们不知道文件是什么格式的时候,需要显示文件后缀名(扩展名),接下来小编给大家...
-
Linux系统中JVM内存2GB上限的详解
我们通常使用的JVM都是32位的(64位的JVM会损失10-20%的性能,通常不建议使用),而32位程序的寻址空间应该是4GB才对,为什么Linux上的内存只能使用2GB呢?经过和JDK研发组的人员沟通,终于弄清楚了一些相关的原因。这个问题存在于早期的一些Linux版本中,特别是内核2.5以前的...
-
四则XP系统使用技巧
XP操作系统可以说是得到了许多用户的支持,是一个功能强大,界面美观的操作系统,但是其中也有许多技巧可以简化我们的操作或者提高系统性能。只要我们在使用过程中稍加留心就会发现。一、快速关机对于快速关机,在网上也有许多方法,同时爱好是因人而异的,这里也不妨介绍...
-
Linux操作系统下防黑实用技巧
Linux操作系统下防黑技巧Linux是一个多用户的系统,一旦人家取得你的root用户之后,他就可以在你的系统上为所欲为了,由于单用户对系统有完全的控制权限,如果操作不当或被他人进入,那么后果将不堪设想,如何防止入行单用户了,有以下几个注意的方面。1、对/etc/inittab文...