Linux——系统引导流程学习简单笔记
开启电源:
固件 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——系统引导流程学习简单笔记相关推荐
- 兄弟连Linux在线课堂:第5讲Linux系统引导流程
兄弟连Linux在线课堂:第5讲 Linux系统引导流程 大家好,我是李明,Linux爱好者,我计划推出一套Linux学习的在线课及视频教程,课程内容主要针对Linux初学者,大概每周一讲,差不多在春 ...
- 简述linux系统引导流程,简单介绍如何用WinGrub 引导Linux系统简述
以下主要介绍我的第一次安装Linux系统遭遇,以及怎么度过这个遭遇的,希望对大家有所帮助.不喜欢的可以略过. 一.开篇叙述我第一次安装Linux系统和接下来的经历 开篇:按照北南兄弟的<FC4菜 ...
- 兄弟连Linux在线课堂:第5讲 Linux系统引导流程
大家好,我是李明,Linux爱好者,我计划推出一套Linux学习的在线课及视频教程,课程内容主要针对Linux初学者,大概每周一讲,差不多在春节前完成Linux基础入门与系统管理部分,总计分为十讲,内 ...
- Linux SMP启动流程学习(二)
Linux SMP启动流程学习(二) 3 SMP系统启动流程 3.1 SMP启动判断 源码:/arch/arm/kernel/setup.c 调用:start_kernel() -> smp_s ...
- Linux SMP启动流程学习(三)
Linux SMP启动流程学习(三) 4 构建CPU拓扑关系 4.1 创建调度域拓扑关系-sched_init_domains() 在系统启动开始的时候就开始构建CPU的拓扑关系,具体流程如下: [s ...
- Linux系统引导过程(BIOS和Bootloader部分)
Linux系统引导过程(BIOS和Bootloader部分) 刘建文( http://blog.csdn.net/keminlau ) KEY:x86体系 CPU 系统引导 启动过程 Linux LI ...
- Linux开机引导流程
linux开机引导流程: 1.BIOS开机自检 BIOS程序首先检查,计算机硬件能否满足运行的基本条件,这叫做"硬件自检"(Power-On Self-Test),缩写为POST. ...
- linux 6.4简单使用mysql,Linux系统下Mysql使用简单教程(一)
如果你会查询这些相关的问题,说明你是一个正在或者准备从事IT的程序猿,对于一个程序猿而言,不会使用linux系统的程序猿不是一好的程序猿哦!因为windows有时候真的让人很抓狂,而本人也相信没有什么 ...
- linux 更改 引导分区,Linux系统引导过程及引导修复
0.Linux系统引导过程: 1.通电 2.bios初始化 3.磁盘引导阶段 4.grub2文件引导程序 5.内核加载 6.系统初始化镜像 7.系统启动级别 8.超级用户密码 以下内容是针对各过程会出 ...
最新文章
- 设计模式之桥接模式(Bridge)摘录
- VR不仅用于游戏!HTC Vive显示美国市长VR用于城市规划
- 成功解决ImportError: [joblib] Attempting to do parallel computing without protecting your import on a sy
- 信息系统项目管理师论文范文-干系人管理
- C++中vector使用详细说明 (转)
- 构建地理上分散的网络之4点论证
- 【51Nod - 1270】数组的最大代价(dp,思维)
- mysql中教如何拼接字段(列)值、加入运算、设置别名(非常实用)
- 基于深度学习的图像风格转换
- git clone指定分支到本地
- 沫沫金::struts下载文档[解决方案]
- 通过 Kaspersky Security Center 卸载 Kaspersky Endpoint Security
- MPI和OpenMP实现矩阵相乘
- 【C语言笔记】【宏定义系列】 判断是否2的n次幂对齐
- 如何写好一个数据分析报告,需要注意哪些?
- 小米盒子 android tv,小米盒子3 MDZ-16-AA 降级及刷入Android TV系统
- 是性格决定命运,还是命运造就性格?
- puzzle(105)幻方、幻圆、拉丁方
- 别翻了,Lambda 表达式入门,看这篇就够了
- 记一次成功的软件著作权的申请