简述

了解过去,我们才能知其然,更知所以然。总结过去,我们才会知道明天该何去何从。在时间的滚轮中,许许多多的东西就像流星一样一闪而逝,而有些东西却能经受着时间的考验散发着经久的魅力,让人津津乐道、流传至今。要知道明天怎么去选择、怎么去做,不是盲目地跟从今天各种各样琳琅满目前沿技术,而应该是去 - 认认真真地了解和回顾历史。

提到Unix的发展史,应该来说Unix在现在主流系统上是一个比较古老的分支,因为60年代中期已经有一个雏形了,而Linux诞生于1991年,Window则问世于1985年,所以说Unix诞生的更早、更为古老。

Unix和Linux用父子关系你比喻应该还是比较合适的 - Unix是父亲,Linux则是儿子。他们之间有一个不可分割的关系,当我们学习完Linux之后,再去学习Unix的时候,就会发现它们之间无论是文件系统、基本命令或管理方式都非常相似,所以,更加利于以后学习Unix操作系统。

在技术更新如此迅速的计算机世界的今天,Unix始终保持它那神圣的光环,它那曲折和令人叹息的历史,以及由它引发的思想变革,对当今计算机文化造成的深远影响,这40多年所产生的人和事,让它成为了一个传奇,不能不让人为之惊叹。

开天辟地

两尊大神

  • Ken Thompson 肯·汤普森(左)
  • Dennis Ritchie 丹尼斯·里奇(右)

C语言之父,UNIX之父

C语言的诞生是现代程序语言革命的起点。今天,C语言依旧在系统编程、嵌入式编程等领域占据着统治地位。C语言就是丹尼斯·里奇开发的。因此,他被称为c语言之父、UNIX之父。

麻省理工大学计算机系的马丁教授评价说:如果说,乔布斯是可视化产品中的国王,那么里奇就是不可见王国中的君主。乔布斯的贡献在于,他如此了解用户的需求和渴求,以至于创造出了让当代人乐不思蜀的科技产品。然而,却是里奇先生为这些产品提供了最核心的部件,人们看不到这些部件,却每天都在使用着。

克尼汉评价道:牛顿说他是站在巨人的肩膀上,如今,我们都站在里奇的肩膀上。

顶级工程师发展到最后的形象,基本和这位一样 - 不修边幅,O(∩_∩)O哈哈~。

Multics计划

1965年,由三家科研机构联合开发Multics工程计划,这三家公司都大名鼎鼎,其中,一家是大家都能够耳熟能详的大学 - 美国麻省理工大学(MIT)、一家则是非常出名的企业 - 通用电气公司(GE)、以及在国际上都非常文明的科研机构 - AT&T的贝尔实验室。其目的是开发一种交互式的具有多道程序处理能力的分时操作系统,但是由于Multics过于复杂,项目进度远远落后于计划(也许项目管理不是很完善~~(>_<)~~),最后,贝尔实验室宣布退出。

Unix萌芽

直到1969年,贝尔实验室的肯·汤普森在DEC PDP-7机器上开发出了Unix系统。起因是由于其在那台机器上玩游戏,运行速度比较慢,按照常人的习惯:一:要么不玩 二:要么直接删掉。但是呢,牛人怎会按照常理出牌,最后发现是操作系统的问题,更牛的是居然决定自己写一个操作系统。

Unix并不像想象中发展那么迅速,因为其实在贝尔实验室发明的,而肯·汤普森是该实验室的一个工程师,当时,贝尔实验室隶属于AT&T,AT&T是一个特殊的公司(类似于中国电信吧),主要业务是电话和电报,所以不包括软件产品,所以Unix的地位就非常尴尬,不能作为软件产品在AT&T进行销售,所以呢,最后也没得到一个很好的推广。

