心中的内核——在阅读内核代码之前先理解内核 专栏说明
# 专栏说明
# 翻译说明
Linux内核开发人员 Moon Hee Lee (opens new window) 在 LinkedIn 上发表了关于 Linux 内核系列文章《The Kernel in the Mind —— Understanding Linux Kernel Before Code (opens new window)》,中文翻译《心中的内核 —— 在阅读内核代码之前先理解内核》,根据他的建议是,学习Linux内核源码之前建议先理解Linux内核的运行机理。
小方阅读之后,发现对 Linux 内核机制的讲解颇为通俗易懂,于是一边学习,一边翻译之。
Moon Hee Lee 当前受雇于 Linux 基金会,关注的领域是包括 Kerne、KVM、microVMs 以及 Rust,有兴趣的小伙伴可以在 Linkedin 上关注他。
此系列翻译对应原文版本为 V1.1.2025,限于小方个人水平有限,欢迎就翻译中存在的问题进行建议和交流。
本专栏首发于 cppguide.cn (opens new window):
# 介绍
这并非一部教你编写内核代码的指南,而是一场探寻Linux内核设计思维的思想之旅。
在系统编程的世界里,人们常常迷失于符号定义、头文件结构与实现细节的丛林中。然而剥离代码表象,内核实则是一个井然有序的响应式系统——它受上下文环境所规约,以分离原则为基石,从内存管理到任务调度的每一处设计,都浸透着精准的设计意图。
本系列内容专为那些渴望在内核源码之外构建内核运行心智模型的探索者而作。无论你是初次叩响Linux内核内部机制的大门,还是带着全新思考重返这片领域,我们聚焦的核心始终是行为逻辑,而非语法细节。
每一篇文章起初都是独立成章的思考札记,而当它们汇聚在一起,便勾勒出一幅概念图谱——这幅图谱不关乎函数调用的细枝末节,而是内核如何响应外部请求、执行机制约束、实现模块隔离与提供系统服务的底层逻辑。 内核掌管着系统运行的方方面面,让我们一同洞悉它的运行之道。
# 目录
15. 从 vmlinuz 到 eBPF:Linux 内核内部实际运行的内容
27. CPU 不移动数据 —— 但没有 CPU,什么都无法移动
30. 两个世界,一个 CPU:虚拟化中的 root 操作和非 root 操作
41. 心中的内核 —— 效率至上而非历史遗留原因:为什么内核仍用 C 语言开发
# 中译本全文PDF下载
如果你想获取本专栏全套PDF版本,请加小方微信 cppxiaofang
获取,备注“心中的内核”。