美文网首页Shell
Linux启动过程

Linux启动过程

作者: 我是柯南 | 来源:发表于2018-04-02 10:44 被阅读5次

传统 Linux SysV init 启动过程

  • 按下计算机电源按钮开机
  • CPU查找系统的BIOS设置知道第一个引导设备,一般为硬盘
  • 查找到硬盘的主引导记录(MBR),将其加载到内存并将控制权移交给MBR
  • 主引导记录初始化引导程序(GRUB或LILO)
  • GRUB引导程序加载内核模块
  • 内核模块马上查找sbin下的init程序并执行她
  • init的进程id为1,成为后续linux系统的父进程
  • init进程读取/etc/inittab文件,查找分区表信息,然后分别挂载
  • init启动/etc/init.d文件夹里指定的默认启动级别的所有服务和脚本,所有服务都由init进程一个一个初始化,整个过程中init进程每次只启动一个服务

更先进的 Systemd 启动过程

开发Systemd的主要目的就是减少系统引导时间和计算开销。Systemd(系统管理守护进程),最开始以GNU GPL协议授权开发,现在已转为使用GNU LGPL协议,它是如今讨论最热烈的引导和服务管理程序。如果你的Linux系统配置为使用Systemd引导程序,它取替传统的SysV init,启动过程将交给systemd处理。Systemd的一个核心功能是它同时支持SysV init的后开机启动脚本。
Systemd引入了并行启动的概念,它会为每个需要启动的守护进程建立一个套接字,这些套接字对于使用它们的进程来说是抽象的,这样它们可以允许不同守护进程之间进行交互。Systemd会创建新进程并为每个进程分配一个控制组(cgroup)。处于不同控制组的进程之间可以通过内核来互相通信。systemd处理开机启动进程的方式非常漂亮,和传统基于init的系统比起来优化了太多。让我们看下Systemd的一些核心功能,和init比起来引导过程简化了很多。

  • Systemd支持并发引导过程从而可以更快启动
  • 通过控制组来追踪进程,而不是PID
  • 优化了处理引导过程和服务之间依赖的方式
  • 支持系统快照和恢复
  • 监控已启动的服务;也支持重启已崩溃服务
  • 包含了systemd-login模块用于控制用户登录
  • 支持加载和卸载组件
  • 低内存使用痕迹以及任务调度能力
  • 记录事件的Journald模块和记录系统日志的syslogd模块

相关文章

  • 从0到1学习网络安全 【Linux基础篇-Linux 系统启动过

    Linux 系统启动过程 linux启动时我们会看到许多启动信息。Linux系统的启动过程并不是大家想象中的那么复...

  • Linux Shell命令及配置安装手册

    Linux 教程 Linux 教程、Linux 简介、Linux 安装、Linux 系统启动过程、Linux 系统...

  • Android启动(一)

    Android的内核是linux,因此,此时讨论的其实是linux的启动过程,虽然这并不是纯粹的linux启动过程...

  • Linux 内核初始化

    《Linux 内核分析》 MOOC 课程实验 分析 Linux 内核的启动过程 1.计算机的启动过程 我们日常使用...

  • linux基础笔记

    Linux系统启动过程 Linux系统的启动过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。 ...

  • linux启动过程

    转载自linux启动过程 借的别人的图 正文 剖析Linux系统启动过程--redhat 本文以RedHat9.0...

  • 【Linux学习笔记】Linux开机启动过程

    序言 计算机启动Linux系统的过程分为BIOS程序运行过程、引导加载程序运行过程、Linux系统运行过程。 BI...

  • Linux入门

    Linux系统启动过程 Linux系统如何启动 从BIOS开始,进入Boot Loader,再加载系统内核,再进行...

  • 33.Linux开机过程及启动故障修复

    一、Linux系统启动 Linux系统启动过程如下: initramfs镜像用来启动系统,解压后是一个临时的根目录...

  • Linux 启动过程

    Linux 启动过程 一、计算机的启动过程 1、两种启动方式 1.1、传统启动方式(Legacy+mbr) 指传统...

网友评论

    本文标题:Linux启动过程

    本文链接:https://www.haomeiwen.com/subject/vsswpxtx.html