Linux发展史

前言

    Linux属于类Unix中的一个当下比较流行的操作系统,占领了服务器大部分江山。作为一个专业复杂的操作系统,了解其发展过程是很有必要的。如果要讲linux的历史,肯定是从三个团体开发Multics系统说起,贝尔实验室离开Multics项目后,Tompson和他的同事一起创造了unix,而在unix的各种分支中BSD则是迅速发展。因为后来长达10年的unix版权之争。以及386bsd发布时间的推迟,linus在Minix系统的基础下,创造了linux系统,并遵循GUN的gpl协定。

Multics

    1964年,由贝尔实验室,麻省理工学院及美国通用电气公司所共同参与研发,被设计在GE-645大型主机上。通过unix,几乎所有现在操作系统都深受Multics的影响。

    19669年,因Multics项目的工作过于缓慢,整个项目过于庞大,糅合了太多特性,最终澡裁撤。


UNIX

    Thompson在加入此计划不久,计划就终止了,但因为机器仍然保留在贝尔实验室,他继续在GE-645上开发软件,Thompson在GE-645上写出了一个仿真器,可以让一个文件系统与内存分页机制运作起来,他编写了一个Space Travel的游戏,但游戏在GECOS系统上面的表现还不如Multics系统,汤普森想要找到一个更好的解决方案,于是向贝尔实验室请求购买一台DEC-10大型机,以从事新系统的开发,大约需要12万美元。Thompson的请求被驳回,因为贝尔实验室刚刚放弃一个操作系统项目,不会再对花钱研制操作系统感兴趣。但是Thompson发现周围的部分有一台老旧且很少被使用的PDP-7小型机,同样可以达到目的。在丹尼斯 里奇的帮助下,汤普森用PDP-7的汇编语言重写了这个游戏,并使其在PDP-7上运行起来。这次经历加上Multics项目的经验,促使汤普森开始在PDP-7上研究如何开发系统。

    1969年,肯 汤普森提议在PDP-7上开发一个新的阶层式操作系统的计划,于是开发了一个壳层(shell)与一些驱动程序做出一个操作系统的雏形。在团队的合作下,Multics的许多功能都被采纳,重新实作,最终做出了一个分时多任务操作系统,成为第一个UNIX。因为Multics来自"MULTiplexed Information and Computing system"的缩写,在1970年,那部PDP-7却只能支持两个用户,彼得 纽曼戏称他的系统其实是“UNiplexed Information and Computer System”缩写为"UNICS",当第二版在PDP-11上运行的UNIX真正可以提供多人同时使用时,布莱恩 柯林汉提议讲它的名称改为UNIX。

    第一版是用PDP-7汇编语言编写的,一些应用是由B语言和汇编语言混合编写的,1971年汤普森和里奇共同发明了C语言,1973年,他们用C语言重写了UNIX,形成第三版UNIX。用C语言编写的UNIX代码简介紧凑,易读,易移植,易修改。为此后UNIX的发展奠定了坚实的基础。1974年,UNIX第一次出现在贝尔实验室以外。


BSD:Berkeley software Distribution


    1974年,第一个伯克利的UNIX系统被安装在PDP-11机器上,计算机科学系而后将其用作扩展研究。

    1977年,伯克利的研究生Bill Joy将程序整理到磁带上作为first Berkeley Software Distribution(1BSD)发行

    1978年,2BSD发布,比尔 乔伊写了两个新程序vi编辑器,以及C shell。

    1992年,AT&TZ的USL正式对BSD提起诉讼,这导致Net/2发布的中止。由于最后的判决悬而未决,这桩法律诉讼将BSD后裔的开发,特别是自由软件延迟了两年,这导致没有法律问题的linux内核获得极大的支持。


