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

相关推荐

  • Tomcat及Tomcat集群

    Tomcat集群实现的三种方式 配置 Tomcat1 配置环境 ip a add 192.168.88.101/24 dev ens33 yum install ntpdate -y ntpdate 172.16.0.1 安装java yum install java-1.8.0-openjdk-devel -y 安装tomcat yum install t…

    Linux干货 2017-07-08
  • linux进程管理及计划任务

    进程管理: 什么是进程?   在Linux系统当中:触法任何一个事件时,系统都会将它定义成为一个进程,并且给予这个进程一个ID,称为PID,同时依据触发这个进程的用户与相关属性关系,给予这个PID一组有效的权限设置。 进程与程序: 程序(program):通常为二进制程序放置在存储媒介中,以物理文件的形式存在。 进程(process):程序被触发后…

    Linux干货 2016-09-13
  • shell脚本基础

    shell脚本基础 基本介绍 Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高。换一种说法也就是,shell script是利用shell的功能所写的一个程序,这个程序是使用…

    2017-07-01
  • 网络N23期第二周心得

    1. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp 文件复制        常用选项:            -i:交互式            -r, -R: 递归…

    Linux干货 2016-12-05
  • 三种方案实现tomcat反代服务

    要求: 分别实现这三种架构:    1、nginx + tomcat cluster    2、httpd(proxy_http_module)+tomcat cluster    3、httpd(proxy_ajp_module)+tomcat cluster;   &nbsp…

    2017-07-03
  • lvs的基本概念及基础配置

    一、知识整理 1、Session:在计算机中,尤其是在网络应用中,称为“会话控制、时域”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将…

    Linux干货 2016-11-11