news 2026/7/3 0:28:08

Kernel 6.6学习V1版本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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.S081(OS 思想非常重要)

    • 虚拟内存 / 页表 / 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 / folio
  • VM 体系

📘 书籍

继续用:

  • Understanding the Linux Kernel(内存章节重点)

补充:

  • LWN Memory Management 系列文章(强烈推荐)

🎥 视频

  • “Linux 内存管理 buddy / slab / page cache”
  • MIT 6.S081(虚拟内存部分必须看)

🧪 实验

  • printk 页分配:

    • alloc_pages
  • 查看:

    • /proc/meminfo
  • 写 module:

    • 测试 slab 分配

🪜 第四阶段:文件系统 & IO(3~4 周)

🎯 目标

  • VFS 结构
  • inode / dentry
  • ext4 / page cache

📘 资料

  • Linux kernel documentation:

    • /Documentation/filesystems/vfs.rst
  • LWN filesystem 系列


🧪 实验

  • hook open/read syscall
  • 自己写一个简单 pseudo fs(debugfs/procfs)

🪜 第五阶段:系统调用 & 内核机制(2~3 周)

🎯 目标

  • syscall entry
  • context switch
  • interrupt

🎥 视频

  • “Linux 系统调用全过程”
  • “x86_64 中断机制”

🧪 实验

  • 自定义 syscall(6.6)
  • trace syscall(strace + ftrace)

🪜 第六阶段:高级(BPF / Trace / 性能分析)

🎯 目标

  • eBPF
  • perf / ftrace
  • 内核观测能力

📘 资料

  • BPF 相关文档(kernel docs)
  • Brendan 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 scheduler
  • 6.6:folio / CFS / BPF

这样你理解会比普通人快很多。


🚀 如果你想继续升级

我可以帮你做下一步更实战的:

✔ QEMU + 6.6 内核调试环境一键脚本

✔ 每一阶段配套“实验代码”

✔ scheduler / vm / fs 三大源码阅读路线图(带函数级路径)

✔ 甚至做一个“内核学习项目体系(像课程一样)”

只要你说一句:
👉“做内核实战路线”

我可以把这套直接升级成“可执行工程级学习系统”。

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

Photoshop AI插件SD-PPP:如何让创意设计效率提升500%?

Photoshop AI插件SD-PPP:如何让创意设计效率提升500%? 【免费下载链接】sd-ppp A Photoshop AI plugin 项目地址: https://gitcode.com/gh_mirrors/sd/sd-ppp 还在为Photoshop与AI绘图工具之间的频繁切换而烦恼吗?SD-PPP插件为您带来革…

作者头像 李华
网站建设 2026/6/27 12:02:56

3分钟掌握知网文献批量下载:自动化工具让学术研究效率翻倍

3分钟掌握知网文献批量下载:自动化工具让学术研究效率翻倍 【免费下载链接】CNKI-download :frog: 知网(CNKI)文献下载及文献速览爬虫 (Web Scraper for Extracting Data) 项目地址: https://gitcode.com/gh_mirrors/cn/CNKI-download 还在为毕业论文参考文…

作者头像 李华