本文来自 https://mp.weixin.qq.com/s/GgXAGj0Kbo1gKPT4D4WYSA

1964年贝尔实验室(Bell Labs)、通用电气(General Electric)和麻省理工学院(MIT)联合启动研发第二代分时操作系统MULTICS(Multiplexed Information and Computing Service)(注:MULTICS正式研制始于1965年)

1969年,贝尔实验室研究人员Ken Thompson在退出MULTICS项目时,准备将原本在MULTICS系统上开发的“star travel”游戏转移到DEC PDP-7上运行。在转移游戏程序运行环境的过程中,Thompson和Dennis M. Ritchie共同动手设计了一套包含文件系统、命令解释器以及一些实用程序的支持多任务的操作系统。与Multics相对应,这个新操作系统被同事Brian Kernighan戏称为UNICS(UNiplexed Information and Computing System,非复用信息和计算机服务),之后大家取谐音便叫成了UNIX。

1970年Thompson尝试用Fortran重写UNIX失败后整合BCPL成B语言,1971年他用B语言在PDP-11/24上重写UNIX,当年的11月3日,UNIX第1版(UNIX V1)正式诞生。

注:BCPL(Basic Combined Programming Language)是Martin Richards写的,他在1967年写了篇文章“编译器编写和系统编程工具(A tool for compiler writing and systems programming)”。因为B是“BCPL的精简版”,所以它的名字也是一个缩写,B成为第一个在Unix上使用的高级语言。

1972年,UNIX发布了第2版,最大的改进是添加了后来成为UNIX标志特征之一的管道功能。在开发UNIX V2的时候,Ritchie给B语言加上了数据类型和结构的支持,推出了C语言。

1973年,Thompson和Ritchie使用C语言重写了UNIX,形成第3版UNIX。在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以Thompson和Ritchie此举是极具大胆创新和革命意义的。用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后UNIX的发展奠定了坚实基础。

1974年,Thompson和Ritchie合作在ACM通信上发表了一篇关于UNIX的文章,这是UNIX第一次出现在贝尔实验室以外。此后UNIX被政府机关,研究机构,企业和大学注意到,并逐渐流行开来。

1975年,UNIX发布了4、5、6三个版本。1978年,已经有大约600台计算机在运行UNIX。

1975年,Thompson应邀回母校——加州大学伯克利分校任客座教授,讲授的科目就是UNIX。同年,Bill Joy大学毕业来到伯克利分校。当UNIX V6安装在学校的PDP-11/70机器上后,Joy和他的同事便开始完善Pascal的性能,编写ex编辑器以及csh命令解释器等。1977年初,Joy制作了一卷包含新的Pascal编译器、ex等程序的磁带。这就是1BSD(1st Berkeley Software Distribution)。1983年,4.2BSD发布。它是UNIX历史上第一个包含TCP/IP协议栈以及rcp、rsh、rlogin和rwho等网络工具的系统。

1979年,UNIX V7发布。这是历史上第一个完整意义上的UNIX版本,也是最后一个广泛发布的研究型UNIX版本。20世纪80年代相继发布的8、9、10版本只授权给了少数大学。此后这个方向上的研究导致了九号计划的出现,这是一个新的分布式操作系统。

注:贝尔实验室九号项目(Plan 9 from Bell Labs,常简称为Plan 9)是一个分布式操作系统,由贝尔实验室的计算科学研究中心在1980年代中期至2002年开发,以作为UNIX的后继者。它现在仍然被操作系统的研究者和爱好者开发使用。

1980年,美国电话电报公司发布了UNIX的可分发二进制版(Distribution Binary)许可证,启动了将UNIX商业化的计划。

1981年,美国电话电报公司基于UNIX V7开发了UNIX System III 的第一个版本(1982年发布)。这是一个商业版本,仅供出售。

1983年,美国电话电报公司成立了UNIX系统实验室(UNIX System Laboratories,USL),并综合其他大学和公司开发的各种UNIX,开发出UNIX System V Release 1(简称SVR1)。这个新的UNIX商业发布版本不再包含源代码。美国电话电报公司开始积极地保护UNIX的源代码。从发布System III开始,该公司的所有UNIX版本转由一个强调稳定的商业发行版本小组进行维护。

此后,其他一些公司也开始为其自己的小型机或工作站提供商业版本的UNIX系统,有些选择System V作为基础版本,有些则选择了BSD。BSD的一名主要开发者,Bill Joy,在BSD基础上开发了SunOS,并最终创办了SUN公司。