在60年代末,国际上发生了一个重要的事情 - 美苏冷战爆发了,这促进了Unix的发展,当时,美国在做军备竞赛,为了对抗苏联,各个地方的工程师搞了一个实验性的网络 - ARPAnet,最后导致了Internet的诞生,但是ARPAnet有个问题,它使用了NCP协议(Network Control Protocol,即:网络控制协议),这个协议很慢,而且周期性的不稳定,最后这个项目由美国国防部接手以后,发现这个问题,就决定资助开发一个新的协议,这个协议就是目前最为著名的协议 - TCP/IP协议,今天,大家都在上Internet,谁都不敢说不用TCP/IP。但是,当年TCP/IP刚刚出现,并没有得到很好的机会让大众认知和普及,所以美国国防部出面,和AT&T做了一个约定,将TCP/IP捆绑到Unix上面,主要面向的群体是大学,来发售非商业的许可。

Unix发展

在此基础上,1971年,计算机领域又出现了一项非常出名的发明 - C语言的诞生。C语言的诞生是IT行业一个非常标志性的事件。当时肯·汤普森有一个同事叫丹尼斯·里奇,根据B语言开发出一个真正意义上的高级语言,就是C语言。包括后来的Java、PHP等多门语言的诞生,无不受到C语言的影响,而且很多由它演变而来,由于做出了巨大贡献,1983年,这哥俩获得计算机行业一个非常高的奖项 - 图灵奖。Unix和Linux的内核都是由C语言写的,可见C语言的重要性,其实早期室友汇编写的,效率比较差、而且可以执行非常差,C语言则克服了这一障碍,包括不同操作系统上,只需要做稍微的更改即可完美的运行,所以这位Unix的发展打下了很好的基础。基于这样的背景,Unix捆绑了TCP/IP这个可以联网的协议,捆绑了开发的环境C语言,由美国国防部督促AT&T来发行非商业的许可,非商业许可就是象征性的付点钱,但是不修复Bug,也不提供一些商业服务的支持。到了大学以后,有很多这样的需求,结果,由大学把这门技术做了很多的开发、变革、和流行的推广,这直接促进了Unix的普及和发展。

主要发行版本

操作系统 公司 硬件平台
AIX IBM PowerPC
HP-UX HP PA-RISC
Solaris Sun SPARC
Linux Red Hat、Ubuntu、CentOS… IA(Intel、AMD、Cyrix、RISE…)

AIX是运行在PowerPC上的,这是当年一款很牛的CPU,由三家公司(IBM、苹果、摩托罗拉)联合开发。

另一个则是HP的HP-UX,运行在PA-RISC上。

可能很多人对Sun公司不熟悉,如果我说Java的话,那么你想必就清楚了,如今,Sun已经被Oracle收购。

当然,除了这些还有很多其它Unix分支,比如:BSD(Berkeley Software Distribution,伯克利软件套件),苹果公司的Mac OS。。。

更多参考

  • 《鸟哥的Linux私房菜》
  • 《Linux从入门到精通》
  • 《深入理解LINUX内核》
  • 《细说Linux》
  • Unix传奇(上中下)

