主页 实验环境 学习Linux - Study Area CN

Linux 的发展历程

一个伟大的梦想——Multics

很久以前,电脑是个昂贵的东西。那是一个电脑动不动要占用一整层写字楼的时代。

这么昂贵的电脑,一般人自然用不起,所以就有了一个叫做批处理操作系统的东西。每个人都可以提交自己的任务到队列里,然后等待自己的程序运行后的结果。

但是批处理操作系统也不完美,这玩意根本就没有交互性,而且很长一段时间都是只能运行一个程序。所以在 1965 年,Bell,GE,MIT 提出了一个叫做“Multics”的分时操作系统。

什么是分时操作系统呢?简单来说,这玩意就是给每个程序一片很小的时间,让它们来回切换。程序切换的间隔很小,看起来就像是在同时运行一样。

但是由于 Multics 开发途中加入的功能越来越多,最后形成了一个几乎无法填满的大坑,于是 Bell 退出了开发。

不过,最终 Multics 还是成功的开发出了它们的产品,您可以通过访问它们的官方网站

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 教授认为这个系统置用于教学用途,迟迟没有增加新功能,并且不允许商业用途。所以一个叫做 Torvalds Linus 的芬兰人也是自己写了一个“小小的”内核(Linux Kernel),遵循 POSIX 规范(为了尽可能兼容 Unix),并与 GNU 计划的开源软件结合,最终发展成了 GNU/Linux,并且 Linux 内核使用了 GPLv2 许可证。

因为篇幅限制,所以本文省略了很多东西,如果想要看看更完整的资料可以查阅Linux 考古笔记

现在的 Linux 发行版(就是 linux 内核与软件包的结合,下一篇文章会详细讲述)包含着很多其它 GNU 中的软件。你如今可以在 kernel.org 下载 Linux 内核,也可以在 GNU 官网找到其它 GNU 软件并安装在 Linux 上。


study-area-cn