1991年,一群BSD开发者(Donn Seeley、Mike Karels、Bill Jolitz和Trent Hein)离开了加州大学,创办了Berkeley Software Design, Inc (BSDI)。BSDI是第一家在Intel平台上提供全功能商业BSD UNIX的厂商。后来Bill Jolitz离开了BSDI,开始了386BSD的工作。386BSD被认为是FreeBSD、OpenBSD和NetBSD、DragonFlyBSD的先辈。

AT&T继续为UNIX System V增加了文件锁定,系统管理,作业控制,流和远程文件系统。1987到1989年,AT&T决定将Xenix(微软开发的一个x86-pc上的UNIX版本),BSD,SunOS和System V融合为System V Release 4(SVR4)。这个新发布版将多种特性融为一体,结束了混乱的竞争局面。

1993年以后,大多数商业UNIX发行商都基于SVR4开发自己的UNIX变体了。

UNIX System V Release 4发布后不久,AT&T就将其所有UNIX权利出售给了Novell。Novell期望以此来对抗微软的Windows NT,但其核心市场受到了严重伤害,1993年Novell将SVR4的商标权利出售给了X/OPEN公司,后者成为定义UNIX标准的机构。1996年,X/OPEN和OSF/1合并,创建了国际开放标准组织,由它公布的“单一UNIX规范”定义着具有什么特征的操作系统可以冠上UNIX之名,相对地,不符合这些标准但与Unix有类似性的操作系统只能称为“类Unix”(unix-like)。

UNIX代码著作权则由Novell售给Santa Cruz Operation(SCO)公司,2001年这家公司的商标与UNIX产品和业务都出售给了Caldera Systems,交易完成后,Caldera又被重命名为SCO Group。

截止到2020年6月,目前除类UNIX系统(BSD、GNU)外,仍有Oracle Solaris,IBM AIX,HP-UX,MINIX等符合标准的UNIX系统。而原System V Unix则随着“1127”部门的解散而停止更新。

注:根据一项报导指出,当年负责研发UNIX与后续维护工作的贝尔实验室1127部门已于2005年8月正式宣告解散。肯·汤普逊已退休,现居加州;丹尼斯·里奇调到别的部门;而Douglas McIlroy则在达特茅斯学院担任教授。

官司:

1983年,AT&T发布了Unix最新版system V,这是一个商业化版本,付费才能使用,并且不得传播源码。这个决定对BSD构成了限制,为了减少纠纷,伯克利分校规定,BSD本身依然保持免费,但是只能提供给持有AT&T源码许可的公司。不过,与此同时,伯克利的师生也开始着手另一项工作:将AT&T的专有代码从BSD中逐渐去除。

80年代后期,几个伯克利毕业的学生,成立了一家Berkeley Software Design Inc.公司,简称BSDi,专门销售BSD的一个商业版本。他们在广告中宣称,自己的产品不包含任何AT&T代码。这句话惹恼了AT&T,1990年BSDi被告上法庭,稍后伯克利分校也被追加为被告。AT&T起诉BSD侵犯了Unix的版权。

这场诉讼对BSD打击极大,所有的开发活动都被迫停止,用户人心惶惶,担心自己也遭到AT&T的追究,因此BSD的使用急剧减少。最后在1994年,双方达到和解,BSD才恢复开发。

这场战争给Unix和BSD带来毁灭性的打击。BSD在1992~1994年期间,开发处于停滞,错过了发展的黄金时机。官司结束以后,又不幸发生分裂,变成了FreeBSD、NetBSD和OpenBSD三个版本。这些原因导致BSD直到今天,都还在操作系统的竞争中处在落后地位。

如果换个时间,官司的损失也许还没这么大。偏偏90年代初是计算机工业决定性的年代,错过了那几年,从此你就不要想翻身了。因为从80年代末期开始,Intel的80×86芯片有巨大的发展,性能快速上升,而成本快速下降,个人电脑的年代就要到来了。市场迫切需要能够运行在386芯片上的操作系统,但是Unix和BSD忙于打官司,都没有去做移植操作系统这件事。其他两个这样做的人,改变了人类历史。

一个是比尔·盖茨,他推出了Windows,占领了个人电脑市场,后来赚了几百亿美元。另一个是芬兰大学生Linus Torvalds,他想学习Unix,但是买不起工作站,就自己写了一个能在386上运行的Linux操作系统,现在全世界超过一半的网络服务器都在使用这个系统。Linus Torvalds后来说,如果他早知道BSD没有法律问题,并且可以被移植到386,他就会加入BSD的开发,而不是自己写一个。

我们不禁要问,如果AT&T不打版权官司、不对Unix收费的话,会发生什么事?……人类的历史、市场的格局也许都会被改写。

[1] MAC项目:CTSS和Multics(译)

[2] https://www.cnblogs.com/lsdb/p/6627528.html

[3] https://zh.wikipedia.org/wiki/UNIX

