6、LINUX 系统启动过程概述

Linux系统启动过程可以分为以下几个阶段:

BIOS/UEFI:计算机开机时,首先会执行基本输入输出系统(BIOS)或统一可扩展固件接口(UEFI)。这个过程中,BIOS/UEFI会自检硬件设备并初始化它们,然后查找并加载引导设备(如硬盘或光盘)中的引导扇区。

引导管理器(Boot Manager):当BIOS/UEFI找到引导设备中的引导扇区后,会加载引导管理器。引导管理器是一个程序,它提供了一个菜单供用户选择要启动的操作系统。其中最常用的引导管理器是Grub(GRand Unified Bootloader)。

内核加载和引导:引导管理器从指定的位置读取内核镜像文件(通常是/boot目录下的vmlinuz文件),然后将内核加载到内存中。内核是操作系统的核心部分,它负责管理系统硬件和提供基本的操作系统功能。

初始化过程:

a. 内核启动:加载完成后,内核开始执行,创建第一个用户级进程——初始化进程(通常是init或systemd)。

b. 系统初始化:初始化进程会根据配置文件(如/etc/inittab或/etc/init)中的设定,启动各种系统服务和守护进程。它会挂载文件系统、设置主机名、启动网络接口、加载设备驱动程序等。这些步骤可能因发行版而异。

c. 运行级别切换:初始化进程根据配置文件中的设定,将系统切换到指定的运行级别。不同的运行级别定义了不同的服务和进程,可以选择以单用户模式、命令行模式或图形用户界面模式启动系统。

系统服务启动:在特定的运行级别下,根据配置文件(例如/etc/rc.d或/etc/init.d)中的指令,初始化进程会启动相应的系统服务和守护进程。这些服务可能包括网络服务(如DHCP、SSH)、文件系统服务(如udev)、日志服务(如syslogd)等。

用户登录:系统初始化完成后,用户可以通过终端或图形界面登录操作系统。终端登录通常是通过控制台设备(如虚拟控制台或串口终端),而图形用户界面登录则提供了一个图形登录界面供用户输入用户名和密码。

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

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

相关文章

面试题 -- iOS数据存储

文章目录 一、如果后期需要增加数据库中的字段怎么实现,如果不使用CoreData呢?二、SQLite 数据存储是怎么用?三、简单描述下客户端的缓存机制?四、实现过多线程的Core Data 么?NSPersistentStoreCoordinator&#xff0…

Scrapy和Selenium整合(一文搞定)

文章目录 前言一、开始准备1. 包管理和安装chrome驱动2. 爬虫项目的创建(举个栗子)3. setting.py的配置 二、代码演示1. 主爬虫程序2. 中间件的配置3. 定义item对象4. 定义管道 总结 前言 scrapy和selenium的整合使用 先定个小目标实现万物皆可爬&#…

Pycharm debug程序,跳转至指定循环条件/循环次数

在断点出右键,然后设置条件 示例 for i in range(1,100):a i 1b i 2print(a, b, i) 注意: 1、你应该debug断点在循环后的位置而不是循环上的位置,然后你就可以设置你的条件进入到指定的循环上了 2、设置条件,要使用等于符号…

如何加强Mysql安全,请给出可行的具体措施

如何加强Mysql安全,请给出可行的具体措施 数据库对于公司而言是一个非常重要的资产。它在数据存储和管理、业务应用支持、决策和分析、数据安全和合规性、业务连续性以及客户关系管理等方面都发挥着关键作用。因此,公司应该高度重视数据库的建设、管理和…

C# Assembly 反射动态加载程序集(动态加载Dll)Demo

No1、本Demo 定义了一个接口IserviceToolFrame,接口中有一个方法Run。 No2、在另外两个工程中,分别定义两个类serviceToolCatComplete、serviceToolDogComplete实现接口IserviceToolFrame。 No3、控制台程序通过动态加载Dll的方式去调用IserviceToolFram…

“深入剖析Spring Boot:从入门到精通“

标题:深入剖析Spring Boot:从入门到精通 摘要:本篇博客将带领读者深入剖析Spring Boot框架,从入门到精通。我们将介绍Spring Boot的基本概念和特性,详细讲解Spring Boot的核心组件和工作原理,并结合示例代…

Flutter 使用texture_rgba_renderer实现桌面端渲染视频

