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 11:40
下一篇 2016-10-14 11:41

相关推荐

  • 【福利贴-招聘】- 高级运维工程师

    职位描述 岗位描述:1、负责业务应用系统的审核、部署、发布、监控、维护和优化;2、负责突发事件管理,问题跟踪与管理,保障系统24×7稳定运行;3、负责应用系统的性能分析与系统优化,不断提高系统运行效率;4、协调开发部门,配置管理,基础运维,更好提供服务。 职位要求:1、专科及以上学历,计算机或相关专业;2、能够独立安装配置及维护linux平台的各种服务,dh…

    Linux干货 2015-03-20
  • FHS文件系统各目录及功能

    FHS即:filesystem hierarchy standard 的缩写,意思是文件系统目录标准,Linux系统采用这种文件组织形式,这是一种树形结构组织文件。如下图, /bin : 此文件用于放置二进制执行文件。 在/bin底下的指令可以被root与一般账号所使用,主要有:cat, chmod, chown, date, mv, mkdir,…

    Linux干货 2016-10-17
  • Linux 文本查看及处理工具&&用户和组管理

    1、列出当前系统上所有已登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d ' ' -f 1 | sort -u 2、取出最后登入到当前系统的相关信息。 ~]# last&…

    Linux干货 2016-10-05
  • 认识shell

    一、认识shell 什么是shell?shell为单词外壳的意思。那么这是谁的外壳?我们知道一个系统中实际工作的是那些硬件,cpu、内存、磁盘等。我们如何调用这些硬件为我们工作?实际上,硬件是由内核kernel控制的。我们可以通过kernel控制硬件,但我们不能直接和内核kernel交流。我们需要一个外壳,这个外壳就是shell来沟通kernel。何为she…

    Linux干货 2015-09-22
  • vim用法小结

    vim使用: 使用vi和vim的三种主要模式 : 命令模式,插入模式,扩展模式    扩展模式: w:写入磁盘文件 wq:写入并退出 x:写入并退出 q:退出 q!不存盘退出,即使更改都将丢失 r filename:读文件内容到当前文件中 w filenane: 将当前文件内容写入到另一个…

    Linux干货 2016-08-12
  • 马哥教育网络班22期+第12周课程练习

    1、请描述一次完整的http请求处理过程; 1. 建立或处理连接:接收请求或拒绝请求; 2. 接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程; 3. 处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息; 4. 访问资源:获取请求报文中请求的资源; 5. 构建响应报文…

    Linux干货 2016-11-28