LinuxCentOS 6 系统启动流程
Posted badmanwm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LinuxCentOS 6 系统启动流程相关的知识,希望对你有一定的参考价值。
一个合格的Linux运维工程师就必须知道系统启动流程,不管是在面试中还是系统故障排错或多或少都会涉及到启动流程的知识应用。
在了解系统启动流程之前先了解几个概念:
Linux的组成部分:Kernel+rootfs(根文件系统)+程序
- Kernel的功能:进程管理、内存管理、网络管理、驱动管理、文件系统管理、安全功能、系统调用
- rootfs:根文件系统,存放包含各种库
- 程序:各种外围程序
一个基本的操作系统仅需要:内核、库、程序就能运行,当然一个完整的发行版不可能这么简陋,所以呢Linux要想启动必须要有内核、rootfs、程序;
Kernel的组成部分:
- 核心文件:内核文件,/boot/vmlinuz-VERSION-release;
- 模块文件:内核的特点是模块化的可动态装载和卸载的,因此有模块文件,/lib/modules/VERSION-release/;
- ramdisk:基于内存的磁盘;
CentOS 6启动流程大致上是这样的:加电开机 –> Bios引导 –> Bootloader引导加载器 –> 装载内核到内存当中 –> 挂载rootfs –> 启动init进程 –> 系统初始化 –> 运行各种服务
- POST:加电自检
- Boot Sequence:引导加载次序(BIOS完成)
按次序查找引导设备,在BIOS上设置的第一个引导设备即为启动的设备。而启动设备要有MBR,MBR里边有boot loader引导加载器,主要用于将内核加载到内存当中,并将控制权转交给内核。
3. Kernel:内核被放到内存当中启动后内核自身做初始化,初始化内容:
(1) 探测可识别到的所有硬件设备;
(2) 加载硬件驱动程序;(有可能会借助于ramdisk加载驱动)
(3) 以自读方式挂载根文件系统;
(4) 运行用户空间的第一个应用程序:/sbin/init
4. init进程
以上是关于LinuxCentOS 6 系统启动流程的主要内容,如果未能解决你的问题,请参考以下文章