Linux0.11源码趣读

用源码打开操作系统“黑盒子”

Linux,Linux 0.11,内核,源码,操作系统,

闪客 “低并发编程”公号作者

Linux0.11源码趣读

用源码打开操作系统“黑盒子”

Linux,Linux 0.11,内核,源码,操作系统,

闪客 “低并发编程”公号作者

2022年10月31日

每个程序员都有一个操作系统梦,想要深入理解操作系统,学好源码是必经之路。

很多优秀的操作系统书籍,都选择了 Linux 0.11 这个经典版本为例讲解源码,它的知识含量更匹配初学者需要。

然而即使学习这个代码量最少的版本,我们仍然会被后面这些问题困扰:

  • 源码太过枯燥,不知从何看起。
  • 模块错综复杂,理不出它们之间的关系。
  • 分不清哪里是重点,哪些可以忽略。

因此,本系列会带着你用读一本小说的心态,学习 Linux 0.11 的源码。通过深入浅出的源码讲解,为你抽丝剥茧,逐步打开操作系统“黑盒子”,系统建立对 Linux 内核实现的整体认识。

课程分为五大部分:

第一部分:进入内核前的苦力活。覆盖开机到 Linux 下的 main 方法的关键流程解析,并帮你清晰认识 Intel CPU 的体系结构。

第二部分:大战前期的初始化工作。讲述 main 方法中的各种初始化函数,这些函数是操作系统各个模块的交互桥梁,为理解后续操作系统各个模块的运作原理打好基础。

第三部分:一个新进程的诞生。讲述从内核态切换至用户态,并建立起第一个用户进程的全部过程。学完这部分,你将会理解一个多进程的操作系统是如何建立和运作的。

第四部分:shell 程序的到来。主要讨论如何将磁盘中存储的 shell 程序加载到内存中来,并最终交给 CPU 去执行。通过这个过程你会看清一个程序从硬盘到最终被执行的全部过程。

第五部分:一条 shell 程序的执行。让我们跟着一条 shell 程序“走南闯北”,从用户输入给电脑一个字符串开始,一直讲到该程序的最终执行,这一过程能帮你把前面所学融会贯通,整个操作系统的启动流程与运作原理,将会生动形象地浮现在你的脑海中。

本课程是 Linux0.11 源码趣读第一二季,主要内容属于整个大系列课程的第一部分和第二部分,后面未完待续,敬请期待!