linux学习-引导流程、运行级别、启动服务管理、配置与应用、

2019-04-14 08:47发布

系统引导流程

固件firmware(CMOS/BIOS)   ----->   POST加电自检(任何一个电脑,从我们按下电源开始,就要加载固件,固件的作用是加电自检,固件先检测所有的硬件是不是正常的,能不能通上电,不行的话,会进行报警。COMS是固化在主板上的那段程序,而BIOS是操作COMS的管理界面)                          |自举程序BootLoader(GRUB) ------>   载入内核(读取MBR(Master boot record),MBR中包含自举程序、磁盘分区表、结束标志字,内核文件在/etc/grub.conf配置文件中(地址),grub启动linux内核)                          |               载入内核Kernel          ------> 驱动硬件(内核的主要作用是驱动硬件,因此内核中包含的基本都是驱动程序,)                          |                 启动进程init(init是系统启动的第一个进程,init启动后会读取inittab配置文件,从而继续引导过程。在unix中,init是第一个可以存在的进程,PID恒为1,但他也必须向一个更高级的功能负责:PID为0的内核调度器,从而获取CPU时间)                          |     读取执行配置文件/etc/inittab(完成后续的引导过程)
linux运行级别的查看:runlevel运行级别的切换:init 1或init 2等启动脚本/etc/rc.d/rc.sysinit,完成系统服务程序启动,如系统环境变量配置、设置系统时间、加载字体、检查加载文件系统、生成系统启动信息日志文件等。
linux在引导过程里面:第一步:通过固件进行加电自检(在物理层次判断所有硬件是否正常)第二步:读取MBR中的BootLoader,其最最重要的作用的载入内核Kernel第三步:在载入Kernel之后,第一个是在linux上来驱动硬件,另外会驱动一个进程init;第四步:init进程启动之后,会读取配置文件/etc/inittab,进行后续的系统引导;第五步:首先会判断系统的运行级别initdefault,在判断了系统的运行级别之后,首先执行脚本/etc/rc.d/rc.sysinit,这个脚本不管系统在任何一个级别,都会被缺省执行,来进行系统一些基本服务的加载,然后根据我们前面设置的initdefault,执行/etc/rc.d/rc这个脚本,这个脚本会判断你的initdefault,然后启动对应启动目录下的启动程序/etc/rc.d/rcN.d(N表示0-6运行级别),然后会弹出username,password来验证用户名密码。