linux系统启动过程(面试热点)

2023-05-16

linux系统启动过程

  • 启动过程总览
    • 1.内核的引导
    • 2.运行init
    • 3.系统初始化
    • 4.建立终端
    • 5.用户登录系统
    • 6.进入login shell

启动过程总览

在这里插入图片描述

1.内核的引导

当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。
操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。
在这里插入图片描述

2.运行init

init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。

init 程序首先是需要读取配置文件 /etc/inittab。

在这里插入图片描述运行级别

许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。

init进程的一大任务,就是去运行这些开机启动的程序。

但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。

Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。
在这里插入图片描述

3.系统初始化

在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysini它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。

它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。
在这里插入图片描述

4.建立终端

rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。

init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端:

1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

从上面可以看出在2、3、4、5的运行级别中都将以respawn方式运行mingetty程序,mingetty程序能打开终端、设置模式。

同时它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份。

5.用户登录系统

一般来说,用户的登录方式有三种:

(1)命令行登录
(2)ssh登录
(3)图形界面登录

在这里插入图片描述

6.进入login shell

所谓shell,简单说就是命令行界面,让用户可以直接与操作系统对话。用户登录时打开的shell,就叫做login shell。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux系统启动过程(面试热点) 的相关文章

  • LSTM详解

    LSTM详解 文章目录 LSTM详解改进记忆单元门控机制 LSTM结构LSTM的计算过程遗忘门输入门更新记忆单元 输出门LSTM单元的pytorch实现Pytorch中的LSTM参数输入输出 参考与摘录 LSTM是RNN的一种变种 xff0
  • 固定翼无人机结构分类

    一 固定翼无人机常见的气动布局 常规布局 常规布局就是水平尾翼在主翼之后 xff0c 有一个或者两个垂危的气动布局方式 这种布局技术最成熟 xff0c 理论研究已经非常完善 xff0c 生产技术也成熟而稳定 xff0c 同其他气动布局相比各
  • 互联网笔试——服务器启动题

    某厂笔试题 xff0c 居然瞎胡做出来了 xff0c 先把不优雅得答案记录一下 第一行n xff0c p表示有n台机器 xff0c p次操作 第 i 行第一个整数 c 表示第 i 个服务所依赖的服务数量 xff0c 后面 c 个整数表示它所
  • Kubernetes的Secret和ConfigMap实践

    欢迎大家进群 xff0c 一起探讨学习 公众号 博主技术文档地址 博主开源微服架构前后端分离技术博客项目源码地址 xff0c 欢迎各位star 1 Secret Secret解决了密码 token 密钥等敏感数据的配置问题 xff0c 而不
  • 【KAWAKO】TVM-在ubuntu服务器上的安装

    目录 下载源码 安装依赖库 修改config cmake文件 编译 安装python库 添加tophub 简单验证 官方的安装教程在这里 下载源码 从Download Page中下载下来的源码是0 8版本的 xff0c 亲测该版本不可用 x
  • 【Ubuntu 无法使用ifconfig解决办法】

    Ubuntu 无法使用ifconfig解决办法 在使用ubuntu时需要使用ifconfig命令提示 Command span class token char 39 ifconfig 39 span span class token op
  • Jetson tx2刷机指南及gparted扩容全踩坑实录

    这几周试了下jetson tx2刷机 xff0c 出了很多报错 xff0c 特在此记录 本文包括tx2的大概刷机流程 xff0c 以及gparted的扩容方式 前期注意事项 1 如果能直接用ubuntu系统刷 xff0c 请一定不要用虚拟机
  • ROS 下使用codeblocks进行代码快速编辑

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 安装codeblocks二 配置ROS头库路径三 设置codeblocks为默认打开软件效果展示总结 前言 学习ROS
  • Python查看图片模式及像素

    1 以彩色图像为例 xff1a 2 代码 xff1a span class token keyword import span sys span class token keyword from span PIL span class to
  • Python统计RAF-DB数据集中各类情感类别对应的图像数

    一 统计basic部分各类情感类别对应的图像数 1 需要说明的是 xff0c RAD DB数据集对情感的标记是从1开始而非从0开始 xff0c 具体如下 xff1a 1 xff1a Surprise 2 xff1a Fear 3 xff1a
  • Eclipse中查看JAVA源代码显示SOURCE NOT FOUND解决办法

    Eclipse中查看JAVA源码显示SOURCE NOT FOUND解决办法 写代码或者看别人代码的时候总想知道引用函数的内部构造 快捷键Ctrl 43 鼠标左键快捷查看源码 xff0c 不过小白在开始使用的时候一般未关联源码 xff0c
  • QGC地面站环境搭建问题

    1 ubuntu系统环境配置 参照如下博文进行配置 https blog csdn net qq 39751352 article details 125847392 2 ubuntu系统环境 xff0c qt5 12 6 43 qgc环境
  • ros msg文件数组定义与使用

    float32 ranges 注意这里的数组使用的是无长度限制的 xff0c 也就是方扩号内没有东西 在使用的时候 xff0c 不能够直接用数组赋值那样去做 xff0c 它实际上是一个向量 xff0c 往里面填充数据应使用c 43 43 中
  • Git(七)——删除历史版本,保留当前状态

    来自 git删除历史版本 xff0c 保留当前状态 LANGKYE 博客园 1 创建并切换到lastest branch分支 git checkout orphan latest branch 2 添加所有文件 git add A 3 提交
  • JVM 1:基础知识

    目录 一 JVM从编译到执行1 Java 程序的执行过程2 JVM JRE JDK 的关系 二 JVM的跨平台与语言无关性1 跨平台2 跨语言 xff08 语言无关性 xff09 三 JVM 整体知识模块 一 JVM从编译到执行 1 Jav
  • 软件在环SIL和硬件在环PIL实现过程记录

    标题Matlab Simulink 自动代码生成 基于模型设计学习教程 NO 1 软件在环SIL和硬件在环PIL实现过程记录 在完成模型算法的过程当中 xff0c 为了验证算法的准确性 xff0c 依此为模型验证 软件在环验证 xff0c
  • pandas读取excel,遍历数据

    1 迭代数据 以键值对的形式 获取 每行的数据 df 61 pd read excel io 61 excel path 默认读取sheet 61 0的 columns 61 df columns values tolist 获取excel
  • spring jpa 懒加载出现-could not initialize proxy - no Session

    1 could not initialize proxy no Session 一对多 xff0c 多对多关系映射中 xff0c 配置的懒加载 xff0c 会出现这个错误 配置文件配置配置即可 xff1a spring jpa open i
  • python 做的request模块封装工具类

    1 python 做的request模块封装工具类 记录下 xff0c 避免以后用到 import time from requests adapters import HTTPAdapter import json import requ
  • python发送email邮件

    1 使用QQ邮箱做服务转发邮 2 使用 coding utf 8 from import res import smtplib from email mime text import MIMEText from email utils im

