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)
M21-陕西-李贤M21-陕西-李贤
上一篇 2016-10-14 11:41
下一篇 2016-10-14 11:42

相关推荐

  • 行编辑器sed

    行编辑器sed   Sed,grep,awk命令被称为文本编辑三剑客,目前学习了grep命令,sed命令 自我觉得sed命令更强大,排名第一,grep暂居第二,awk没学不太清楚。   这次的博客写一下刚学习的sed命令,grep命令是全局搜索剪切,sed命令则是逐行进行处理,它一次处理一行内容。Sed命令有两个空间,…

    2017-08-26
  • 马哥教育网络21期+第二周练习博客

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 常用文件管理类命令有cp、mv、rm。 # cp命令:文件复制命令     cp [OPTION]… [-T] SOURCE DEST 单文件复制     cp [OPTION]… SOURC…

    Linux干货 2016-07-26
  • LVM相关使用

    前言: LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分…

    Linux干货 2017-08-13
  • openssl建立私有CA和申请证书

    实验环境: 虚拟机:VMware® Workstation 12 Pro 主机A:ip为10.1.255.55/16,创建CA并给其他主机提供CA服务 主机B:为httpd服务器,ip为10.1.249.115/16 1、查看openssl的配置文件/etc/pki/tls/openssl.cnf [root@localhost…

    Linux干货 2016-09-23
  • 内核及模块管理

    内核及模块管理基础 查询程序的依赖库 ldd命令ldd [OPTION]…FILE…     [root@centos6 ~]# ldd /bin/ls         linux-vd…

    Linux干货 2016-09-19
  • LINUX课堂笔记(第二周)

    2018.03.12 rpm httpd*** service httpd start ab 模仿用户访问 cat /var/log/httpd/access_log curl 访问web服务 rev 字符颠倒显示 sort  -r 执行反方向(由上至下)整理  -R 随机排序  -n 执行按数字大小整理  -f 选项忽略(fold)字符串中的字符大…

    Linux干货 2018-03-17