diff --git a/src/the_history_of_linux.md b/src/the_history_of_linux.md new file mode 100644 index 0000000..51f0ea4 --- /dev/null +++ b/src/the_history_of_linux.md @@ -0,0 +1,36 @@ +# Linux 的发展历程 + +## 一个伟大的梦想——Multics +很久以前,电脑是个昂贵的东西。那是一个电脑动不动要占用一整层写字楼的时代。 + +这么昂贵的电脑,一般人自然用不起,所以就有了一个叫做批处理操作系统的东西。每个人都可以提交自己的任务到队列里,然后等待自己的程序运行后的结果。 + +但是批处理操作系统也不完美,这玩意根本就没有交互性,而且很长一段时间都是只能运行一个程序。所以在1965年,Bell,GE,MIT提出了一个叫做“Multics”的分时操作系统。 + +什么是分时操作系统呢?简单来说,这玩意就是给每个程序一片很小的时间,让它们来回切换。程序切换的间隔很小,看起来就像是在同时运行一样。 + +但是由于Multics开发途中加入的功能越来越多,最后形成了一个几乎无法填满的大坑,于是Bell退出了开发。 + +> 不过,最终Multics还是成功的开发除了它们的产品,您可以通过访问它们的[官方网站](https://www.multicians.org/) + +## Linux之前,Unix的往事 +Bell推出Multics的开发之后,有两个人用回原来的系统,越来越不习惯,于是它们就以“研究新一代文本编辑器”为借口,开始研究一个新的操作系统——Unix。 + +这两个人就是在计算机界有着重要影响的Ken Thompson和Dennis Ritchie。 + +Unix本来只是Ken的一个想法,他本来是没有时间来完成这个操作系统的。 + +但是,一天,Ken的妻子要带着孩子去美国的西部探亲,Ken就空出来有将近一个月的时间来编写Unix。最终,他使用汇编语言完成了一个小小的内核与一些工具。这个内核最初没有名字,但因为这个系统的简单,实验室的人们就这个戏称这个系统为Unics。于是最后的名字就便成了Unix。 + +Dennis Ritchie得知了这个这个计划后,就开始和Ken一起将Unix使用B语言重写,但是不知为何B语言编译出来的内核性能就是不好,于是,Dennis搞了一种全新的编程语言,叫做C语言(名称取自BCPL的第二个字母)。他们用C语言重写了Unix内核。最终Unix称为了现象级的产品。 + +## AT&T收回版权,Minix与Linux出现 +到了Unix发布第七版的时候(即System v7),AT&T收回了Unix的版权,第七版影响力最大的修改就是不允许将Unix的代码提供给学生。 + +这个修改可愁坏了一名叫做Android的教授,他在大学里教授操作系统的课程。但因为不能向学生提供Unix的代码,他的课程也几乎无法继续。“自己动手,丰衣足食”,于是这位教授自己写了一个叫做Minix的操作系统。用于教学工作 + +>Minix是什么意思呢?就是Mini Unix啦!很小的Unix。 + +后来Minix也很受欢迎,但是 Android教授认为这个系统置用于教学用途,迟迟没有增加新功能,所以一个叫做Linus的芬兰人也是自己写了一个小小的内核,并与GNU计划的开源软件结合,最终发展成了Linux + +> 因为篇幅限制,所以本文省略了很多东西,如果想要看看更完整的资料可以查阅[Linux考古笔记](https://tinylab-1.gitbook.io/lad-book/zh-cn/background/history)