随机推荐

  • MySQL实现连表查询

    一 创建相应的表 1 xff09 创建一张学生信息的表 xff0c 包含 id xff08 自增 xff09 xff0c 学号 xff0c 姓名 xff0c 性别 xff0c 身高 xff0c 体重 xff0c 备注 CREATE TABL
  • 解决Eclipses下tomcat部署端口号占用和server.xml修改之后被重置无效的问题,即使修改了也会被改回来的问题

    首先介绍一下tomcat部署的常用三个方式 xff1a 直接部署到host虚拟主机管理的目录 xff0c 通过eclipse直接发布到这个目录 需要每次启动tomcat 直接在server xml下配置Context 路径 xff0c 直接
  • Linux下安装redis及遇到的问题解决

    1 Linux安装redis wget http download redis io releases redis 5 0 3 tar gz tar xzf redis 5 0 3 tar gz cd redis 5 0 3 make 启动
  • 在spring boot中使用configuration注解无法注入bean

    1 在spring boot和spring中bean注入的方式 xff0c 基于Java类配置的 xff0c 即通过configuration注解注入 xff0c 其中遇到发现在springboot中 xff0c 无法自动注入 xff0c
  • 电路学习笔记( 一)——上拉电阻(编码器电路)

    来自于编码器接口电路 Encoder1和Encoder2经过510电阻和一个上拉10k电阻后输入到最小系统中 问题在于 xff0c 为什么要接上拉电阻 之前的知识仅理解到了拉高电压一项 xff0c 但原因不明 在单片机引脚作为输入端时 xf
  • 64位系统下运行32位程序

    现象 xff1a bash make ext4fs No such file or directory 解决 xff1a 一般出现该错误是由于应用程序是 32 位导致的 xff0c 可以使用 file 命令来查看 xff1a cpp vie
  • 安装mybatisx插件失败Fail to load plugin descriptor from file MyBatis-4.02.jar

    我想大概会有人出错的 hhhh Fail to load plugin descriptor from file MyBatis 4 02 jar 只需要把jar包改为zip格式即可 这种方式是先下载好jar包 其它博客有怎么下载
  • 4、DockerFile文件的使用

    文章目录 一 DockerFile 文件1 1 DockerFile构建过程1 1 1 基础知识1 1 2 docker执行DockerFile的大致流程 1 2 Dockerfile常见的关键字1 3 自定义镜像mycentosjava8
  • git 的使用笔记 编辑工具vscode

    vscode与git对应命令 Changes 里的文件 43 会放到 Staged Changes 61 61 git add 全部修改的文件 Staged Changes 里的文件 34 34 会撤回到Changes里 61 61 git
  • 使用Python,Opencv检测AprilTag

    这篇博客将介绍AprilTags 这是一组基准标记 通常用于机器人技术 校准和3D计算机视觉项目 通常在执行实时检测时使用AprilTags 以及密切相关的ArUco标记 AprilTags是一种基准标记 更简单地说是 标记 基准点是在捕获
  • DIY 属于自己的OPENMV4, 附openmv4部分的原理图。

    很多小白想要用AD来DIYopenmv4 xff0c 拥有属于自己DIY的openmv4 但是却没有找到好的参考资料 xff0c 现总结如下所示 现在官方还在众筹 xff0c 官方的开源的资料 xff0c 也是在三月份GitHub才向大家公
  • 30道最新Linux内核大厂面试题(含答案)

    1 Linux 中主要有哪几种内核锁 xff1f Linux 的同步机制从 2 0 到 2 6 以来不断发展完善 从最初的原子操作 xff0c 到后来 的信号量 xff0c 从大内核锁到今天的自旋锁 这些同步机制的发展伴随 Linux 从单
  • 最新腾讯等大厂c/c++后端 linux开发常见面试题汇总

    计算机操作系统 xff08 Linux xff09 1 命令 xff1a netstat tcpdump ipcs ipcrm 这四个命令的熟练掌握程度基本上能体现实际开发和调试程序的经验 2 cpu 内存 硬盘 等等与系统性能调试相关的命
  • C++高性能大规模服务器开发实践

    本文摘录自腾讯高级工程师在 全球C 43 43 及系统软件技术大会 上的专题演讲 01Lego简介 首先介绍一下 CDN 非常早期的时候有一个大牛创建了一个公司叫阿卡曼 xff0c 他把服务器部署到全球各地 xff0c 然后把源站的内容缓存
  • 梯度、散度、旋度、拉普拉斯算子

    梯度 运算的对象是纯量 xff08 即标量 xff0c 只有大小 xff0c 没有方向 xff09 xff0c 运算出来的结果是向量 xff08 矢量 xff0c 既有大小 xff0c 又有方向 xff09 定义 xff1a 函数在某点的梯
  • 【VINS-Fusion-gpu在NX的部署】

    VINS Fusion gpu在NX的部署 1 移除nx中已经默认的opencv sudo apt span class token operator span get purge libopencv span class token op
  • 电机扭矩计算

    转自 xff1a http blog sina com cn s blog 521a53b001011xdl html 扭矩的定义 xff1a 垂直方向的力 到旋转中心的距离 1 电动机有一个共同的公式 xff1a P 61 M N 955
  • px4ctrl代码-fsm.process()

    主进程 初始状态为MANUAL CTRL Finite State Machine 控制系统启动 v gt 手动控制 lt gt 自动起飞
  • px4ctrl代码解读-calculateControl()

    compute u thrust and u q controller gains and other parameters are in param quadrotor msgs Px4ctrlDebug LinearControl ca
  • linux系统启动过程(面试热点)

    linux系统启动过程 启动过程总览1 内核的引导2 运行init3 系统初始化4 建立终端5 用户登录系统6 进入login shell 启动过程总览 1 内核的引导 当计算机打开电源后 xff0c 首先是BIOS开机自检 xff0c 按