news 2026/2/26 18:43:34

22、Linux系统启动与模块管理全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
22、Linux系统启动与模块管理全解析

Linux系统启动与模块管理全解析

一、系统启动流程

1.1 BIOS阶段

计算机开机后,由于RAM中包含随机数据且没有操作系统运行,此时计算机几乎无法使用。为了启动,一个特殊的硬件电路会拉高CPU的RESET引脚的逻辑值。RESET被触发后,处理器的一些寄存器(包括cs和eip)会被设置为固定值,然后执行物理地址0xfffffff0处的代码。这个地址被硬件映射到一个通常称为只读存储器(ROM)的只读、持久存储芯片上。存储在ROM中的一组程序传统上被称为基本输入/输出系统(BIOS),因为它包含了一些由包括微软的MS - DOS在内的操作系统使用的中断驱动的低级程序,用于处理构成计算机的硬件设备。

Linux在初始化后不使用BIOS,而是为计算机上的每个硬件设备提供自己的设备驱动程序。实际上,BIOS程序必须在实模式下执行,而内核在保护模式下执行,所以即使这样做有好处,它们也不能共享功能。

BIOS使用实模式地址,因为这是计算机开机时唯一可用的地址。实模式地址由段(seg)和偏移量(off)组成,对应的物理地址由seg * 16 + off给出。因此,CPU寻址电路在将逻辑地址转换为物理地址时不需要全局描述符表(GDT)、局部描述符表(LDT)或页表。显然,初始化GDT、LDT和页表的代码必须在实模式下运行。

Linux在引导阶段不得不使用BIOS,因为它必须从磁盘或其他外部设备中获取内核映像。BIOS引导过程主要执行以下四个操作:
1. 对计算机硬件执行一系列测试,以确定哪些设备存在以及它们是否正常工作。这个阶段通常称为加电自检(POST)。在此阶段,会显示一些消息,如BIOS版本横幅。
2. 初始化硬件设备。在基

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/26 0:08:41

23、深入探索Linux技术核心:从源码结构到系统运行机制

深入探索Linux技术核心:从源码结构到系统运行机制 1. Linux源码结构概述 Linux源码涵盖约8750个C和汇编文件,分布在约530个子目录中,代码量达约400万行,占用超144MB磁盘空间。以下是主要目录及其功能: | 目录 | 描述 | | — | — | | Documentation | 包含内核组件的…

作者头像 李华
网站建设 2026/2/25 4:51:06

19、Linux网络编程:数据结构、系统调用与网络交互详解

Linux网络编程:数据结构、系统调用与网络交互详解 1. Linux网络概述 Linux内核支持多种网络架构,实现了多种网络数据包调度算法,还包含便于系统管理员设置路由器、网关、防火墙和简单Web服务器的程序。当前的网络代码Net - 4受原始伯克利Unix实现的启发,是Linux网络的第四…

作者头像 李华
网站建设 2026/2/24 8:31:24

基础详细链表定点插入

我们昨天学习了,链表的尾插法,并且实战了,不定长整数与释放,今天我们学习简单点的,定点插入链表的定点插入定义:顾名思义就是想在哪个节点插入就在哪个节点插入,优点,我们只需找到我…

作者头像 李华
网站建设 2026/2/25 3:03:29

轻松时刻--文生图在AIGC中的应用

文章目录 文生图技术概述 关键技术模型 典型应用场景 实现流程示例(以Stable Diffusion为例) 挑战与优化方向 文生图技术概述 文生图(Text-to-Image)是AIGC(人工智能生成内容)领域的核心技术之一,通过自然语言描述生成对应图像。其核心基于深度学习模型(如扩散模型、G…

作者头像 李华
网站建设 2026/2/24 1:35:09

35、深入理解套接字地址

深入理解套接字地址 在网络编程中,套接字地址是实现网络通信的基础。下面我们将详细探讨套接字地址的相关知识,包括字节序、不同地址族的套接字地址结构以及相关的操作函数。 1. 字节序 在网络编程里,字节序是一个重要的概念。从相关分析可以得出,奔腾处理器采用小端字节…

作者头像 李华