UNIX历史
一、Multics计划
1965年,AT&T贝尔电话实验室、通用电气公司、麻省理工学院MAC课题组一起联合开发一个称为Multics的新操作系统。
Multics 系统的目标是要向大的用户团体提供对计算机的同时访问,支持强大的计算数据存储,以及允许用户在需要的时候容易地共享他们的数据。
1969年Multics的原始版本在GE645计算机上运行了,但它既没能提供预定的综合服务,而且,连它自己也不清楚究竟什么时刻算达到开发目标。
在这种情况下,AT&T贝尔电话实验室首先退出了这一项目。
二、UNIX系统的萌芽
Multics项目中止后,AT&T贝尔电话实验室中参加开发的主要人员开始寻找其他有趣的项目。这其中,KenThompson写了一个名叫 “太空漫游”的游戏程序。
他找到了一台基本无人使用的DEC PDP-7计算机运行他的程序。然而由于DEC PDP-7缺少程序开发程序,
以致于Thompson不得不在另一台运行GECOS操作系统的Honeywell635上交叉汇编子他的程序,然后再通过 纸带加载到DEC PDP-7上。
为了方便太空漫游的开发,Thompson和Dennis Ritchie一起着手开发DEC PDP-7上的操作环境:
1.一个简单的文件系统,它后来深化成称之为System V文件系统的早期版;
2.一个进程子系统和shell(命令解释器)。
这样这个系统就足以满足他们的需要,他们将这个操作环境命名为UNIX。
Thompson和Ritchie后来开发了B语言(后来Ritchie又将其发展为C语言),并扩展了UNIX系统,UNIX系统便在AT&T贝尔电话实验室流行起来。
1973年11月,他们用C语言彻底重写,这是UNIX操作系统迈向成功之路的关键一步。完成后,Thompson和Ritchie共同在《ACM通信》上发表了首篇UNIX论文,The UNIX Time Sharing System。
三、UNIX系统的发展
而由于AT&T公司受到美国反托拉斯法的诉讼,与联邦政府签署了一份协议,这份协议不允许AT&T公司生产与电话和电报服务无关的设备, 也不允许从事除“公用通信服务”外的任何商业活支。
这样,AT&T公司就陷入了不能经营计算机产品的尴尬局面。
而自从在《ACM通信》中发表了关于UNIX的论文后,越来越多的人希望能够获得UNIX软件和源码。为了不违背与政府签署的协议,AT&T公司 既不出售UNIX、也不为其作广告、不对其提供技术支持。
而同时为了满足大家的需要,AT&T公司在签署简单协议的前提下,将UNIX系统无偿地 提供给大学,以供教学与研究。
由于AT&T公司对UNIX的策略,使得UNIX在全世界范围内快速发展。到1975年底,它已经传播到西至耶路撒冷的Hebrew大学,南至澳大利亚的新南威尔士大学,北至加拿大多伦多大学的世界各地。
1979年1月发行的UNIX版本是一个真正可移植的UNIX系统,它对其后的UNIX发展有着深远的影响。该版本最初是运行在PDP-11和 Interdata 8/32上的,该系统更加健壮,
而且提供了比版本6更强大的功能,但其相当慢。许多领取了许可证的用户针对这一情况从不同方面对系统的性能进行了改进, AT&T又将这些改进中的许多加入了其以后的UNIX发行中。
这种使用者与开发者之间的合作精神正是UNIX快速成长和不断发展的关键因素。不幸的是,当UNIX在商业上取得很大成功之后,这种精神就不存在了。
四、UNIX系统最重要的分支----BSD UNIX
1974年12月,加州大学伯克利分校获得了UNIX许可证。在其后的几年里,包括Bill Joy和Chuck Haley在内的一组研究生为UNIX开发了几个实用工具,其中包括ex编辑器---vi的前身和一个Pascal编译器。
他们将这些软件绑定成一个称为 “伯克利软件销售(BSD)”的软件包,并在1978年春以每个许可证50美元出售。
最初的BSD发行仅包括应用程序和实用工个,并没有对操作系统进行修 改和再发行。Joy早期的贡献之一就是C Shell。
1978年伯克利得到一台VAX-11/780以及由新泽西州Holmdel的BTL小组移植的UNIX/32V。VAX-11采用32位体系结构,可以 有4GB的地址窨,
而物理内存仅为2MB。与此同时,Ozalp Babaoglu为VAX设计了一个分页式的虚存系统,并将其加入到UNIX系统中。这就是1979年末发行的3BSD,是由伯克利发行的第一个操作系 统。
伯克利在虚存方面的工作促使美国国防部高级研究项目署(DARPA)决定投资支持伯克利的UNIX系统开发。
DARPA项目的目的之一就是将TCP/IP网络协议族集成到UNIX系统中。在DARPA的资助下,伯克利又推出了几个BSD发行,统称4BSD。
五、纯UNIX系统----System V
AT&T公司与美国司法部的法律大战终天在1982年达到终点,一部里程碑式的法律出台了。根据该法令,地区性运营公司都从AT&T公司 中分离出来,成立一系列的“贝尔宝宝”,
贝尔电话实验室也独立出来,改名为贝尔实验室。同时,AT&T也被重新允许进入计算机市场。
贝尔实验室先后在1982年发行了System III,1983年发行了System,1984年发行了System V Release 2(SVR2),1987年发行了SVR3。
System V UNIX也引入了许多新特征,新设施。最有代表性的就是进程间通信机制。
六、UNIX系统的商业化
UNIX系统的不断发展吸引了许多计算机公司。它们急急忙忙地开始将UNIX商业化,出售自己的UNIX版本。每一家都是以AT&T或BSD为蓝本,将它们移植到自己的硬件上,并加上一些自己的“增值”功能。
1982年,Bill Joy离开了伯克利,与人合资成立了Sun公司,基于BSD开发、发行了SunOS,后来又基于SVR4发行了Solaris。
微软与SCO合作开发发行的XENIX。
此后,SCO公司将SVR3移植到386上,并将其命名为SCO UNIX。
还有一此大型的硬件公司,配合自己的计算机系统,也开发出一许多不同的UNIX版本:
IBM公司开发的AIX操作系统----运行在RS 6000小型机上;
HP公司开发的HP-UX----运行在HP工作站上;
Digital公司开发的Digital UNIX。
还有著名教授Tanenbaum为了教学开发的MINIX系统;
以及我们可爱的小企鹅----LINUX操作系统。
每种商业变体都增加了许多新特征,这些功能中的许多后来又被加入到主线系统中,这样逐步推动UNIX系统向前发展。
七、UNIX系统标准
UNIX系统变体的泛滥造成了许多不兼容问题,尽管所有的变体从某种程度“看起来都像UNIX”,但它们在许多重要方面却千差万别。
最初,业界根据 AT&T的System V发行版、伯克利的BSD发行版的不同一分为二。然而,后来随着商业变体不断涌现,情况越来越糟。
八、UNIX与LINUX之间的关系
Unix系统本身是1956年AT&T公司开发的,之后开始不再开源,1978年Joy扩展了Unix,形成了Unix的第二个重要分支—BSD Unix。
所以截止目前为止,Unix也只有两大分支,Berkeley的BSD和AT&T的Unix。
AT&T的Unix按照System V的形式进行发布,主要的代表是Solaris。BSD的Unix,主要代表是FreeBSD。
Linux是一种外观和性能都与Unix类似的操作系统,但是Linux并不源于任何的Unix源码,只是在实现上类Unix。
UNIX历史的更多相关文章
- Unix历史及相关概念回顾
欢迎来到Unix的世界 很多人都用了很多年的Unix(其实更熟悉的是叫Linux),也接触到Unix世界中的各种概念,比如GCC.GNU.BSD.POSIX.GPL等等,也大都知道一些传奇的如雷贯耳的 ...
- UNIX历史和标准
1969年,bell实验室 Ken Thompson在小型机上首次实现了UNIX系统 1979年,加州伯克利分校发布了UNIX发布版--BSD, 随着AT&T不在对电信市场形成垄断,该公司被允 ...
- UNIX 历史问题 分布式系统的Thundering Herd效应 惊群效应
https://uwsgi-docs.readthedocs.io/en/latest/articles/SerializingAccept.html One of the historical pr ...
- 转《UNIX编程艺术》读书心得
花了一段时间看完了<UNIX编程艺术>,但不是看得特别仔细,尤其是后面作者通过对工具的讲解来阐述其设计思想,因为很多工具能未曾接触过,难免就会产生一些乏味的感觉.其实就像译者姜宏在译序里说 ...
- Linux历史
1.Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX标准和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支 ...
- Dennis与Ken爷爷的UNIX/C世界
沉寂了很久了,时间在不断地逝去,转眼又到了新的一年,2013的发生了太多,Beta版本.辞职.职位转换.ARM.Driver.初级厨艺.Dx11.GPU.CPU.登山.GNU/Linux.Cross ...
- 什么是 Unix 以及它为什么这么重要?
大多数操作系统可以被划分到两个不同的家族.除了微软的基于Windows NT的操作系统外,几乎所有其他的都可以追溯到Unix. Linux,Mac OS X,Android,iOS,Chrome OS ...
- Linux学习-Linux历史(总结篇)
Linux之前,Unix的历史 1969年以前,一个伟大的梦想:Bell,MIT与GE的Multics系统 在此之前的计算机主机少,用户从多,程序是在读卡纸上打洞,光是等待.为了更加强化大型主机的功能 ...
- 从Linux 与 Unix 异同,看开源世界的发展!
从Linux 与 Unix 异同,看开源世界的发展! 如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中.数十年来,它一直是数据中心的重要参与者,尽管很难找到明确 ...
随机推荐
- 编译源码 JAVA out of memory
- linux shell脚本中 mode=${1:-sart} filename=${fileuser:-"filename"}
$1代表第二个参数m=${1:-start}表示如果$1存在且不为空,m就是$1如果$1不存在或为空,那么m就是start filename=${fileuser:-"filename&qu ...
- maven 使用-P指定环境打包,linux移动配置文件失败,windows成功!
问题描述: windows机器使用-P指定环境打包,最后组装文件组装成功,配置文件成功移动,linux下却只移动了jar包. windows: linux: ...
- 【CF891E】Lust 生成函数
[CF891E]Lust 题意:给你一个长度为n的序列$a_i$,对这个序列进行k次操作,每次随机选择一个1到n的数x,令$res+=\prod\limits_{i!=x}a_i$(一开始res=0) ...
- python的十进制与任意进制的转换
将任意进制转换成十进制 ", 8)) # 表示把8进制的54转换成十进制数并输出结果. # 8可以是2.8,10,16等进制数 将十进制转换成任意进制 def f(n,x): #n为待转换的 ...
- SpringBoot应用配置常用相关视图解析器
目录 SpringBoot的自动装配装配了视图解析器了吗? SpringBoot使用JSP SpringBoot中使用Thymeleaf SpringBoot中使用Freemark SpringBoo ...
- Thread和Runable的区别、Synchronized锁关键字
一.Thread和Runable的区别 Thread是基类,子类必继承他实现其run方法.其也是实现了Runable接口.Thread是普通的类,并非抽象类或者密封类等. Runnable是接口,子类 ...
- 51nod 1835 - 完全图 - [dp][组合数公式][快速幂]
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1835 基准时间限制:1 秒 空间限制:131072 KB ...
- HDU 1789 - Doing Homework again - [贪心+优先队列]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1789 Time Limit: 1000/1000 MS (Java/Others) Memory Li ...
- laravel composer install 报错解决方法
composer install 报错信息: 报错原因参考:http://blog.csdn.net/yicixing7/article/details/55050140 解决方法: 把compose ...