开启电源:

固件 firmware(CMOS/BIOS) →  POST 加电自检 对硬件就行检查

自举程序 BootLoader(GRUB) →  载入内核

载入内核 Kernel 1:驱动硬件

2:启动进程 init

读取执行配置文件/etc/inittab

initdefalut 系统默认运行级别
  ↓
/etc/rc.d/rc.sysinit 执行该脚本
  ↓
etc/rc.d/rc 该脚本判断initdefault
  ↓
/etc/rc.d/rcN.d N = 0 -- 6 然后执行对应的启动目录,启动需要的服务程序

一:

  date  显示系统时间 、

  hwclock  显示硬件时间  我们可以调整  通过man 帮助文档查看修改

二:

  内核的版本号第二个数字奇数表示测试版本,偶数表示正式版本。

三:

  init进程:

init启动后读取inittab文件,执行缺省运行级别,从而继续引导过程。在UNIX系统中,init是第一个可以存在的进程,它的PID恒为1,但它也必须向一个更高级的功能负责:PID为0的内核调度器(Kernelscheduler),从而获得CPU时间。

  这里就引出了两个问题:

  如果父进程死亡,子进程还存在的话,这样的进程被称为孤儿进程

  如果子进程死亡,父进程不知道还保持与子进程的通信,那个这样的进程叫做僵尸进程

    我们在系统中是不允许出现这两种进程的。 父进程死亡,子进程也应该消亡

在inittab中,所有条目采取以下格式:

id:run-levels:action:processid:标识符,一般为两位字母或数字run-levels:指定运行级别,可以指定多个action:指定运行状态process:指定要运行的脚本/命令

  

我们可以通过runlevel命令查看当前系统的运行级别,  通过init 【0-6Ss】 或者  telinit【0-6Ss】改变系统运行级别

action常用取值:

initdefault:指定系统缺省启动的运行级别
sysinit:系统启动执行process中指定的命令wait:执行process中指定的命令,并等其结束再运行其他命令once:执行process中指定的命令,不等待其结束
ctrlaltdel:按下Ctrl+Alt+Del时执行process指定的命令

powerfail:当出现电源错误时执行process指定的 、命令,不等待其结束

powerokwait:当电源恢复时执行process指定的命令

respawn:一旦process指定的命令中止,便重新运行该命令


  

启动脚本/etc/rc.d/rc.sysinit,完成系统服务程序启动,如系统环境变量设置、设置系统时钟、加载字体、检查加载文件系统、生成系统启动信息日志文件等。

判断默认运行级别,调用/etc/rc.d/rc脚本,执行相应运行级别目录中的服务程序,完成相应运行级别的初始化设置

/etc/rc.d/init.d   该目录下包含各个运行级别的服务程序脚本    其实/etc/rc.drcN.d是一些软连接,指向了十几存在于/etc/rc.d/init.d的脚本

四:

我们如何设置自动启动程序:

  1:常用的是利用ln -s 首先我们常见自己的脚本,给予可执行权限,然后将它放到/etc/rc.d/init.d,然后再在相应的/etc/rc.drcN.d里面创建软连接即可;

  2: 我们可以通过chkconfig来启动关闭服务

  3:ntsysv 同样

五:

其他:

  运行dmesg检查引导期间的错误

  检查系统日志/var/log/messages,查找可能被dmesg忽略的应用程序错误

