Linux之Linux的运行流程
我想大家明白了Linux的运行流程,也许就会明白很多文件是干什么的了,关于这个问题,我想直接上图,比较好,然后我再逐一解释这个图,这幅图是我从网上下载的。
◆ 首先,本机会进入BIOS进行开机自检,然后读取MBR主引导记录。
◆ 加载引导程序,Bootloader/Grub,然后这个程序,读取它的配置文件,BCD/grub.conf,这个时候如果有双系统的话,会让用户选择,比如Linux和Windows,如果用户选择了,Linux那么,就会加载Linux内核
◆ 这个时候加载Linux内核,挂载虚拟磁盘,如上面所说。
◆ 然后就会检测硬件,加载驱动,挂载根文件系统,这个时候是读取的/etc/fstab 文件,这个配置文件是用来开机挂载分区的配置文件。
◆ 进入下一步,初始化进程,/sbin/init 这个进程是所有进程的父进程。这个文件会读取配置文件/etc/initab,这个配置文件记录了系统的运行等级,如果这里面默认配置了启动项是3,那么就会进入纯文本界面,
◆ 接下来初始化脚本,/etc/inittab已经说过,这里不再多说,然后init进程在执行/etc/rc.d/rc.sysinit,脚本,这个脚本中定义了很多,网络配置,swap分区,设定内存去/proc,和加载环境变量/etc/profile等等,
/etc/profile又会调用其他的环境变量,
◆ 如果是运行的系统的3级别,那么系统会运行这个/etc/rc.d/rc3.d/*下的程序,按照里面给定的顺序,初始化程序,(S开头的启动顺序,K开头的是关闭顺序)相当于开机启动项
◆ 接下来是加载/etc/rc.d/rc.local,这个配置文件,rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。你可以把你想设置和启动的东西放到这里。比如我们想让某个程序在这里开机启动,就可以用这种方式,比如我想让apache开机启动,
就在里面添加一行,/etc/rc.d/init.d/apache start,这样的话,Apache就会每次开机启动了
◆ 最后就会执行/bin/login程序,进入登录状态