热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

CentOS6启动流程详细介绍

这篇文章主要介绍了CentOS6启动流程详细介绍的相关资料,这里对centos启动进行了分析,希望能帮助到大家理解centos启动流程,需要的朋友可以参考下

CentOS 6 启动流程详细介绍

1、 POST(Power On Selt Test) 上电自检:

按下电源键首先要检测硬件设备是否能正常运行,如:cpu、内存、硬盘等硬件设备。当然POST不是由硬件去检测(硬件也不会啊!),而是依靠一个软件来完成的,这个软件就是BIOS(Basic Input Output System)基本输入输出系统,它安装在CMOS芯片上,上电就是给CMOS加电,然后启动BIOS程序,BIOS会根据CMOS上记录的硬件信息去读取硬件并检测是否能正常运行,之后初始化硬件设备。

2、 MBR(Master Boot Record)主引导分区:

BIOS初始化硬件后会通过硬件的INT13中断功能实现读取MBR,读取MBR中的Boot Loader,Boot Loader是一个软件,它具有提供菜单功能,直接加载内核信息及相关控制权转换,MBR只有512bytes,其中前446bytes存储的是Boot Loader,46bytes存储分区表信息,2bytes为分区标志位。446bytes不足以安装Boot Loader,事实上MBR前446bytes只是安装了Boot Loader的最小主程序,即stage1,因为Boot Loader 分为stage1、stage1.5、stage2三个阶段来执行的,stage1.5存放在MBR随后的扇区中,主要用于和stage2所在分区的文件系统交互,stage2加载硬盘分区/boot目录下所有文件、配置文件与环境参数信息。

3、 Kernel、initrd/initramfs:

/boot目录下包含vmlinuz,initramfs等内核相关的文件,Boot Loader读取/boot目录下所有文件、配置文件与环境参数信息后,会把内核解压加载到内存中,根据内核提供的功能开始检测,加载各个设备,此次检测与BIOS自检不同,执行到此,后续工作都由内核来完成(因为Boot Loader已把vmlinuz,initramfs加载到内存中),此时内核还没有加载磁盘,因为还没有磁盘驱动程序,内核通过/boot目录下的虚拟文件系统,也就是initramfs,模拟一个rootfs(根文件系统),加载启动过程中所需要的核心模块,加载后释放rootfs(根文件系统),且以只读方式挂载真实的根文件系统,开始正常的启动过程。

4、 Init:

用户空间第一个执行程序,在内核,硬件及驱动加载完成后,内核会执行用户空间的第一个执行程序/sbin/init,init 程序主要功能为准备软件运行环境,包括系统主机名称,网络配置,文件系统格式等其他服务配置。

Init的配置文件:

CentOS 6:采用Upstart的方式,其特点是守护进程间的通信依赖于D-Bus进行,因此,可基本实现类似并行启动,配置文件:/etc/inittab、/etc/init/*.conf

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持,如有疑问可以留言或者到本站社区讨论交流,共同进步!


推荐阅读
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文介绍如何通过SQL查询从JDE(JD Edwards)系统中提取所有字典数据,涵盖关键表的关联和字段选择。具体包括F0004和F0005系列表的数据提取方法。 ... [详细]
  • 本文详细介绍了如何通过命令行启动MySQL服务,包括打开命令提示符窗口、进入MySQL的bin目录、输入正确的连接命令以及注意事项。文中还提供了更多相关命令的资源链接。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 本文将详细介绍在Windows 7环境下,检查U盘启动盘是否制作成功的多种方法,包括通过BIOS设置和使用模拟启动工具。 ... [详细]
  • 本文介绍如何使用 NSTimer 实现倒计时功能,详细讲解了初始化方法、参数配置以及具体实现步骤。通过示例代码展示如何创建和管理定时器,确保在指定时间间隔内执行特定任务。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • 题目Link题目学习link1题目学习link2题目学习link3%%%受益匪浅!-----&# ... [详细]
  • 本文探讨了 C++ 中普通数组和标准库类型 vector 的初始化方法。普通数组具有固定长度,而 vector 是一种可扩展的容器,允许动态调整大小。文章详细介绍了不同初始化方式及其应用场景,并提供了代码示例以加深理解。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 高效解决应用崩溃问题!友盟新版错误分析工具全面升级
    友盟推出的最新版错误分析工具,专为移动开发者设计,提供强大的Crash收集与分析功能。该工具能够实时监控App运行状态,快速发现并修复错误,显著提升应用的稳定性和用户体验。 ... [详细]
  • 本题涉及一棵由N个节点组成的树(共有N-1条边),初始时所有节点均为白色。题目要求处理两种操作:一是改变某个节点的颜色(从白变黑或从黑变白);二是查询从根节点到指定节点路径上的第一个黑色节点,若无则输出-1。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 技术人员转型项目管理:常见思维误区与挑战解析
    本文探讨了技术人员在向项目管理角色转变过程中常见的思维误区和困惑,分析了如何有效管理项目中的事务和人员,提供了实用的解决方案。 ... [详细]
author-avatar
txy001美丽人生_618
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有