问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

一文了解Linux内核启动流程

发布网友 发布时间:2024-09-29 02:36

我来回答

1个回答

热心网友 时间:2024-09-30 23:16

本文以Linux3.14版本源码为例分析其启动流程。不同版本的启动代码虽然存在差异,但核心的启动逻辑与理念保持不变。

内核映像在内存中加载并获取控制权后,启动流程启动。由于内核映像是以压缩形式存储的,而非可执行文件,因此首要步骤是自解压内核映像。

内核在编译时生成vmliunx,通常会被压缩成zImage(小于512KB的小内核)或bzImage(大于512KB的大内核)。这些内核映像的头部包含解压缩程序。

通过查找vmlinux文件的链接脚本(vmlinux.lds)中的系统启动入口函数,通常在linux/arch/arm/boot/compressed目录下的Makefile中找到这一信息。

得到的内核入口函数为stext(linux/arch/arm/kernel/head.S),这是启动流程的关键环节。

内核启动阶段,通过查找标签__mmap_switched的位置(/linux/arch/arm/kernel/head-common.S),实现内存映射的切换。

从start_kernel函数开始,内核进入C语言部分,执行内核的大部分初始化任务。函数位于/lint/init/Main.c。

start_kernel函数涵盖了大量初始化工作,其中包括系统调用、内存管理、进程调度、设备驱动等核心模块的初始化。最终,函数调用rest_init()函数完成剩余初始化。

kernel_init函数负责设备驱动程序的初始化,并调用init_post函数启动用户进程。现代版本的内核已经将init_post函数的特定任务整合到kernel_init中。

在内核初始化接近尾声时,free_initmem函数清除内存的__init_begin至__init_end区间数据。

内核启动后,运行自己的第一个用户空间应用程序_init,它是使用标准C库编译的第一个程序,进程ID为1。

_init执行其他必需的进程启动,以使系统进入全面可用的状态。

以下是内核启动流程图,以直观展示启动过程的关键步骤和顺序。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人大政协辅助岗是什么 政务辅助人员是干什么 政府辅助人员是什么 努比亚的海拔什么意思 北非努比亚现在怎么样了啊 相邻权的相关法律 梦见老公离世了什么预兆 梦见自己老公走掉 你出轨后 怎么操作才没被发现? 评评怎么造句 Linux启动过程与级别,以ARM-RK3566开发板系统为例 明白人过来指点指点青岛第二实验初级中学和39中哪个好 青岛第二实验初级中学的介绍 我的笔记本无法识别iphone4s,但是可以充电。U盘可以读取,版本是windows... 为什么我的iphone4s连接电脑有显示U盘 可是就是连接不到iTunes也没有... 为什么我的iphone 4s电脑可以读出来(类似u盘,可以直接读取文件夹),i... ...不能连接itunes和显示您的U盘是老损盘,怎么办? 我的苹果4S连接不了电脑 总是提示发现不了设备 尽有充电的功能!_百度... 华北电力大学专业排名最新华北电力大学专业排名 华北电力大学专业排名最好的专业有哪些 用竖式计算 280×27= 858÷39= 233÷34=(验算 竖式计算.260×17= 858÷39= 233÷34= 3.6×4.5= 43.2 用竖式计算 280×27=858÷39=233÷34=(验算) 小河虾的做法都有哪些? c.k(ceekay)沉珂有哪些歌? 移动云盘定向流量是什么意思啊? 云盘定向流量是啥 布里奇斯个人简介 为什么日本字总常常带有中国汉字?意思是相同的吗?日本字是怎么由来的... 亚拉腊山在哪里 华东理工大学住宿条件怎样 有图没 华东理工大学学生是不是都强制住宿的啊? 华东理工大学的学生请进 关于华东理工的宿舍 乙肝小三阳,肝功正常,DNA5.2×10的2次方,可以结婚生子吗?女性 眉毛淡有哪些方法改善? 我是阳历1987年12月09日14时15分农历1987年10月19日14时15分出生的... 下面的图片那个东西叫什么? 请问下面图片是什么东西额?大的有拳头大小,据说是药材有什么功效? 下面的图片是什么动漫的?? 求解啊 夏日炎炎正好眠的其余三句 “春来不是读书日,夏日炎炎正好眠”的后面是什么?以及关于它得更多... 红茶和绿茶的区别,红茶和绿茶有什么不同(四大差异介绍) 山东浩泽通讯设备有限公司怎么样? 聊城博智伟业网络科技有限公司怎么样? 聊城市菲诺商贸有限公司怎么样? 聊城市东昌府区泰美家电有限公司怎么样? 聊城市达业信息科技有限公司怎么样? 王者荣耀巅峰赛输了扣星吗 计分规则介绍 王者荣耀巅峰赛输了掉星吗介绍_王者荣耀巅峰赛输了掉星吗是什么