news 2026/8/7 6:27:32

linux内核执行的第一行代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
linux内核执行的第一行代码

和固件代码不同,Linux内核执行的“第一行”代码位置比较特殊。它不是一个固定的点,而是取决于内核是如何被引导启动的

最常见的是通过引导程序(如GRUB)加载,此时代码执行会经历两个主要阶段:解压阶段内核阶段

内核启动的两种常见路径

  1. 传统引导方式 (via Bootloader)
    这是最常见的方式,内核镜像(bzImage)包含了被压缩的内核。引导程序加载后,会首先跳转到解压程序,由它负责将内核解压到正确位置,然后再跳转到真正的内核入口。

    • 第一行代码 (解压阶段):位于arch/x86/boot/compressed/head_32.Shead_64.S中的startup_32startup_64。它负责初始化基本环境,为解压内核做准备。

    • 第一行代码 (内核阶段):解压完成后,控制权会移交给真正内核的入口点,位于arch/x86/kernel/head_32.Shead_64.S。64位下的最终入口函数是startup_64。它开始设置页表等核心工作,并最终跳转到C语言编写的通用初始化函数start_kernel

  2. UEFI 直接启动方式 (via EFI Stub)
    内核也支持被UEFI固件直接启动,就像一个独立的UEFI应用程序。这时,内核镜像里会包含一个EFI兼容的入口点。

    • 第一行代码:位于efi_pe_entry函数中。这个函数遵循UEFI规范,由固件直接调用,初始化完成后,它会再将控制权转交给内核自身的入口点(如上文的内核阶段)。


所以,如果必须选一个最普遍的“第一行”,在x86平台最常见的情况下,它是arch/x86/boot/compressed/head_*.S中的startup_32startup_64

这些入口点文件中的汇编代码,就是Linux内核从固件或引导程序手中接过CPU控制权后,执行的第一批指令。

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

Stable Diffusion精准生成复杂角色:LoRA与ControlNet实战指南

这次我们来看一个非常具体的 AI 图像生成应用场景:如何通过 Stable Diffusion 及相关工具,精准生成“黑色 latex 胶衣修女 防毒面具 黑白配色 和纯黑胶胶衣 充气头套”这类高度风格化、细节复杂的角色形象。这不仅仅是输入一个提示词那么简单&#xff0c…

作者头像 李华
网站建设 2026/8/7 6:26:59

深度学习激活函数全解析:从ReLU到GELU的原理与应用指南

1. 从“线性”到“非线性”:为什么神经网络需要激活函数如果你刚开始接触深度学习,可能会觉得激活函数是个有点“玄学”的东西。模型里加个ReLU、Sigmoid,代码就几行,但为什么非加不可?不加行不行?这其实是…

作者头像 李华
网站建设 2026/8/7 6:26:53

LangGraph实战:构建有状态多步骤AI工作流与智能体应用

1. 先搞清楚 LangGraph 到底解决了什么核心问题如果你正在接触 LangChain,并且发现用 Chain 和 Agent 处理稍微复杂一点的业务流程时,代码会变得又长又乱,状态流转全靠自己手动维护,那么 LangGraph 就是你一直在找的那个东西。它不…

作者头像 李华
网站建设 2026/8/7 6:26:25

需求评审实战指南:从被怼到被赞的高效会议方法论

1. 从“被怼”到“被赞”:需求评审的本质是什么?每次听到“需求评审会”这几个字,你是不是已经开始头皮发麻,心跳加速了?脑海里浮现的,可能是产品经理口若悬河地讲着天马行空的想法,开发同学眉头…

作者头像 李华
网站建设 2026/8/7 6:23:36

深入解析高通Hexagon V65 HVX向量指令集:移动AI推理性能优化实战

1. 项目概述:深入高通Hexagon V65 HVX的向量世界如果你正在为移动端或边缘设备的AI推理性能绞尽脑汁,或者对DSP内部那些并行计算的“黑魔法”感到好奇,那么高通Hexagon V65 DSP及其核心的HVX(Hexagon Vector eXtensions&#xff0…

作者头像 李华
网站建设 2026/8/7 6:23:21

从抽象协议到代码实现:分布式系统协议升级与基准锚定实战

最近在探索一些前沿的跨领域概念时,我遇到了一个非常有意思的命题:如何将抽象的、带有哲学或宇宙观色彩的“协议”与“编码”思想,转化为技术人可以理解、甚至能模拟其逻辑的模型。这让我联想到在分布式系统、协议设计乃至代码生成领域&#…

作者头像 李华