Unix发展史的更多相关文章

  1. UNIX发展史(BSD,GNU,linux)(转)

    转自 UNIX发展史(BSD,GNU,linux) 这篇文章写的非常好,在这里转一下. 先前的一個理想 UNIX 系统自 1969 年 Ken ThompsonKen Thompson 与 Denni ...

  2. UNIX发展史(BSD,GNU,linux)

    先前的一個理想 UNIX 系统自 1969 年 Ken Thompson 与 Dennis Ritchie 在美国贝尔电话实验室(Bell Telephone Laboratories)发展出雏形至今 ...

  3. 【历史】- UNIX发展史(BSD,GNU,linux)

    先前的一個理想 UNIX 系统自 1969 年 Ken Thompson 与 Dennis Ritchie 在美国贝尔电话实验室(Bell Telephone Laboratories)发展出雏形至今 ...

  4. UNIX发展史简介

    1965年贝尔实验室(Bell Labs).通用电气(General Electric)和麻省理工学院(MIT)欲共同打造MULTICS(Multiplexed Information and Com ...

  5. 【Linux】一步一步学Linux——Unix发展史(02)

    目录 00. 目录 01. 请参考Unix传奇 02. 03. 00. 目录 @ 本博客后面会更新 01. 请参考Unix传奇 链接: https://coolshell.cn/articles/23 ...

  6. Linux学习--第一天--Unix 、 Linux 发展史,Linux应用领域

    UNIX发展史 肯·汤姆森开发出linux. 肯·汤姆森的同事丹尼斯·里奇在1971年开发了C语言. 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP PA-RISC Sol ...

  7. Day3---------Linux操作系统

    ---恢复内容开始--- 网络基础和DOS命令 一.网络分类 1.地理位置 1).局域网(LAN) 2).城域网(MAN) 3).广域网(WAN) 2.传输介质 1).有线网 2).光纤网 3).无线 ...

  8. Linux基础学习(1)--Linux系统简介

    第一章——Linux系统简介 1.UNIX和Linux发展史: 1.1 unix发展史: (1)1965年,美国麻省理工学院(MIT).通用电气公司(GE)及AT&T的贝尔实验室联合开发Mul ...

  9. Linux速通01 操作系统安装及简介

    操作系统 # a)操作系统的定义:操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间. # 操作系统分为 系统调用接口 和 系统内核 # b)操作系统内核的定义 ...

随机推荐

  1. [luogu4035 JSOI2008] 球形空间产生器 (矩阵 高斯消元)

    传送门 题目描述 有一个球形空间产生器能够在 nnn 维空间中产生一个坚硬的球体.现在,你被困在了这个 nnn 维球体中,你只知道球面上 n+1n+1n+1 个点的坐标,你需要以最快的速度确定这个 n ...

  2. 浅谈optparse 解析命令行参数库

    使用的背景 在工作中我们经常要制定运行脚本的一些参数,因为有些东西是随着我么需求要改变的,所以在为们写程序的时候就一定不能把写死,这样我们就要设置参数 在python中我们可以通过sys 模板的arg ...

  3. CORS与JSONP的区别

    CORS与JSONP: a. JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求. b. 使用CORS,开发者可以使用普通的XMLHttpRequest发起请求和获得数据,比起JSON ...

  4. 【henuacm2016级暑期训练-动态规划专题 C】Little Girl and Maximum XOR

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 考虑r最后的二进制形式为 1xxxxx 那么我们肯定想让第一个最高位的1保留. 因此我们选取的另外一个数字 一定是 0xxxxx的形 ...

  5. 第八章 Servlet概述

    第八章 Servlet概述 主要内容: 了解servlet: 掌握servlet实现: 掌握servlet的生命周期. servlet概念 Servlet是运行在服务器端用Java语言编写的应用程序, ...

  6. Aizu - 2305 Beautiful Currency (二分 + DFS遍历)

    F. Beautiful Currency Time Limit: 5000ms Case Time Limit: 5000ms Memory Limit: 65536KB 64-bit intege ...

  7. bzoj3275: Number(最小割)

    3275: Number 题目:传送门 题解: 双倍经验@bzoj3158 代码: #include<cstdio> #include<cstring> #include< ...

  8. WPF获取和设置鼠标位置与progressbar的使用方法

    一.WPF 中获取和设置鼠标位置 方法一:WPF方法 Point p = Mouse.GetPosition(e.Source as FrameworkElement); Point p = (e.S ...

  9. 仿写从iOS8开始支持的UIAlertController:BGAAlertController-Android

    工作以来公司UI设计师出的Android效果图都是iOS风格的UIAlertView和UIActionSheet,新项目还是用原来那一套,不想重复造轮子,所以仿写了从iOS8开始支持的UIAlertC ...

  10. nyoj--18--The Triangle(dp水题)

    The Triangle 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (Figure 1) Figure ...