Linux系统管理(二):Linux系统启动流程

简介:

Linux系统启动流程


从11月底报名马哥的Linux培训班,12月初真正开始学习,已经过去一个多月的时间了,从学习Linux的发展史开始、跟着学习命令行、文件系统挂载与管理、目录、Bash Shell的基本特性等等,Linux真的是博大精深,今天以CentOS 5,CentOS 6的启动过程进行一下简单的总结。由于才疏学浅,知识所限,有些地方分析不妥之处还请各位高手不吝赐教。


系统启动过程主要经过以下几个流程:

POST》BootSequence(BIOS)》Bootloader(MBR)》Kernel(Ramdisk)》Rootfs(只读)》INIT

wKioL1aZsRDAbDVyAADbSFgTmo0947.png

通过上述流程大概的了解了Linux从按下电源器开始,到用户登录界面的整个流程,接下来我们再补充几个比较重要的概念,它们是启动过程当中不可或缺的部分:

启动第三步:Boot loader


Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。
系统读取内存中的grub配置信息(一般为menu.lst或grub.lst),并依照此配置信息来启动不同的操作系统。


启动第五步:
1)Linux的运行级别(用户层init依据inittab文件设置运行级别)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
功能:它是为了系统的运行或维护等应用目的而设定的:
0-6:7个级别
0 : 关机
1 : 单用户模式式(root,无需登录),single,维护模式
2 : 多用户模式,会启动网络功能,但不会启动NFS:维护模式
3 : 多用户模式,正常模式,文本界面
4 : 预留级别,功能跟级别3一样,通过不使用
5 : 多用户模式,正常模式,图形界面
6 : 重启
默认级别
3,5
切换级别
init  # (#代表对应的级别号)
查看级别
[root@jimjimlv ~] # runlevel
  N 5
  [root@jimjimlv ~] # who -r
           run-level 5  2016-01-15 17:07

2)不同运行级别的脚本程序
系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务
存储位置

1
2
[root@jimjimlv ~] # ls /etc/rc.d/
init.d  rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d  rc. local

3)执行/etc/rc.d/rc.sysinit: 系统初始化脚本

1
2
3
4
5
6
7
8
9
10
11
(1)设置主机名
(2)设置欢迎信息
(3)激活udev和selinux
(4)挂载 /etc/fstab 文件中定义的文件系统
(5)检测根文件系统,并以读写方式重新挂载根文件系统
(6)设置系统时钟
(7)激活swap设备
(8)根据 /etc/sysctl .conf文件设置内核参数
(9)激活lvm及software raid设备
(10)加载额外设备的驱动程序
(11)清理操作

它的整个流程为:/sbin/init --> (/etc/inittab)-->设置默认运行级别-->运行系统初始脚本,完成系统初始化-->>关闭对应下需要关闭的服务,启动需要启动服务-->设置登录终端


以上总结只是描述Linux在启动过程中涉及的几大模块,每个大模块下还有很多的小模块,以下附上一张不错的Linux系统启动流程图:

wKioL1aZyT_Dw9GbAAfCUuisI8M353.jpg










本文转自 Nico_Lv 51CTO博客,原文链接:http://blog.51cto.com/nearlv/1735544,如需转载请自行联系原作者
目录
相关文章
|
15小时前
|
数据采集 Linux Go
Linux系统是如何控制串口收发数据的?
Linux系统是如何控制串口收发数据的?
7 0
|
1天前
|
Linux 网络安全 数据库
linux centos系统搭建samba文件服务器 NetBIOS解析 (超详细)
linux centos系统搭建samba文件服务器 NetBIOS解析 (超详细)
|
1天前
|
存储 移动开发 Linux
Linux系统之部署h5ai目录列表程序
【5月更文挑战第3天】Linux系统之部署h5ai目录列表程序
12 1
|
6天前
|
运维 监控 Linux
提升系统稳定性:Linux内核参数调优实战
【5月更文挑战第1天】 在运维领域,保障服务器的高效稳定运行是核心任务之一。Linux操作系统因其开源、可靠和灵活的特点被广泛应用于服务器中。本文将深入探讨通过调整Linux内核参数来优化系统性能,提升服务器的稳定性和响应能力。文章首先介绍了内核参数调优的必要性和基本原则,然后详细阐述了调优过程中的关键步骤,包括如何监控当前系统状态,确定性能瓶颈,选择合适的参数进行调优,以及调优后的测试与验证。最后,文中提供了一些常见问题的解决策略和调优的最佳实践。
29 5
|
6天前
|
Linux
Linux系统ps命令
这些是一些常见的 `ps`命令选项和用法,用于查看系统中运行的进程及其相关信息。您可以根据需要选择合适的选项以满足您的任务要求。
20 0
|
7天前
|
存储 负载均衡 网络协议
在Linux中优化系统性能的实用指南
【4月更文挑战第30天】本文是关于Linux系统性能优化的指南,涵盖硬件选择、系统及软件更新、调整Swap分区、内核参数优化、使用性能分析工具、文件系统优化、网络服务优化和定期维护等方面。通过这些方法,可提升系统响应速度,降低资源消耗,延长硬件寿命。注意,优化需根据具体系统和应用需求进行。
|
7天前
|
弹性计算 Shell Linux
|
7天前
|
存储 缓存 Linux
linux几种典型应用对系统资源使用的特点
【4月更文挑战第22天】几种典型应用对系统资源使用的特点
16 0
|
8天前
|
消息中间件 缓存 监控
Linux 常用命令汇总(八):系统管理 & 性能监视
Linux 常用命令汇总(八):系统管理 & 性能监视
|
8天前
|
Web App开发 监控 Unix
Linux 常用命令汇总(七):进程管理 & 系统权限 & 用户授权
Linux 常用命令汇总(七):进程管理 & 系统权限 & 用户授权