Skip to content

学习 ​

这里整理我正在关注的系统编程资料。它不是“全部看完”的完成清单,而是一张持续维护的路线图:先确定当前问题,再选择一份主材料和一份练习材料。

TIP

如果你也在学习这个方向,可以先阅读我的系统学习地图,里面说明了各部分之间的关系和建议顺序。

当前主线 ​

阶段核心问题预期输出
Rust如何安全、清晰地表达系统程序?小工具、练习代码、概念笔记
操作系统进程、内存和文件系统怎样工作?内核实验、执行路径图
组成原理软件抽象如何落到处理器和设备?RTL 练习、调试记录
Linux 内核真实内核如何实现这些机制?调用链笔记、源码分析

基础工具与 Linux 环境 ​

  • The Missing Semester 中文版:先补齐 Shell、编辑器、Git、调试与自动化等课程里常被略过的实用工具。
  • Linux Journey:从命令行、权限和进程逐步进入文件系统、网络与系统管理。
  • Learn X in Y Minutes:需要快速了解一门语言或配置格式时,用它建立语法概览,再转向正式文档。
  • Arch Linux:通过发行版公告、软件包与社区资源了解一个持续更新的 Linux 系统;具体配置问题可继续查阅 ArchWiki。

Rust ​

主线阅读 ​

  • Rust 语言圣经:中文主教程,适合系统建立所有权、生命周期、类型与并发知识。
  • Comprehensive Rust:内容紧凑,适合有其他语言基础时快速过一遍,也适合复习。

动手练习 ​

操作系统 ​

建立概念 ​

完成实验 ​

继续实践 ​

  • Linux Kernel Labs:用讲义和动手实验学习系统调用、进程、内存、中断与设备驱动,适合从教学内核过渡到真实 Linux。
  • openEuler:观察服务器、云、边缘和嵌入式场景中的开源 Linux 发行版生态,也可以从 SIG 与贡献指南进入社区实践。
  • LinuxBlog.io:补充 Linux 管理、性能优化、网络、安全和故障排查方面的实用文章。

计算机组成与 Verilog ​

建议先用 CS61C 建立“程序—指令—处理器—存储层次”的联系,再用 ChipVerify 与 HDLBits 完成小型电路练习;遇到体系结构或内存系统问题时,再进入 Onur Mutlu 的专题课程。

Linux 内核 ​

阅读源码时,我会尽量从一个具体入口切入,例如一次系统调用、一个 /proc 节点或一次中断,而不是按目录顺序浏览整个内核。

AI 工程与模型基础 ​

  • Neural Networks: Zero to Hero:从反向传播开始亲手构建神经网络、语言模型、GPT 与 tokenizer,适合建立模型内部机制的直觉。
  • AI Engineer Roadmap:用路线图检查应用 AI 所需的模型、工具和工程能力,适合查漏补缺,不必按图一次性学完。

这部分暂时作为拓展路线:先完成 Zero to Hero 中可运行的实现,再用 Roadmap 选择与实际项目有关的下一项能力,避免把路线图变成收藏清单。

学习记录原则 ​

  1. 每次只解决一个足够具体的问题。
  2. 阅读后必须留下代码、图示、实验结果或简短总结中的至少一种。
  3. 资料重复时保留更清晰、更新更稳定的一份。
  4. 无法验证的理解标记为待确认,不把猜测写成结论。
  5. 每完成一个阶段,整理为一篇可以独立阅读的文章。

最后更新:

Built with curiosity and a little stardust.