你好,我是 LMOS。
欢迎来到操作系统第一课。在真正打造操作系统前,有一条必经之路:你知道程序是如何运行的吗?
一个熟练的编程老手只需肉眼看着代码,就能对其运行的过程了如指掌。但对于初学者来说,这常常是很困难的事,这需要好几年的程序开发经验,和在长期的程序开发过程中对编程基本功的积累。
我记得自己最初学习操作系统的时候,面对逻辑稍微复杂的一些程序,在编写、调试代码时,就会陷入代码的迷宫,找不到东南西北。
不知道你现在处在什么阶段,是否曾有同样的感受?我常常说,扎实的基本功就像手里的指南针,你可以一步步强大到不依赖它,但是不能没有。
因此今天,我将带领你从“Hello World”起,扎实基本功,探索程序如何运行的所有细节和原理。
一切要从牛人做的牛逼事说起
第一位牛人,是世界级计算机大佬的传奇——Unix 之父 Ken Thompson。
在上世纪 60 年代的一个夏天,Ken Thompson 的妻子要回娘家一个月。呆在贝尔实验室的他,竟然利用这极为孤独的一个月,开发出了 UNiplexed Information and Computing System(UNICS)——即 UNIX 的雏形,一个全新的操作系统。
要知道,在当时 C 语言并没有诞生,从严格意义上说,他是用 B 语言和汇编语言在 PDP-7 的机器上完成的。