GUN


     在提linux之前,GUN是必须得提起的。

     GUN的创始人Richard stallman 1971年进入哈弗大学学习,同时受聘于麻省理工学院人工智能实验室,工作在一个只使用自由软件的小组中,成为一名职业黑客,stallman在AI是一名典型的黑客,是整个黑客文化的一份子。然后进入八十年代,黑客社群在软件工业商业化的强大压力下,日渐土崩瓦解,甚至连AI实验室也成立了symbolic公司,试图以专利软件来取代实验室中黑客文化的产物—可自由流通的软件。stallman对此感到气愤与无奈,对symbolic进行了一段时间的抗争。后于1983年9月27日发出最初的声明,1984年开始构建GUN工程

    1985年发表了著名的GUN宣言,正式宣布要开始进行一项宏伟的计划,创造一套完全自由的向下兼容unix的GUN操作系统

    1989年,他与一群律师起草了广为使用的GUN通用公共协议证书,创造了“copylift”的概念。同时,GUN计划中除了最关键的Hurd内核之外,其他绝大多数软件已经完成。


Minix


    因为AT&T的政策改变,在Version 7 Unix推出之后,发布新的使用许可协议,将UNIX源代码私有化,在大学中不再能使用UNIX源代码。荷兰阿姆斯特丹自由大学计算机科学系的教授,塔能鲍姆为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议。他以小型UNIX(mini-UNIX)之意,将它称为MINIX。当时,MINIX不允许被用作任何商业使用。

Linux

    1991年,Linus Torvalds在赫尔辛基大学上学时,对操作系统很好奇。他对MINIX只允许在教育上使用很不满。于是他便开始在MINIX上开发Linux内核,为MINIX写的软件也可以在Linux内核上使用。后来使用GUN软件代替MINIX的软件,因为使用从GUN系统来的源代码可以自由使用,这对Linux的发展是有益的。为了让Linux可以在商业上使用,林纳斯·托瓦兹决定更改他原来的协议(这个协议会限制商业使用),以GNU GPL协议来代替。之后许多开发者致力融合GNU元素到Linux中,做出一个有完整功能的、自由的操作系统。


    

 

原创文章,作者:M21-陕西-李贤,如若转载,请注明出处:http://www.178linux.com/50943

(0)
上一篇 2016-10-14 11:41
下一篇 2016-10-14 11:42

相关推荐

  • 运维架构之httpd

    Web Service 传输层:提供进程地址 Port number tcp:传输控制协议,面向连接,通信前需建立虚拟链路,结束后拆除;0-65535 udp:用户数据报协议,无连接;0-65535 IANA 0-1023:众所周知,永久分配给固定应用使用;22/tcp(ssh)、80/tcp(http)、443/tcp(https) 1024-41951:…

    系统运维 2018-06-04
  • tab键 history 命令的相关巧用

    Tab键的妙用       1.command没有完全输入时: 点击tab,如果能唯一匹配到命令,则直接补全,否则需要点击两下tab来显示能够匹配到的命令。                2./2tab : 显…

    2017-02-18
  • 第二周:文件管理练习

    1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 目录管理管理类命令 mkdir make directories mkdir [OPTION]… DIRECTORY… 注意:路径基名作为命令的作用对象时,基名之前的路径必须要存在;     -p:自动按需创建父目录…

    Linux干货 2016-09-23
  • 实验:路由、bonding、team

    实验:路由实验 路由表构成目标网络:网络ID 子网掩码接口:到达目标网络,从哪个接口出来,此接口网关:gateway,下一个邻近路由器的邻近接口的IP地址,如果目标网络和本路由器直接,网关的地址为接口的IP centos6 关闭NetworkManager服务chkconfig NetworkManagerservice NetworkManager sto…

    Linux干货 2017-05-06
  • 程序包管理之YUM解析

    前言:    yum是rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,如果直接使用rpm直接安装程序包也可以,但是需要自己手工解决程序包依赖性的问题,可能程序包的依赖性非常复杂,那么直接使用rpm安庄,就会非常麻烦,而使用YUM安装就会自动解决依赖性的问题。大大简化了安装过程。  YUM客户端配置文件: …

    Linux干货 2016-08-24
  • Linux文本处理三剑客之grep

    一、grep命令 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行。 模式:由正则表达式字符及文本字符所编写的过滤条件 二、grep命令格式 grep [OPT…

    Linux干货 2016-08-15