以前对 Linux 知识的学习都是很零碎,没有系统性。另外,随着学习的深入,越来越发现不得不去了解和学习下 Linux 内核,要不这些零碎的知识无法串在一起、也无法让自己的知识体系更加完整。所以,开始我们的内核学习之旅吧!!!
在这里,我选用的是 Linux 0.11 版本的内核。具体原因正如《Linux 内核设计的艺术》(第二版)所说的:
对于理解和掌握操作系统而言,真正有价值的是整体、是体系,而不是局部。
Linux 0.11 的内核代码虽然只有约两万行,但却是一个实实在在、不折不扣的现代操作系统。因为它具有现代操作系统最重要的特征——支持实时多任务,所以必然支持保护和分页······而且它还是后续版本的真正的始祖,有着内在的、紧密的传承关系。读者更容易看清设计者最初的、最根本的设计意图和设计指导思想。
对于我这个新手而言,Linux 0.11 确实比较小(但理解难度绝对足够大);另一方面,关于这个版本的学习资料比较丰富:
- 《Linux 内核设计的艺术》(第 2 版)
- 《Linux 内核完全注释》(修正版 V3.0)
- 《操作系统:设计与实现》(第 3 版)
- OldLinux 论坛
- 五分钟内搭建 Linux 0.11 的实验环境(链接如若失效,可从百度云上下载 linux-0.11-lab-master.zip 和博文)
- 基于 Docker 快速构建 Linux 0.11 实验环境(链接如若失效,可从百度云上下载博文)
- Intel 80386 programmer’s reference manual