Linux发展史

适用对象:本文适合希望开始学习以及想了解Linux的朋友阅读。本文中所有内容仅供参考,不作为科学依据。

一、      Linux的起源

最初的计算机其实是具有单一功能的大型计算器,只能完成指定或者设定好的工作。多数情况下计算机资源是处于空闲状态的,为了不使资源浪费,就需要使计算机能够或者可以进行多种工作。或者能够让多个用户同时进行操作。因此就需要一种程序能够让多个用户操作同一台计算机或者在同一计算机上运行多个任务,这种程序就被称为分时多任务操作系统。20世纪60年代末由贝尔实验室、麻省理工学院、通用电气公司发起分时多任务操作系统的研究开发工作,该系统被称为Multics。由于历时3年未出现明显成果,该项目最终被解散。

1969年的时候,AT&T下属的贝尔实验室中研究员Ken Thompson为了能够在已被废弃的PDP-7机器上运行自己的小游戏,为PDP-7编写了一套平台,并被命名为UNICS。

早期的UNIX是由汇编语言编写,向其它的机器上移植很困难。1971年Dennis Ritchie开发出能在不同平台上使用的编程语言C语言。1973年Thmpson和Ritchie成功地用C语言重写了整个Unics,并命名为UNIX。

1974年UNIX被发布在《美国计算机通信杂志上》,得到全世界计算机爱好者的关注。

1975年,AT&T被反垄断组织调查,UNIX被免费提供给其他组织或机构进行研究学习,掀起了UNIX发展的高潮。

1975年-1976年期间Thmpson到伯克利大学任教,伯克利大学在此期间并启动了自己的UNIX项目即BSD项目,该项目由Thmpson的学生Bill Joy管理。同时,在其他机构中其他基于UNIX的衍生版本也层出不穷。

1983年AT&T在反垄断官司中败诉,其公司被分拆成,贝尔实验室借此摆脱不允许商业化经营Unix的限制,开始向此前研究使用Unix的机构收费,并与BSD陷入长达十年的版权之争。与此同时,微软公司的MS-DOS系统大肆发展,占据计算机操作系统的大部分市场。

1984年,Richard Stallman发表了GNU宣言(the GNU manifesto) [Stallman],目的是开放一个自由、开源的UNIX(Free UNIX),并发起了自由软件基金会(Free Software Foundation)。由于工程量十分浩大,Stallman决定先编写应用程序,如GCC,Emacs等出现。同时,大量的软件开发人员及组织纷纷加入GUN组织。例如:X-Window。

1987年,荷兰阿姆斯特丹大学的Tanenbaum教授为了使学生更好的学习操作系统原理,编写了Minux。到1991年的时候版本已经发展到1.5版本。

1991年芬兰赫尔辛基大学的学生Linus Torvalds在学习Minux的过程中逐渐觉得Minux系统有很多的限制。为了学习Intel 386 体系结构保护模式运行方式下的编程技术,他通过修改终端仿真程序和硬件驱动程序,开始编制起自己的操作系统。并于1991年10月将自己的Linux内核(Linux  v0.01)发布至论坛上。由此,Linux开始进入发展时期。

二、      Linux的发展

最初,Linux只能运行在Intel 386机器上,后经过全世界程序员的参与修改,其可移植性大大提高。1995年的时候,Linux已经可以在Intel、Digital 以及Sun SPARC处理器上运行。

1995年,Apache服务程序的出现了。Apache是开源程序,遵循GPL协议。Linux也遵循GPL协议,两者的结合,更是推动了Linux在服务器领域的发展速度。

1996年,Linux2.0内核发布,并支持多处理器。全球大约350万人在使用Linux,Linux进入实用期。

1997年,电影《泰坦尼克号》上映。在为其制作特效中使用的160台Alpha图形工作站中,有105台采用了Linux操作系统。

1998年,RedHat成立。IBM发布了适用于Linux的文件系统AFS 3.5以及Jikes Java 编辑器和Secure Mailer及DB2测试版。SUN也逐渐开放 了Java协议,并且在UltraSparc上支持Linux操作系统。

1999年,IBM与RedHat达成伙伴,以确保Redhat在IBM机器上正确运行。Oracle、Sun等大批公司投入力量支持Linux,并开发出自己的Linux系统。随着其他机构和个人的进入,基于Linux的各种衍生版层出不穷。

         经过十几年的发展,Linux得到了IBM、HP、Novell、Oracle等诸多厂商的支持,占据了服务器操作系统领域百分之八十以上的市场。

原创文章,作者:jacklei,如若转载,请注明出处:http://www.178linux.com/51035

(0)
jackleijacklei
上一篇 2016-10-14
下一篇 2016-10-14

相关推荐

  • Linux Bash Shell有关变量

    bash 创建一个子bash-n 查看是否有错误-x 逐行显示信息$:显示当前PIDPPID :显示父进程PIDSHLVL :显示当前shell是几级shellpstree 显示进程树-p 同时显示进程号ps -ef 显示进程信息 本地变量 :仅对当前SHELL有效,对子SHELL也无效环境变量:对当前SHELL及子SHELL均有效。 set 显示本地变量和…

    2017-09-16
  • Tomcat

    简介 Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTT…

    2017-05-25
  • 硬链接与软链接的联系与区别

    硬链接与软链接的联系与区别     文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。元数据中的inode才是…

    Linux干货 2016-10-20
  • Linux基础知识之文本处理三剑客sed

    处理文本的工具sed     1.sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”。接着用sed命令处理缓冲区中的内容,完成处理后,把缓冲区中的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。sed主要用来自动编…

    Linux干货 2016-08-11
  • 文本处理三剑客之 Sed

         Sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自…

    2017-08-26
  • find命令总结

    用途:     find命令用来在文件层级结构中搜索跟条件匹配的文件 语法:     find [OPTIONS] [查找起始路径] [查找条件] [处理动作]     查找起始路径:指定具体搜索起始路径。默认为当前目录  &nb…

    Linux干货 2016-09-19