首页 > 系统相关 >Linux 初始化 init 系统

Linux 初始化 init 系统

时间:2024-04-29 22:56:57浏览次数:28  
标签:初始化 systemd 系统 init 内核 Linux 加载

目录

    Linux 操作系统的启动流程:

    1. BIOS(或UEFI)启动:当计算机加电时,BIOS(基本输入输出系统)或更现代的UEFI(统一可扩展固件接口)会执行一系列的自检(POST,Power-On Self Test),以确保硬件正常工作。随后,BIOS/UEFI会根据用户设置的启动顺序来定位并加载引导设备(如硬盘、USB驱动器或网络)上的主引导记录(MBR)或UEFI系统分区中的引导加载程序。

    2. Boot Loader加载:最常用的Boot Loader是GRUB(Grand Unified Bootloader),它负责加载内核映像和初始化RAM磁盘(initramfs)到内存中。这一阶段可能还包括用户选择操作系统内核版本或恢复模式等选项。

    3. 内核初始化:内核一旦被加载并控制权交接之后,会进行一系列的初始化操作,包括设置内存管理、初始化硬件设备、加载驱动模块、挂载根文件系统等。此阶段还会运行内核初始化脚本(如/sbin/init在较旧系统或systemd在现代系统中)。

    4. Init进程启动:内核初始化的最后阶段是启动PID为1的init进程。在传统的System V风格的init系统中,这通常是/sbin/init程序;而在使用systemd的系统中,则是systemd。这个进程是所有其他用户空间进程的父进程,它根据配置启动系统服务,建立运行级别或目标状态,并管理后续的系统和服务初始化。Init进程读取如/etc/inittab(传统系统)或/etc/systemd/system/default.target(systemd系统)等配置文件,来确定系统启动后应进入哪种运行模式或目标单元。

    总的来说,init进程作为系统启动过程的指挥中心,对整个系统的运行起着至关重要的作用。

    标签:初始化,systemd,系统,init,内核,Linux,加载
    From: https://www.cnblogs.com/yubo-guan/p/18166786

    相关文章

    • Linux日志工具---journalctl
      目录确实如此,Linux系统中的日志系统是维护系统健康、安全和性能的关键组成部分。自从systemd成为众多Linux发行版的默认初始化系统以来,journalctl成为了管理和查询这些系统日志的主要工具。journalctl是与systemd-journald日志系统配套的命令行实用程序。systemd-journald......
    • 在Linux系统下用命令行编译调试C++
      在Linux系统下用命令行编译调试C++目录在Linux系统下用命令行编译调试C++一、编译1.单文件编译2.多文件编译3.链接第三方动态库二、调试1.启动和退出2.查看源代码:list/l3.断点:breakpoint/br、watchpoint4.单步、步入、跳出5.计算表达式命令:expression/expr、p、po6.操作......
    • 数据结构-二叉树的初始化
      数据结构-二叉树的相关初始化/*************************************************/***@filename: DcirLLinkInsert*@brief对双向循环链表插入的功能实现*@[email protected]*@date2024/04/29*@version1.0:在下坂本,有何贵干*@property:none......
    • Linux基础之权限管理
      目录通用权限的管理扩展权限的管理特殊权限的管理权限掩码在Linux中,权限管理是通过文件系统中的权限位来实现的。通用权限的管理每个文件或目录都有一个所有者、一个用户组和其他用户的权限设置。主要的权限包括读取、写入和执行。文件权限包括读、写和执行权限:读权限(r):允许......
    • windows使用samba共享linux文件服务
      一、服务结构服务端:linux服务器192.168.2.251客户端:windows服务器192.168.2.252二、linux部署samba服务端1.安装samba~]#yum-yinstallsamba2.创建共享文件夹~]#mkdir/mnt/svr33.创建samba用户~]#smbpasswdwyg或者~]#pdbedit-a-utest密码:wyg.1234.编......
    • 在 ArchLinux 上完美使用高漫 M6 数位板
      没想到这个问题还能产生第三篇博客。前言2022年和2023年我针对这个问题写了两篇博客(见此处和此处),非常高兴能够看到博客帮到了一些网友。那个时候我的系统是Kubuntu22.04。今年换到Arch之后,发现原先使用的digimenddkmsdriver的fork(https://github.com/inochisa......
    • 稳扎稳打 部署丝滑 开源即时通讯(IM)项目OpenIM源码部署流程(linux windows mac)
      背景OpenIM包含多个关键组件,每个都是系统功能必不可少的一部分。具体来说,MongoDB用于持久化存储;Redis用作缓存;Kafka用于消息队列;Zookeeper用于服务发现;Minio用于对象存储。这些组件的众多可能会增加部署的复杂性。此外,系统包含多个微服务模块,这要求有效管理进程的启动、停止......
    • linux网络DNS域名解析服务
      DNS概述1.DNS系统DNS(DomainNameSystem),使用应用层协议,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。简单来说就是:把域名转换成网络可以识别的IP地址,在通过IP地址访问主机。这种由文字组成的名称,显而易见要更容易记忆。每......
    • Linux中ssh
      ssh原理SSH(SecureShell)是一种用于安全访问远程计算机的网络协议。SSH使用加密技术来确保通信的安全性,其中包括使用公钥加密和私钥解密的方法。下面是SSH公钥传输的基本原理:生成密钥对:在使用SSH进行通信之前,首先需要在客户端生成一对密钥,包括公钥和私钥。通常使用RSA或DSA算法......
    • Linux手动安装JD详细教程
      1、下载JDK下载网址:https://www.oracle.com/technetwork/java/javase/downloads/index.html下拉,找到jdk8 2、手动安装2.1先新建一个文件夹,目录是/usr/local/java 进入安装目录。输入命令:cd/usr/local/java 2.2安装JDK1.新建一个存放安装包的文件夹命令:mkdir......