news 2026/4/28 11:25:22

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/4/27 8:36:02

HTTP状态码

HTTP(Hypertext Transfer Protocal)超文本传输协议。是一种详细规定了客户端浏览器和万维网服务器之间相互通讯的规则,通过因特网传送万维网文档的数据传送协议。HTTP的请求响应模型:HTTP协议永远都是客户端发起请求,服…

作者头像 李华
网站建设 2026/4/23 15:06:38

Stable Diffusion环境配置完整指南:从零搭建AI绘画平台

Stable Diffusion环境配置完整指南:从零搭建AI绘画平台 【免费下载链接】stable-diffusion A latent text-to-image diffusion model 项目地址: https://gitcode.com/gh_mirrors/st/stable-diffusion 你是否曾梦想拥有一个能够将文字描述转化为精美图像的人工…

作者头像 李华
网站建设 2026/4/25 14:56:10

23、深入解析 fwsnort 与 psad:网络安全防护的强大组合

深入解析 fwsnort 与 psad:网络安全防护的强大组合 在网络安全防护的领域中,fwsnort 和 psad 这两款工具发挥着重要的作用。fwsnort 能够依据 Snort 规则集生成 iptables 规则,从而实现对网络攻击的检测与防范;psad 则具备检测、告警和自动响应等功能。本文将详细探讨如何…

作者头像 李华
网站建设 2026/4/21 22:33:39

升级libc.so.6库出问题了

问题背景 测试环境的服务器使用的操作系统是RHCE 6.5的系统,启动zabbix-agentd(7.0.5)的时候报错:/lib64/libc.so.6: version GLIBC_2.17’ not found,显然是glibc的版本太低了,导致服务不能启动。 解决思路…

作者头像 李华
网站建设 2026/4/23 17:27:48

Mona Sans 可变字体:网页设计的终极解决方案

Mona Sans 可变字体:网页设计的终极解决方案 【免费下载链接】mona-sans Mona Sans, a variable font from GitHub 项目地址: https://gitcode.com/gh_mirrors/mo/mona-sans 在当今的网页设计领域,字体选择直接影响着用户体验和页面性能。Mona Sa…

作者头像 李华