Flutter视频渲染系列 第一章 Android使用Texture渲染视频 第二章 Windows使用Texture渲染视频 第三章 Linux使用Texture渲染视频 第四章 全平台FFICustomPainter渲染视频 第五章 Windows使用Native窗口渲染视频 第六章 桌面端使用texture_rgba_renderer渲染视频(本…

#P0999. [NOIP2008普及组] 排座椅

题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的 DD 对同学上课时会交头接耳。 同学们在教室中坐…

《GreenPlum系列-部署维护》GreenPlum数据库Standby故障处理

一、Standby故障 1.检查监控中心数据库状态 2.查看master节点数据库状态 su - gpadmin gpstate -f二、重启数据库 1.快速关闭数据库 [gpadminmdw pg_log]$ gpstop -M fast ... Continue with Greenplum instance shutdown Yy|Nn (defaultN): > y ...2.开启数据库 [gpad…

Redis以及Java使用Redis

一、Redis的安装 Redis是一个基于内存的 key-value 结构数据库。 基于内存存储,读写性能高 适合存储热点数据(热点商品、资讯、新闻) 企业应用广泛 官网:https://redis.io 中文网:https://www.redis.net.cn/ Redis…

在CSDN学Golang云原生(Kubernetes集群管理)

一,Node的隔离与恢复 在 Kubernetes 集群中,Node 的隔离与恢复通常可以通过以下方式实现: 使用 Taints 和 Tolerations 实现隔离 Taints 和 Tolerations 是 Kubernetes 中用于节点调度的机制。通过给节点添加 taints(污点&…

【LeetCode】单链表——刷题

你曾经灼热的眼眶,是人生中少数的笨拙又可贵的时刻。 文章目录 1.反转单链表 题目思路及图解 代码中需要注意的问题 2.移除链表元素 题目思路及图解 代码中需要注意的问题 大家好,我是纪宁。 这篇文章分享给大家一些经典的单链表leetcode笔试题的…

Rust- 变量绑定

In Rust, you bind values to a variable name using the let keyword. This is often referred to as “variable binding” because it’s like binding a name to a value. Here’s a simple example: let x 5;In this example, x is bound to the value 5. By default, …

类变量和类方法

类变量和类方法 引入 思考:有一群小孩在玩堆雪人,不时有新的小孩加入,请问如何知道现在有多少小孩在玩? 静态变量内存分析 1、静态变量被对象共享 2、静态变量可能在堆中,也可能在方法区的静态域中,这…

在 Windows 上搭建 NTP 服务器

文章目录 一、基础环境二、适用场景三、操作步骤四、常用的NTP服务器五、参考资料 版权声明:本文为博主原创文章,于2023年7月30日首发于CSDN,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/u011046671 一、基础…

Flutter 的线程模型和异步原理

本文字数::36130字 预计阅读时间:91分钟 在Android应用中, 用户时常会遇到界面卡顿的情况,非常影响用户的体验。作为Android开发肯定都知道:应用在主线程里做了大量的耗时操作(例如文件读写, 数…

stable diffusion打造自己专属的LORA模型

通过Lora小模型可以控制很多特定场景的内容生成。 但是那些模型是别人训练好的,你肯定很好奇,我也想训练一个自己的专属模型(也叫炼丹~_~)。 甚至可以训练一个专属家庭版的模型(family model&…

RT1052 的周期定时器

文章目录 1 PIT 周期中断定时器2 PIT定时器的使用3 PIT定时器配置3.1 PIT 时钟使能。3.1.1 CLOCK_EnableClock 3.2 初始化 PIT 定时器3.2.1 PIT_Init 3.3 设置 通道 0 的 加载值3.3.1 PIT_SetTimerPeriod 3.4 使能 通道 0 的中断3.4.1 PIT_EnableInterrupts 3.5 开启 PIT 定时器…

PysparkNote006---pycharm加载spark环境

pycharm配置pyspark环境,本地执行pyspark代码 spark安装、添加环境变量不提了 File-Settings-Project-Project Structure-add content root添加如下两个路径 D:\code\spark\python\lib\py4j-0.10.7-src.zipD:\code\spark\python\lib\pyspark.zip 2023-07-26 阴 于…

Redis缓存预热

说明:项目中使用到Redis,正常情况,我们会在用户首次查询数据的同时把该数据按照一定命名规则,存储到Redis中,称为冷启动(如下图),这种方式在一些情况下可能会给数据库带来较大的压力…