一、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历史的更多相关文章

  1. Unix历史及相关概念回顾

    欢迎来到Unix的世界 很多人都用了很多年的Unix(其实更熟悉的是叫Linux),也接触到Unix世界中的各种概念,比如GCC.GNU.BSD.POSIX.GPL等等,也大都知道一些传奇的如雷贯耳的 ...

  2. UNIX历史和标准

    1969年,bell实验室 Ken Thompson在小型机上首次实现了UNIX系统 1979年,加州伯克利分校发布了UNIX发布版--BSD, 随着AT&T不在对电信市场形成垄断,该公司被允 ...

  3. UNIX 历史问题 分布式系统的Thundering Herd效应 惊群效应

    https://uwsgi-docs.readthedocs.io/en/latest/articles/SerializingAccept.html One of the historical pr ...

  4. 转《UNIX编程艺术》读书心得

    花了一段时间看完了<UNIX编程艺术>,但不是看得特别仔细,尤其是后面作者通过对工具的讲解来阐述其设计思想,因为很多工具能未曾接触过,难免就会产生一些乏味的感觉.其实就像译者姜宏在译序里说 ...

  5. Linux历史

    1.Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX标准和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支 ...

  6. Dennis与Ken爷爷的UNIX/C世界

     沉寂了很久了,时间在不断地逝去,转眼又到了新的一年,2013的发生了太多,Beta版本.辞职.职位转换.ARM.Driver.初级厨艺.Dx11.GPU.CPU.登山.GNU/Linux.Cross ...

  7. 什么是 Unix 以及它为什么这么重要?

    大多数操作系统可以被划分到两个不同的家族.除了微软的基于Windows NT的操作系统外,几乎所有其他的都可以追溯到Unix. Linux,Mac OS X,Android,iOS,Chrome OS ...

  8. Linux学习-Linux历史(总结篇)

    Linux之前,Unix的历史 1969年以前,一个伟大的梦想:Bell,MIT与GE的Multics系统 在此之前的计算机主机少,用户从多,程序是在读卡纸上打洞,光是等待.为了更加强化大型主机的功能 ...

  9. 从Linux 与 Unix 异同,看开源世界的发展!

    从Linux 与 Unix 异同,看开源世界的发展! 如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中.数十年来,它一直是数据中心的重要参与者,尽管很难找到明确 ...

随机推荐

  1. Ubuntu 12.04 Openstack Essex 安装(单节点)

    这是陈沙克一篇非常好的博文,当时在进行openstack排错的时候,多亏了这篇文章里面有些内容 帮我找到了问题的所在: 原文:http://www.chenshake.com/ubuntu-12-04 ...

  2. mysql optimize整理表碎片

    当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删 除操作后在数据文件中留下碎片所致.optimize table 可以去除删除操作后留下的数据文件碎片,减小文件尺寸,加快未 ...

  3. Mysql 的事务隔离级别

    SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的.低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销.Read Uncommitted(读取 ...

  4. Visual Studio 2015打开ASP.NET MVC的View提示"Object reference not set to an instance of an object"错误的解决方案

    使用Visual Studio 2013打开没有问题,但Visual Studio 2015打开cshtml就会提示"Object reference not set to an insta ...

  5. 基本类型算法题目学习(EPI)

    1.关于奇偶校验的方法中,如何快速的求取一个64-bit的数字的奇偶校验位.(如果1的位数为奇数,则奇偶校验位为1,如果1的位数为偶数,则奇偶校验位为0) a.暴力枚举法采用一位一位进行计算,一位一位 ...

  6. C#取得Web程序和非Web程序的根目录的N种取法

    取得控制台应用程序的根目录方法方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径方法2.AppDomain.CurrentDomain.BaseDi ...

  7. 【BZOJ5133】[CodePlus2017年12月]白金元首与独舞 矩阵树定理

    [BZOJ5133][CodePlus2017年12月]白金元首与独舞 题面:www.lydsy.com/JudgeOnline/upload/201712/div1.pdf 题解:由于k很小,考虑用 ...

  8. Core Data 迁移与版本管理

    原文  http://chun.tips/blog/2014/11/28/core-data-ban-ben-qian-yi-jing-yan-zong-jie/ 主题 Core DataiOS开发 ...

  9. python添加Windows环境变量

    1.cmd中添加方式 SET PATH=%PATH%;c:\Program Files (x86)\Wireshark 注:如上代码添加c:\Program Files (x86)\Wireshark ...

  10. Python开发环境搭建方法简述

    先插入一条广告,博主新开了一家淘宝店,经营自己纯手工做的发饰,新店开业,只为信誉!需要的亲们可以光顾一下!谢谢大家的支持!店名: 小鱼尼莫手工饰品店经营: 发饰.头花.发夹.耳环等(手工制作)网店: ...