news 2026/7/1 19:04:38

59、Linux内核物理布局与关键机制解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
59、Linux内核物理布局与关键机制解析

Linux内核物理布局与关键机制解析

1. 内核从闪存执行的流程

当内核直接从闪存执行时,makefiles、ld脚本和引导代码紧密协作。ld规则将代码和只读段(如初始化调用信息)放入闪存,而将数据段(数据和以符号开始的块,即BSS)放在系统RAM中,这导致两者地址不连续。makefile提供特殊规则,将这些段合并为连续地址,并转换为适合上传到目标系统的格式。这是必要的,因为数据段包含已初始化的数据结构,必须写入只读内存,否则会丢失。在start_kernel之前运行的汇编代码,需要将数据段从闪存复制到RAM(到链接器指定的地址),并将BSS段相关的地址范围清零。只有完成这些重映射后,C语言代码才能运行。

上传新内核到目标系统时,固件从网络或串行通道获取数据文件,并写入闪存。上传内核到目标计算机的中间格式因系统而异,取决于实际上传方式。例如,BIN格式用于网络传输,S3格式是通过串行电缆发送到目标系统的十六进制ASCII文件。系统开机时,用户通常可以选择启动Linux或输入固件命令。

2. init进程

start_kernel分叉出init线程(由init/main.c中的init函数实现),此时它和init线程都在内核模式下运行。完成所有初始化后,线程释放内核锁,准备执行用户空间的init进程。要执行的文件通常位于/sbin/init/etc/init/bin/init,若都未找到,则运行/bin/s

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

tensorflow 零基础吃透:RaggedTensor 与其他张量类型的转换

零基础吃透:RaggedTensor与其他张量类型的转换 RaggedTensor 提供了原生方法,可与 TensorFlow 另外两种核心张量类型(密集张量 tf.Tensor、稀疏张量 tf.SparseTensor)双向转换,覆盖“补0/去填充”“稀疏存储/可变长度…

作者头像 李华
网站建设 2026/6/29 19:20:40

AYA桌面控制:5分钟掌握Android设备高效管理终极指南

AYA桌面控制:5分钟掌握Android设备高效管理终极指南 【免费下载链接】aya Android adb desktop app 项目地址: https://gitcode.com/gh_mirrors/aya/aya 你是否曾经为了管理Android设备而不得不记住各种复杂的ADB命令?AYA桌面控制工具正是为解决这…

作者头像 李华
网站建设 2026/7/1 3:59:18

Inkscape光学插件:如何在矢量绘图中实现精准光线追踪?

Inkscape光学插件:如何在矢量绘图中实现精准光线追踪? 【免费下载链接】inkscape-raytracing An extension for Inkscape that makes it easier to draw optical diagrams. 项目地址: https://gitcode.com/gh_mirrors/in/inkscape-raytracing 你…

作者头像 李华
网站建设 2026/6/30 2:35:25

20、Snort规则选项与iptables数据包过滤

Snort规则选项与iptables数据包过滤 在网络安全防护中,Snort和iptables是常用的工具。Snort是一款强大的入侵检测系统(IDS),而iptables则是Linux系统中常用的防火墙工具。本文将介绍一些Snort规则选项,这些选项不仅可以在Snort中使用,还能在iptables中找到对应的匹配和过…

作者头像 李华
网站建设 2026/6/29 20:49:39

(EUDR)欧盟零毁林法案,EUDR到底是什么?

一、EUDR到底是什么?为什么被称为“丛林大考”?简单来说,EUDR是一张 “绿色通行证” 。它要求所有在欧盟市场销售七大类商品(牛肉、木材、咖啡、可可、大豆、棕榈油、橡胶)及衍生产品的企业,必须证明其产品…

作者头像 李华
网站建设 2026/6/25 10:52:21

26、端口敲门与单包授权:网络安全认证方法对比

端口敲门与单包授权:网络安全认证方法对比 1. 端口敲门技术基础 UDP 校验和伪造示例 在网络安全认证中,端口敲门是一种较为特殊的技术。我们可以通过执行特定脚本并使用以太网嗅探器观察 UDP 数据包来了解其部分特性。例如执行以下命令: # ./craft_udp_checksum.pl 192…

作者头像 李华