摘要:关于的设备驱动程序的加载,有一部分驱动程序直接被编译进内核镜像中,另一部分驱动程序则是以模块的形式放在中加载根文件系统启动系统的第一个进程第一个进程读取系统第一个配置文件。
一:简述
Linux-Ceentos6系统开机启动流程简述如下,后续小节会对重要节点做详细描述
1:加电自检 ---> 2:MBR引导系统启动,相当于GRUB的第一阶段 ----> 3: GRUB1.5阶段 加载boot文件系统驱动--> 4 :grub 2阶段 ,读取/boot/grub/grub.conf文件 ---> 5: 加载系统内核/boot/vmlinuz内核文件至内存--> 6: 加载/boot/initramfs虚拟文件系统,加载合适的驱动程序,以只读方式挂载根文件系统 ----> 7:加载根下的第一个进程/sbin/init --> 8:加载系统第一个配置文件/etc/inittab,确定系统的启动模式 -->9 加载系统的第一个脚本 /etc/rc.d/rc.sysinit,系统初始化脚本: --> 10 根据系统的启动模式 ,依据 /etc/rc.d/rc#.d下的文件 依次开启服务
二:各阶段简述 1 POST:power-on-slef-test加电自检:检测外部硬件是否正常工作,如cpu.内存,显卡,硬盘,键盘,光驱。 此功能主要由主板上内置一块rom芯片来完成,简称bios。在开机启动时,可以进入bison内进行相应的设置,如选择计算机由哪块设备进行引导,硬盘、光盘、u盘。2 :MBR引导系统启动
MBR一共512字节,存放在硬盘的0扇区0柱面1磁道上。它的主要功能为引导系统启动,相当于grub的第一阶段,在/boot/grub/stage1内存放的二进制代码与MBR一致。 MBR可以确定此分区是否为主活动分区,由第一字节所决定,00为非活动分区80为活动分区。MBR的后续字节可以检测硬盘分区表是否完好 MBR内存放了三段信息: bootloder:前446字节,引导加载器,引导系统启动的一段程序。不同的系统,引导程序不一样。windows:不支持linux启动。linux:允许用户选择要启动的内核版本,支持windows启动 64字节:分区表信息 2字节:标识位3 :grub阶段
grub1.5:加载boot文件系统的驱动文件
grub2.0:此阶段的作用是提供选择菜单(如果有多个内核系统),引导启动下一步的kernel内核启动和加载initramfs文件(作用是提供真正根分区的文件系统驱动程序,以便能加载根分区),其配置文件为/etc/grub.conf4 kernel
kernel内核阶段会把内核文件进行解压,初始化系统中各设备并做相关的配置工作,其中包括CPU、I/O、存储设备等。关于Linux的设备驱动程序的加载,有一部分驱动程序直接被编译进内核镜像中,另一部分驱动程序则是以模块的形式放在initrd(ramdisk)中,加载根文件系统
5:启动系统的第一个进程第一个进程:/sbin/init
读取系统第一个配置文件/etc/inittab。确定系统默认在什么模式下启动系统
6:启动系统的第一个脚本系统初始化脚本:/etc/rc.d/rc.sysinit,此脚本主要完成的内容如下
(1)设置主机名
(2)挂载/etc/fstab文件中定义的文件系统
(3)检测根文件系统,并以读写方式重新挂载根文件系统
在/boot/initramfs时是以只读方式挂载根文件系统
(4)设置欢迎信息
(5)激活udev和selinux
(6)设置系统时钟
(7)激活swap设备
(8)根据/etc/sysctl.conf文件设置内核参数
(9)激活lvm及software raid设备
(10)加载额外设备的驱动程序
(11)清理操作
7:根据系统启动的模式读取用户的服务文件/etc/rc.d/rc#.d/*
读取此目录下的文件来 关闭或开启相关服务
![图片.png](http://upload-images.jianshu....
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/10080.html
摘要:查看下安装了哪些软件包,查看指定包是否有安装,查看已安装包详细说明信息更新软件包删除软件包等常用操作查看搜索软件包查找指定软件包调制解调器通讯程序使用和实现终端模拟软件的上传和下载列出所有可安装的软件包没有什么意义列出所有可更新的软件包没有 查看CentOS下安装了哪些yum软件包,查看指定包是否有安装,查看已安装包详细说明信息、更新软件包、删除软件包等常用操作 查看搜索软件包 1、查...
摘要:用于控制活动人数,将超过此一定阀值的订单直接丢弃。缓解短时间的高流量压垮应用。目前比较推荐的就是我们手动然后将消费错误的消息转移到其它的消息队列中,做补偿处理消费者该方案是默认的方式不太推荐。 SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相...
摘要:马蜂窝旅游历经几十个版本的开发迭代,在启动流程上积累了一定的技术债务。我们定义启动广告曝光率启动广告曝光启动广告加载。 增长、活跃、留存是移动 App 的常见核心指标,直接反映一款 App 甚至一个互联网公司运行的健康程度和发展动能。启动流程的体验决定了用户的第一印象,在一定程度上影响了用户活跃度和留存率。因此,确保启动流程的良好体验至关重要。 「马蜂窝旅游」App 是马蜂窝为用户提供...
摘要:马蜂窝旅游历经几十个版本的开发迭代,在启动流程上积累了一定的技术债务。我们定义启动广告曝光率启动广告曝光启动广告加载。 增长、活跃、留存是移动 App 的常见核心指标,直接反映一款 App 甚至一个互联网公司运行的健康程度和发展动能。启动流程的体验决定了用户的第一印象,在一定程度上影响了用户活跃度和留存率。因此,确保启动流程的良好体验至关重要。 「马蜂窝旅游」App 是马蜂窝为用户提供...
摘要:事实也确实如此,可以配置数据库,其中存储了流程运行时的相关信息。在初学之时,了解所有的数据库表的含义对理解工作机制是有很大帮助的,总共涉及的表格总共有个通用数据,用于存放数据。强行回顾了一下前两天的学习历程。 1、关于Activiti 初学activiti我关心的它是什么东西、有什么功能、怎么实现?先来看一张流程图感受一下: showImg(https://segmentfault.c...
阅读 1043·2021-10-08 10:05
阅读 2876·2021-09-26 10:10
阅读 2249·2021-09-08 09:36
阅读 703·2019-08-30 15:55
阅读 382·2019-08-26 11:51
阅读 282·2019-08-23 18:10
阅读 3608·2019-08-23 15:39
阅读 534·2019-08-23 14:50