Linux——系统引导流程学习简单笔记相关推荐

  1. 兄弟连Linux在线课堂:第5讲Linux系统引导流程

    兄弟连Linux在线课堂:第5讲 Linux系统引导流程 大家好,我是李明,Linux爱好者,我计划推出一套Linux学习的在线课及视频教程,课程内容主要针对Linux初学者,大概每周一讲,差不多在春 ...

  2. 简述linux系统引导流程,简单介绍如何用WinGrub 引导Linux系统简述

    以下主要介绍我的第一次安装Linux系统遭遇,以及怎么度过这个遭遇的,希望对大家有所帮助.不喜欢的可以略过. 一.开篇叙述我第一次安装Linux系统和接下来的经历 开篇:按照北南兄弟的<FC4菜 ...

  3. 兄弟连Linux在线课堂:第5讲 Linux系统引导流程

    大家好,我是李明,Linux爱好者,我计划推出一套Linux学习的在线课及视频教程,课程内容主要针对Linux初学者,大概每周一讲,差不多在春节前完成Linux基础入门与系统管理部分,总计分为十讲,内 ...

  4. Linux SMP启动流程学习(二)

    Linux SMP启动流程学习(二) 3 SMP系统启动流程 3.1 SMP启动判断 源码:/arch/arm/kernel/setup.c 调用:start_kernel() -> smp_s ...

  5. Linux SMP启动流程学习(三)

    Linux SMP启动流程学习(三) 4 构建CPU拓扑关系 4.1 创建调度域拓扑关系-sched_init_domains() 在系统启动开始的时候就开始构建CPU的拓扑关系,具体流程如下: [s ...

  6. Linux系统引导过程(BIOS和Bootloader部分)

    Linux系统引导过程(BIOS和Bootloader部分) 刘建文( http://blog.csdn.net/keminlau ) KEY:x86体系 CPU 系统引导 启动过程 Linux LI ...

  7. Linux开机引导流程

    linux开机引导流程: 1.BIOS开机自检 BIOS程序首先检查,计算机硬件能否满足运行的基本条件,这叫做"硬件自检"(Power-On Self-Test),缩写为POST. ...

  8. linux 6.4简单使用mysql,Linux系统下Mysql使用简单教程(一)

    如果你会查询这些相关的问题,说明你是一个正在或者准备从事IT的程序猿,对于一个程序猿而言,不会使用linux系统的程序猿不是一好的程序猿哦!因为windows有时候真的让人很抓狂,而本人也相信没有什么 ...

  9. linux 更改 引导分区,Linux系统引导过程及引导修复

    0.Linux系统引导过程: 1.通电 2.bios初始化 3.磁盘引导阶段 4.grub2文件引导程序 5.内核加载 6.系统初始化镜像 7.系统启动级别 8.超级用户密码 以下内容是针对各过程会出 ...

最新文章

  1. 设计模式之桥接模式(Bridge)摘录
  2. VR不仅用于游戏!HTC Vive显示美国市长VR用于城市规划
  3. 成功解决ImportError: [joblib] Attempting to do parallel computing without protecting your import on a sy
  4. 信息系统项目管理师论文范文-干系人管理
  5. C++中vector使用详细说明 (转)
  6. 构建地理上分散的网络之4点论证
  7. 【51Nod - 1270】数组的最大代价(dp,思维)
  8. mysql中教如何拼接字段(列)值、加入运算、设置别名(非常实用)
  9. 基于深度学习的图像风格转换
  10. git clone指定分支到本地
  11. 沫沫金::struts下载文档[解决方案]
  12. 通过 Kaspersky Security Center 卸载 Kaspersky Endpoint Security
  13. MPI和OpenMP实现矩阵相乘
  14. 【C语言笔记】【宏定义系列】 判断是否2的n次幂对齐
  15. 如何写好一个数据分析报告,需要注意哪些?
  16. 小米盒子 android tv,小米盒子3 MDZ-16-AA 降级及刷入Android TV系统
  17. 是性格决定命运,还是命运造就性格?
  18. puzzle(105)幻方、幻圆、拉丁方
  19. 别翻了,Lambda 表达式入门,看这篇就够了
  20. 记一次成功的软件著作权的申请

热门文章

  1. AI打《星际》被人类碾压?不,事情并没有这么简单
  2. IOS开发中遇到的问题
  3. 美法院起诉黑客组织成员 为暴雪服务器攻击者
  4. JAVA 5.17习题
  5. td和div超出部分隐藏的区别和用法
  6. 在Word 2007中为公式编号
  7. day12 生成器和各种推导式
  8. [转] 年终回顾,为你汇总一份「前端技术清单」
  9. 医疗大数据技术与应用
  10. 解决macOS Sierra 隐藏“允许任何来源的应用”选项问题