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的内核调度器(Kernel scheduler),从而获得CPU时间。
这里就引出了两个问题:
如果父进程死亡,子进程还存在的话,这样的进程被称为孤儿进程
如果子进程死亡,父进程不知道还保持与子进程的通信,那个这样的进程叫做僵尸进程
我们在系统中是不允许出现这两种进程的。 父进程死亡,子进程也应该消亡
在inittab中,所有条目采取以下格式:
id:run-levels:action:process id:标识符,一般为两位字母或数字 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——系统引导流程学习简单笔记的更多相关文章
- 9.Linux系统引导流程
一.Linux系统引导流程 当我们按下主机电源键的那时候开始,主板上的CMOS/BIOS模块将进行固件自检,以此检查各个硬件是否正确连接. 在Linux引导流程中,一般可以分为以下几个主要过程: 1. ...
- linux系统引导流程
1.固件:硬件和软件结合.加电自检是我们按下电源会检测硬件像cpu.内存.网卡等信息.(从硬件层次检测硬件是否可用) 固件设置实例:设置时间 软件时间和硬件时间: [root@VM_0_12_cent ...
- linux 启动引导流程
课程大纲: Linux引导流程 Linux运行级别 Linux启动服务管理 GRUB配置与应用 启动故障分析与解决 系统引导流程 1.固件firmware(CMOS(固化在硬件上的程序与硬件统称)/B ...
- Linux系统下MongoDB的简单安装与基本操作
这篇文章主要介绍了Linux系统下MongoDB的简单安装与基本操作,需要的朋友可以参考下 Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备 ...
- linux系统引导过程
linux系统引导过程 linux-0.11引导时,将依次运行BIOS程序.bootsect.s.setup.s和head.s,完成引导过程后进入到main函数运行.BIOS完成硬件的检查与初始化等工 ...
- 学习Linux系统中命令的简单方法
如果说如何快速学习.了解Linux的话,我的答案是学命令.背命令!为何呢?对于一名新手来说,去学习Linux的思想.了解Linux的架构.明白Linux中“一切皆文件”概念虽然说是没有错,是对的.但是 ...
- Linux——进程管理学习简单笔记
基本概念: 进程和程序的区别 : 1.程序是静态概念,本身作为一种软件资源长期保存:而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的. 2.程序和进程无一一对应关系.一个程序可 ...
- 鸟哥的Linux私房菜——基础学习篇 —— 笔记2
at 语法 == 注意,输入at之后便进入命令行模式 ------- 不管怎么样,只会执行一次. [test @test test]# at [-m] TIME (输入工作指令)[test @test ...
- 3.了解linux系统以及搭建学习环境
目录: 1.linux的前世今生. 2.企业如何选择linux系统? 3.如何在虚拟机上安装linux系统?搭建学习环境. 1.linux的前世今生. 1).起源:先是贝尔实验室的Unix系统,因为各 ...
随机推荐
- [py]flask动态展示主机内存图
echarts基础 需要借助这个图来绘制,动态内存图. 绘制步骤 写py脚本来入库日志 选取合适的echart,并观察图所需的数据格式 用flask返回这个静态的echarts 用flask写接口返回 ...
- selenium webdriver窗口切换(上)
selenium webdriver窗口切换,有时候在做自动化的时候需要打开很多很多的页面, 当在操作不同的页面的时候需要切换窗口,下面是如何切换到前后页面窗口的操作: package test201 ...
- 关闭Oracle 11g的DPR特性
关闭Oracle 11g的DPR(Direct Path Read)特性 查看event参数值: SQL> show parameter event NAME TYPE VALUE ------ ...
- virtualBox虚拟机联网
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
- 9/24matplotlib使用入门
---恢复内容开始--- matplotlib的使用中有好几种输出风格,有matlab风格,和官方文档的as风格,各有所长,本文对比介绍官方文档中的使用风格. 我们画图的目的是要将函数以图像显示出来, ...
- windows配置承载网络的一个批处理程序
@rem 这是windows中创建承载网络的相关命令title wifi热点@echo off set ssid=abcdeset key=123456789 :beginclsecho ------ ...
- 015-awk
1.awk的处理方式: 一次处理一行. 对每行可以进行切片处理,针对字段处理.2.awk的格式: awk BEGIN{循环之前初始化} [options] 'command' END{循环之后结尾} ...
- mysql中delete和truncate区别
delete和truncate区别如下: 一.灵活性:delete可以条件删除数据,而truncate只能删除表的所有数据: delete from table_test where ... trun ...
- python练习题,写一个方法 传进去列表和预期的value 求出所有变量得取值可能性(例如list为[1,2,3,4,5,6,12,19],value为20,结果是19+1==20只有一种可能性),要求时间复杂度为O(n)
题目:(来自光荣之路老师)a+b==valuea+b+c=valuea+b+c+d==valuea+b+c+d+...=valuea和b....取值范围都在0-value写一个方法 传进去列表和预期得 ...
- MongoDB ----基于分布式文件存储的数据库
参考: http://www.cnblogs.com/huangxincheng/category/355399.html http://www.cnblogs.com/daizhj/category ...