Linux操作系统的启动流程

news2024/12/22 17:06:33

一、(通常)操作系统的启动流程步骤

【关于BIOS的介绍,如果是操作系统小白可以参考一下百度百科的解释:】

通常操作系统启动的流程一般包括以下步骤: 

  1. BIOS自检:计算机开机后,会进入Power On Self Test(POST)阶段,此时BIOS将会对计算机硬件进行自检,如检查内存、硬盘、显卡等是否正常,如果发现问题,BIOS会发送一个错误信号,操作系统将不能启动。

  2. 开始引导:自检完成后,BIOS从预设的启动设备(如硬盘、光盘、U盘)中读取MBR引导分区的内容,也就是操作系统引导程序,其中最常见的是GRUB和LILO引导程序。[ 其中 MBR(Master Boot Record,即主引导记录)是存储在硬盘的第一个扇区(512字节)中的一段程序,主要是用来启动计算机,并加载操作系统。在整个启动过程中,MBR的作用主要体现在BIOS执行自检之后,加载MBR程序并将控制权交给MBR。MBR程序会检查硬盘分区表,寻找操作系统所在的分区,并将控制权传递给该分区的引导扇区(Boot Sector),从而启动操作系统。因此,MBR起到了启动计算机和加载操作系统的作用,在整个启动过程中扮演着至关重要的角色]

  3. 硬件初始化:操作系统引导程序将会运行一些初始化操作,如检测硬件设备和设备驱动程序,加载所需的驱动程序,等等。

  4. 加载内核:接着,操作系统引导程序将会加载内核文件,将内核从磁盘上加载进内存中,由内核开始控制计算机资源和管理进程,包括启动核心服务和模块,加载一些非必须的驱动程序等。

  5. 启动系统服务:操作系统内核完成初始化操作后,会启动核心的系统服务,如文件系统服务、网络服务、硬件(拓展)服务等。

  6. 用户登录:最后,用户可以通过输入用户名和密码等信息来登录操作系统,产生一个会话,使用计算机进行工作。

以上是常见的操作系统启动流程,不同的操作系统可能会有差别。

二、Linux操作系统启动流程

        Linux操作系统启动流程也大致相同,只是具体实现方式不同。Linux一般采用Grub做为系统引导程序,它会读取配置文件并加载内核,然后由内核启动,并加载驱动程序和文件系统等核心组件,最终启动系统服务并进入用户登录界面等待用户登录。因此,Linux操作系统启动与其他操作系统可能有些许不同,但总体流程大致相同。

        systemed(system daemon)初始化阶段(又叫系统初始化阶段) ,是Linux下的一种init软件,开发目标是提供更优秀的框架以表示系统服务间的以来关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell系统开销的效果,最终代替现在常用System V与BSD风格init程序。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/643374.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CMOS组合逻辑(二)

在前面介绍了静态互补CMOS逻辑,这里主要说明有比逻辑和动态CMOS逻辑。 CMOS组合逻辑_vtc曲线_沧海一升的博客-CSDN博客介绍了静态互补CMOS逻辑https://blog.csdn.net/qq_21842097/article/details/107456036 一、有比逻辑 1、伪NMOS 因为互补CMOS优点是全轨输出&…

WinForm——软件加载读条界面卡死问题

WinForm——软件加载读条界面卡死问题 前言一、问题现象二、测试部分代码1.Loading窗体2.加载代码Program处 三、分析原因四、解决方案代码1.Loading窗体2.加载代码Program处 前言 在制作软件开启界面,读条加载时,在Program中new了个Loading窗体&#x…

02 表达客观事物的术语

文章目录 02 表达客观事物的术语类与对象(1)定义与表示(2)类名(类的标识)(3)属性(attribute)属性的作用范围:定义属性的格式为: (4)操作(operation)表达操作的完整语法格式 &#xf…

帮忙投票的链接创建投票链接设置投票怎么弄的微信怎么

近些年来,第三方的微信投票制作平台如雨后春笋般络绎不绝。随着手机的互联网的发展及微信开放平台各项基于手机能力的开放,更多人选择微信投票小程序平台,因为它有非常大的优势。 1.它比起微信公众号自带的投票系统、传统的H5投票系统有可以图…

【CMake 入门与进阶(7)】 CMakeLists.txt 部分常用变量-续(附使用代码)

继续来学习CMakeLists.txt 常用变量 描述系统的变量 顾名思义,这些变量描述了系统相关的一些信息: 变量说明CMAKE_HOST_SYSTEM_NAME运行 cmake 的操作系统的名称(其实就是 uname -s)CMAKE_HOST_SYSTEM_PROCESSOR运行 cmake 的操…

Android协程

协程 文章目录 协程1.讲协程之前的一些相关概念1.并发与并行2.同步与异步3.阻塞3.1Looper的阻塞3.1.1 loop的源码3.1.2loopOnce源码3.1.3注意 3.2Looper处于死循环是否会导致ANR3.2.1ANR是什么3.2.2Looper的死循环是否会导致ANR3.2.3总结 4.挂起4.1阻塞和挂起的区别 5.多任务 2…

pytorch深度学习框架—torch.nn模块(二)

