为方便专题的后续文章聚焦开源许可协议,本文简明扼要阐述以下两方面的背景知识:计算机发展史和操作系统发展史。
一、电子计算机发展史:
从上世纪40年代起,人类开始研究并创造了计算机,从体型庞大功能简单的计算机,到超大规模集成电路的超级计算机;从简单的控制操作流程的程序,到多用户多任务多处理器架构的操作系统;短短半个世纪,人类在电子计算机科学领域,经历了创世纪历程,并以指数级速度发展(摩尔定律),驱动了一系列科技创新、社会变革、生产效率的提高和经济增长。
计算机的硬件和软件,如同安迪-比尔定律所描述的那样,二者像一对孪生兄弟相辅相成,互相驱动对方升级换代,不断提升软硬件的能力,满足高速发展的算力需求。
在计算机这个人类智慧结晶的创世纪过程中,随着操作系统从无到有、随着层出不穷的软件被创造出来,版权、相关领域的垄断及法律也随之出现,开源软件运动和开源许可协议也随之出现。在软件开源的运动发展过程中,涌现出了很多动人的故事,新的概念如开源软件、开源许可协议、开源系统等,如同璀璨耀眼的明星,共同构成了开源软件这片璀璨的星空。
1、第一代计算机:
二战期间,美国为了模拟飞行训练,以真空管为逻辑元器件构建了计算设备,不断迭代最终发展出了冯·诺伊曼结构的计算机,该结构实现了实用化的通用计算机。
2、第二代计算机:
1958年,罗伯特·诺伊斯带领团队发明了集成电路,不久后又推出了微处理器,1959年到1964年间设计的计算机称为第二代计算机。
3、第三代计算机:
1960年代,晶体管取代真空管,晶体管体积更小,速度更快,性能更加可靠,1964年到1972年的计算机被称为第三代计算机。
4、第四代计算机:
1970年代,基于大规模积体电路,以及后来的超大规模积体电路,计算机从此开始走向千家万户,1972年以后的计算机习惯上被称为第四代计算机。
二、Unix 系统的发展史:
1、Multics计划:
早期的电脑并没有操作系统,电脑的管理工具以及简化硬件操作流程的程序,可以看做是操作系统的雏形。
到1960年代早期,商用电脑的制造商通过批处理系统,对工作程序的初始化、参数设置和调度、以及运行的程序进行了序列化处理,但每台不同型号的电脑都有自己的批处理系统,每台电脑上运行的程序彼此之间也不能移植。
发展到1964年,麻省理工学院和美国通用电气公司,共同发起了一个Multics计划,AT&T 旗下的贝尔实验室也参加了这个计划。Multics计划的目标是创建一套安装在大型主机上的多用户、多任务、多层次的分时多任务操作系统(multi-user、multi-processor、multi-level)。
2、Unix 操作系统的诞生:
后来因开发进度缓慢,1969年贝尔实验室退出了该计划,但贝尔实验室的工程师“肯·汤普逊”和“丹尼斯·里奇”在此基础上继续开发,最终在1970年使用汇编语言开发出了第一版Unix系统。考虑到性能以及移植性问题,1971年两人共同发明了C语言,并在1973年用C语言重写了Unix系统。用C语言编写的Unix系统,代码简洁紧凑、易移植、易读易修改,这些特性为此后Unix的发展奠定了坚实的基础。
3、BSD,伯克利软件套装:
此后的10年,Unix在学术机构、大型企业中得到了广泛的应用,许多机构在此源码基础上加以扩展和改进,形成了所谓的“Unix变种”,这些变种反过来也促进了Unix的发展,其中最著名的变种之一就是加州大学伯克利分校开发的伯克利软件套件产品,即BSD(Berkeley Software Distribution)。
BSD在Unix的历史发展中具有相当大的影响力,成为很多商用Unix的基础,其不断增大的影响力终于引起了 AT&T 的关注,于是 AT&T 和伯克利分校之间开始了一场持久的著作权官司,这场官司一直打到 AT&T 将自己的 Unix 系统实验室卖掉,新接手的 Novell 采取了一种比较开明的做法,允许伯克利分校自由发布自己的 Unix 变种,但前提是必须将来自于 AT&T 的代码完全删除,于是伯克利分校的师生开始重写相关代码,最终诞生了 4.4-BSD-Lite 版,成为了现代BSD的基础版本。
尽管后来非商业版的Unix系统又经过了很多演变,但其中有不少最终都是创建在BSD版本上(Linux、Minix等系统除外),例如苹果公司基于BSD开发出了 Darwin 内核,MacOS 和 iOS 系统的内核就是 Darwin 内核。从这个角度上讲,4.4 BSD 又是所有自由版本Unix的基础,它们和 System V 及 Linux 等共同构成 Unix 操作系统这片璀璨的星空。BSD 后来经过演化,出现了 BSD 系统的三个主流版本,即 FreeBSD,NetBSD,OpenBSD。
4、Unix 发展小结:
Unix 操作系统,是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统。目前它的商标权由国际开放标准组织所拥有,只有符合单一 Unix 规范的 Unix 系统才能使用 Unix 这个名称,否则只能称为类 Unix(Unix-like),比如后来的 Linux 系统 。
Unix 因为其安全可靠,高效强大的特点在服务器领域得到了广泛的应用。直到 GNU/Linux 流行开始前,Unix是科学计算、大型机、超级计算机等所用操作系统的主流。现在其仍被应用于一些对稳定性要求极高的数据中心之上。
首发公众号【战神波波】,欢迎来交流~
网友评论