[4] https://www.sohu.com/a/119456926_464065

UNIX操作系统发展史简介相关推荐

  1. FreeBSD是一种UNIX操作系统

    FreeBSD是一种UNIX操作系统,是由经过BSD.386BSD和4.4BSD发展而来的Unix的一个重要分支.FreeBSD 为不同架构的计算机系统提供了不同程度的支持. 目录 简介 许可协议 发 ...

  2. 1 - 操作系统发展史及其基础知识

    操作系统发展史及其基础知识 参考内容:https://www.cnblogs.com/linhaifeng/p/6295875.html:百度百科:写在此处的目的是巩固老师所讲知识,课后为了方便复习 ...

  3. 世界各大操作系统发展史

    前言 众所周知,电脑都是由硬件和软件组成的,缺了任何一样电脑都是没有办法运行的.在我们使用电脑的过程中,一切的操作都是利用操作系统来完成. 最早的计算机其实并没有操作系统,在那个时候人们想要操作计算机 ...

  4. 操作系统发展史_有史以来最好的操作系统的可怕的用户界面

    操作系统发展史 In 1981, before the development of what we call today as user experience design or usability ...

  5. 操作系统发展史与linux系统发展史

    一. 操作系统发展史 什么是操作系统? 可能很多人都会说,我们平时装的windows7, windows10都是操作系统,没错,他们都是操作系统.还有没有其他的? 想想我们使用的手机,Google公司 ...

  6. Unix操作系统背后的女程序员Lorinda Cherry去世,享年78岁

    作者 | 丁广辉       责编 | 张红月 出品 | CSDN(ID:CSDNnews) Unix是一个强大的多用户,多进程,支持多种处理器架构的操作系统,按照操作系统的分类,属于分时操作系统.它 ...

  7. 初探 Unix 操作系统

    在互联网公司里面,基本大大小小所有的服务器端应用程序都是部署在 Linux 服务器上面.由于之前在外企工作,开发的应用程序需要依赖于 Windows 的 API,因此程序都是部署在 Windows S ...

  8. eq linux_在线试用 200 多种 Linux 和 Unix 操作系统 | Linux 中国

    只要打开该网站,选择你需要的 Linux/Unix 发行版,然后开始试用!-- Sk 不久前我们介绍过OSBoxes,该网站提供了一系列免费且开箱即用的 Linux 和 Unix 虚拟机.你可以在你的 ...

  9. Redox随笔(1)-用Rust语言编写的类UNIX操作系统

    Redox是一个用Rust语言编写的类UNIX操作系统 , 它的目标是把Rust语言的创新带入到一个现代的微内核和全系列的应用程序. https://www.redox-os.org/zh/docs/ ...

  10. menuetos oracle,使用DistroTest服务免费在线测试Linux和Unix操作系统

    本文教你免费在线测试Linux和Unix操作系统的方法,使用名为DistroTest的服务,它与OSBoxes不同,DistroTest允许你免费试用实时Linux和Unix操作系统,你可以在线测试2 ...

最新文章

  1. mysql填加序列号(仿照oracle row_number函数)
  2. Unity中制作游戏的快照游戏支持玩家拍快照
  3. linux导出并追加到文件,linux – 如何将awk结果输出到文件
  4. 2.5-冗余VLAN
  5. 关于Unity中坐标系的种类
  6. powerdesigner逆向工程(sql转pdm)
  7. mysql with as 用法_英语语法丨英语中just的用法总结,你掌握了吗?
  8. 斑能不能彻底去掉_海鲜不能和什么一起吃
  9. Latex插入图片并固定图片位置
  10. Brownie Slicing(二分枚举答案)
  11. nyoj 题目20 吝啬的国度
  12. 第二季-专题18-网卡搭建新通道
  13. shell学习教程(超详细完整)
  14. 第一章 十天干,十二地支
  15. linux的webui服务,Aria2控制前端WebUI客户端安装教程
  16. 股票的大底部形态,常见几种底部形态详解
  17. c语言清华大学出版社答案,《C语言程序设计》(清华大学出版社)书后习题参考答案...
  18. c++基础温习之指针分配空间
  19. 四选一单选按钮html实现
  20. xlwt对excel表的写入操作

热门文章

  1. php baseconvert,mb_convert_encoding
  2. java代码实现 取放_java大对象存取的简单实现的代码
  3. 模拟赛 10-20考试记
  4. C# 图片转换为base64
  5. 我认知的javascript之作用域和闭包
  6. JavaScript - 正则表达之二
  7. Magento的基本架构解析
  8. 现代语音信号处理之语谱图(spectrogram)
  9. cvThreshold() 阈值化
  10. 易语言PHP非对称加密,openssl调用大集合[易语言源码] | 贝贝吧