Linux系统的启动

   Linux系统的启动:1.上电以后,BIOS(Basic Input Output System)加电自检,检测硬件设备,然后按照CMOS上的顺序依次搜索相关的可引导的硬件设备。

2.加载主引导程序:主引导程序主要是为了加载次引导程序到内存中运行。

3.加载次引导程序:加载次引导程序后,其在内存中跑起来,进而加载Linux的内核。

4.Linux内核映像:加载linux内核后,次引导程序便会依据/boot/grub.conf配置文件中所设置的信息,从/boot/所在的分区上读取linux内核映像,然后将内核映像加载到内存中,同时将系统的控制权交给Linux内核。linux内核控制后,则开始检测硬件,解压安装必要的硬件驱动,初始化与文件系统相关的虚拟设备,进而装载根文件系统,挂在根目录下,最后linux在进程空间里加载init程序,从而进行init进程。值得指出的是init是所有进程的开始和控制(是发起者和控制者),所有的进程是其衍生。此外,init进程获得控制权后,其会执行/etc/rc.d/rc.sysinit脚本文件,从而依据其来设置环境变量、网络、交换内存、检查与挂载文件系统,执行初始化工作。

也即是:BIOS加电自检,主引导、次引导、linuex内核映像、init、初始化。


ps:1.32位的寻址空间为4G,因此大于4G的内存是浪费的。

2.虚拟内存是将部分硬盘当做内存来使用,但是同样加起来也不能超过4G的寻址空间。

本文出自 “云淡风轻” 博客,请务必保留此出处http://htlbydgod.blog.51cto.com/9829379/1604561

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。