Kernel 6.6学习V1版本

📅 2026/6/27 12:16:44
Kernel 6.6学习V1版本
好这次我们从“从零到能看懂并改内核源码 做实验”的角度重新给你做一套系统化 Linux 内核学习路线带书 视频 实践。我会按“阶段 目标 资料 实验”来组织这样你可以直接照着做。 Linux 内核学习总路线推荐 6.6 LTS建议主线内核Linux 6.6 LTS现代机制完整 资料相对成熟 第一阶段Linux 内核整体框架2~3 周 目标明白内核在干什么建立“模块地图”进程 / 内存 / IO / 文件系统 / 网络 书籍⭐《Linux Kernel Development》Linux Kernel Development非常适合入门讲清楚进程调度内存管理系统调用适合建立“全局观”⭐《Understanding the Linux Kernel》Understanding the Linux Kernel更底层、更细节偏源码级解释建议“第二本再读” 视频Linux 内核基础推荐 B 站关键词“Linux 内核入门 李志军 / 冯誉杰 / 清华 OS”MIT 6.828 / 6.S081OS 思想非常重要虚拟内存 / 页表 / syscall 实验用 QEMU 启动 Linux 6.6打印init/main.c启动流程跟踪start_kernel()→rest_init() 第二阶段进程 调度器3~4 周 目标看懂 task_struct明白 CFS 调度器能改 scheduler 行为 资料Linux Kernel Documentation/Documentation/scheduler/LWN非常重要https://lwn.net 视频B站搜索“CFS 调度器 原理”“Linux 进程调度完全讲解” 实验在 6.6 内核中打印task_struct修改nice影响调度写一个 kernel module输出当前 pid / cpu 第三阶段内存管理最核心4~6 周 目标理解页表buddy / slab / folioVM 体系 书籍继续用Understanding the Linux Kernel内存章节重点补充LWN Memory Management 系列文章强烈推荐 视频“Linux 内存管理 buddy / slab / page cache”MIT 6.S081虚拟内存部分必须看 实验printk 页分配alloc_pages查看/proc/meminfo写 module测试 slab 分配 第四阶段文件系统 IO3~4 周 目标VFS 结构inode / dentryext4 / page cache 资料Linux kernel documentation/Documentation/filesystems/vfs.rstLWN filesystem 系列 实验hook open/read syscall自己写一个简单 pseudo fsdebugfs/procfs 第五阶段系统调用 内核机制2~3 周 目标syscall entrycontext switchinterrupt 视频“Linux 系统调用全过程”“x86_64 中断机制” 实验自定义 syscall6.6trace syscallstrace ftrace 第六阶段高级BPF / Trace / 性能分析 目标eBPFperf / ftrace内核观测能力 资料BPF 相关文档kernel docsBrendan Gregg 性能分析资料 视频“eBPF 入门”“Linux perf 使用” 实验trace open syscall用 perf 分析 CPU 热点 推荐学习节奏很关键如果你每天 2~3 小时阶段时间内核整体2~3 周进程调度3 周内存管理5 周IO 文件系统3 周syscall / interrupt2 周BPF / perf2 周 总计3~4个月可以形成系统能力 给你的关键建议很重要你有一个优势你之前做过 2.6.34 你可以做“跨版本对比学习”比如2.6.34经典 slab / old scheduler6.6folio / CFS / BPF这样你理解会比普通人快很多。 如果你想继续升级我可以帮你做下一步更实战的✔ QEMU 6.6 内核调试环境一键脚本✔ 每一阶段配套“实验代码”✔ scheduler / vm / fs 三大源码阅读路线图带函数级路径✔ 甚至做一个“内核学习项目体系像课程一样”只要你说一句“做内核实战路线”我可以把这套直接升级成“可执行工程级学习系统”。