pytorch深度学习框架—torch.nn模块(二) 激活函数 pytorch中提供了十几种激活函数,常见的激活函数通常为S形激活函数(Sigmoid)双曲正切激活函数(Tanh) 和线性修正单元(ReLu)激活函数等 层对应的…

Material—— RBD(Houdini To UE)

Houdini刚体碎块导入UE,有两个方面需还原,一是材质还原,一是动态还原; 一,ABC to UE 材质方面,Houdini里的每个Primtive Group属性,都表示UE内的对应材质球;导入时勾选Find Material…

AST使用(一)

关于安装及环境配置可以看https://mp.csdn.net/mp_blog/creation/editor/131155968 下面所有案例的JS原代码如下&#xff1a; const a 3; let string "hello"; for (let i 0;i < 3;i){string "world" } console.log("string",string) …

深度学习QA之卷积神经网络

深度学习Q&A之卷积神经网络 前言1 卷积基础知识问题1 简述卷积的基本操作&#xff0c;并分析其与全连接层的区别 &#xff08;难度&#xff1a; ★ \bigstar ★&#xff09;分析与解答&#xff1a; ♣ \clubsuit ♣ 局部连接: ♣ \clubsuit ♣ 权值共享: ♣ \clubsuit ♣ 输…

ubuntu 20.04 aarch64 平台交叉编译 opencv

编译环境 win10 64 位 VMware Workstation Pro 16 虚拟机 虚拟机安装 ubuntu 20.04 opencv 版本&#xff1a; 来自 github 当前最新 4.7 目的 交叉编译 opencv&#xff0c;用于 嵌入式 aarch64 平台 下载 opencv 可以直接从 github 下载 release 版本或者 使用 git clon…

『2023北京智源大会』6月9日上午|开幕式及全体大会

『2023北京智源大会』6月9日上午|开幕式及全体大会 文章目录 一. 黄铁军丨智源研究院院长1. 大语言模型2. 大语言模型评测体系FlagEval3. 大语言模型生态(软硬件)4. 三大路线通向 AGI(另外2条路径) 二. Towards Machines that can Learn, Reason, and Plan(杨立昆丨图灵奖得主…

Spring Boot整合JPA

文章目录 一、Spring Boot整合JPA&#xff08;一&#xff09;创建Spring Boot项目JPADemo&#xff08;二&#xff09;创建ORM实体类1、创建评论实体类 - Comment2、创建文章实体类 - Article &#xff08;三&#xff09;创建自定义JpaRepository接口 - ArticleRepository&#…

【Flutter】Flutter 中处理 loading 状态

文章目录 一、引言二、在 Flutter 中处理 loading 状态三、用具体业务逻辑代码示例展示四、常见问题及解决方案五、结语 一、引言 今天我们将一起探讨在 Flutter 中如何控制 loading 状态。 Flutter&#xff0c;作为一个高效、简洁的 UI 框架&#xff0c;已经在全球范围内得到…

FPGA基础知识-数据流建模

目录 学习目标 学习内容 1.门的类型 2.门延迟 学习时间 学习小结 学习目标 学习Verilog 提供的门级原语 理解门的实例引用、门的符号以及andor&#xff0c;bufnot类型的门的真值表 学习如何根据电路的逻辑图来生成verilog描述 讲述门级设计中的上升、下降和关断延迟 …

【MyBatis学习】MyBatis操纵数据库进行查询操作 ?MyBatis与JDBC想比怎么样,赶快与我一起探索吧 ! ! !

前言: 大家好,我是良辰丫,从今天开始我们就要进入MyBatis的学习了,请君与我一起操纵数据库,MyBatis到底是什么呢?我们慢慢往下瞧! ! !&#x1f48c;&#x1f48c;&#x1f48c; &#x1f9d1;个人主页&#xff1a;良辰针不戳 &#x1f4d6;所属专栏&#xff1a;javaEE进阶篇之…

前端——自定义组件

目录 一、创作纪念日——6月7日&#xff08;机缘巧合&#xff09; 二、收获 三、前端组件 3.1、重要的CSS 3.2、实用组件 1、站点访问次数 2、鼠标样式 3、烟花点击特效 4、GIF动态小人&#xff08;出现在左下角&#xff09; 5、天气插件 6、音乐播放器 3.3、CSS组…

leetcode337. 打家劫舍 III(java)

打家劫舍 leetcode337. 打家劫舍 III题目描述 暴力递归解题思路代码演示 递归加缓存代码演示 动态规划专题 leetcode337. 打家劫舍 III 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/house-robber-iii 题目描述 小偷又…

湖南大学CS-2019期末考试解析

【特别注意】 答案来源于@wolf 是我在备考时自己做的,仅供参考,若有不同的地方欢迎讨论。 【试卷评析】 有必要一做。 【试卷与答案】 一. 填空题(10 分,每空 2 分) 1. 0xb1e56f07 存放在采用小端存储的机器上,地址为 0x3287 到 0x328a ,则 0x3288 处存…

远程仓库拉不下来怎么办

因为项目需要做一个word转pdf的功能, 当我想要从阿里的仓库引入依赖时发现版本一直报错,无论怎么引入都爆红😭😭 *我将aspose的包先下载到本地,然后再安装安装到本地的maven仓库* mvn install:install-file -Dfile=C:\Users\Administrator\Downloads\aspose-words-18.…