1984年,面对美国电话电报公司启动的UNIX商业化计划和程序开发的封闭模式,麻省理工学院的RichardM.Stallman发起了一项国际性的源代码开放的GNU(GNU’s Not Unix)计划,力图完成一个名为GNU的“Free UNIX”,重返20世纪70年代利用基于开放源码从事创作的美好时光。为了保证程序源码不会再受到商业性的封闭式利用,Stallman制定了一项GNU通用公共许可证(General Public License,GPL)条款,称其为Copyleft的版权模式。
到20世纪90年代初,GNU计划已经完成质量和数量都十分可观的系统工具。这些工具广泛应用在当时各种工作站的UNIX系统上。但这时的GNU还不是完整的操作系统,缺少一个属于自己的系统内核。Linux正好填补了GNU计划中内核空缺,并随着GNU计划快速发展起来。Linux是一套版权彻底与UNIX无关的类UNIX系统。它的发展与Minix(mini-UNIX)密切相关。Minix是1987年荷兰计算机科学家AndrewS.Tanenbaum专门为入门者学习操作系统而写的一个简化的类UNIX系统。1991年,芬兰赫尔辛基大学计算机科学系二年级学生Linus Torvalds在使用Minix时,不满其提供的功能,于是决定编写一个自己的Minix内核,最初命名为“Linus' Minix”,后来改名为Linux。1991年10月,LinusTorvalds第一次把Linux 0.02放在互联网上。这是一个偶然事件,但很快就被GNU计划的追随者们看中,“加工”成了一个功能完备的操作系统。所以,Linux确切的叫法应该是GNU/Linux。1994年,Linux发布标志性的1.0版本。

1995年1月,Bob Young创办了RedHat(红帽公司),以Linux为核心,集成了400多个源代码开放的程序模块,冠以RedHat Linux品牌在市场上出售。这种称为Linux“发行版”的经营模式是一种创举。

其实,Linux发行商并不拥有自己的“版权专有”技术,但他们给用户提供技术支持和服务。他们经营的是“方便”而不是自己的“专有技术”。Linux发行商的经营活动是Linux在世界范围内传播的主要途径之一,各品牌的Linux发行版的出现,极大地推动了Linux的普及和应用。

1998年2月,以Eric Raymond为首的一批开源人员认识到GNU/Linux体系产业化道路的本质是由市场竞争驱动的,于是创办了开放源代码促进会(OpenSource Initiative),在互联网世界展开了一场历史性的Linux产业化运动。在以IBM、英特尔、惠普和诺威尔等为首的一大批国际性重型信息技术企业对Linux产品及其经营模式进行投资并提供全球性技术支持下,催生了一个正在兴起的基于源代码开放模式的Linux产业。

Linux最初是为Intel 80386体系结构开发的,但由于其超强的可移植性,很多厂商开始基于Linux来支持自己的平台。目前,Linux可以支持Intel 80x86、SPARC、MIPS、Alpha、PowerPC、ARM及IA64等多种平台。可以说Linux是目前运行硬件平台最多的操作系统,可以运行在个人计算机、服务器、中型机、大型机和超级计算机上,几乎涵盖了所有的计算机平台。

由此可以看出,Linux的诞生具有偶然性,但又具有必然性。由于UNIX的商业化,1992年美国电话电报公司的UNIX系统实验室起诉BSD侵犯了其UNIX系统的知识产权,BSD的发展因此受到严重阻碍,为Linux的诞生和发展提供了机遇。同样,Linux的快速发展也具有偶然性和必然性。1991~1993年Linux刚起步时,适逢POSIX标准的制定处于最后定稿时期,所以POSIX标准为Linux提供了极为重要的信息,使得Linux能够与绝大多数UNIX系统兼容,便于应用的迁移。微软在操作系统,特别是桌面领域形成的垄断地位和强硬营销策略,使得世界很多国家政府以及各大软硬件厂商为打破垄断而大力支持Linux的发展。

目前,各大主流硬件厂商包括IBM、英特尔、惠普、Sun和戴尔等公司都已成为Linux的支持者。而基于Linux的各类商用软件也已经就绪,中间件领域有IBM的WebSphere、甲骨文的Oracle10g、BEA的WebLogic和Sun公司的N1等。数据库领域有IBM的DB2、甲骨的Oracle Database 10g、Sybase的ASE36等,可以说,除微软SQL Server外,几乎所有主流数据库都对Linux提供了良好的支持。在信息技术管理领域的厂商冠群、惠普和BMC等,在应用领域的SAP、甲骨文、PeopleSoft等著名应用软件厂商都把Linux纳入其产品发展路线图中,为用户提供全线解决方案。

Linux能得到如此大的发展,受到各方面的如此青睐,是由它的特点决定的。

1.Linux是免费的,而且源代码的开放。

2.Linux可以长期连续运行而无需重启,具有出色的稳定性。

3.Linux支持多种硬件平台。Linux能在笔记本、PC机、工作站,甚至大型机上运行,并能在多种处理器上运行。

4. 友好的用户界面。Linux提供了类似Windows图形界面的X-Windows系统,用户可以使用鼠标很方便快捷地进行操作。

5.Linux具有强大的网络功能。网络是Linux的生命,完善的网络支持是Linux与生俱来的能力,所以Linux在通信和网络功能方面优于其他操作系统。Linux支持所有通用的网络协议,它既可以作为一个客户端操作系统,也可以作为服务器操作系统。

6.Linux是多用户、多任务的操作系统,可以支持多个使用者同时使用并共享系统的磁盘、外设和处理器等系统资源。Linux的保护机制使每个应用程序和用户互不干扰,一个任务崩溃,其他任务仍然照常运行。

7.Linux应用程序众多,而且大部分是免费软件。硬件支持广泛,程序兼容性好。由于Linux是支持POSIX标准,因此大多数UNIX用户程序也可以在Linux下运行。另外,为了使qkxue.net/UNIX System V和BSD上的程序能直接在Linux上运行,Linux还增加了部分UNIXSystem V和BSD的系统接口,使Linux成为一个完善的UNIX程序开发系统。Linux也符合X/Open标准,具有完全自由的X-Windows实现。现有的大部分基于X的程序不需要任何修改就能在Linux上运行。Linux的DOS“仿真器”DOSEMU可以运行大多数MS-DOS应用程序。Windows程序也能在被称为WINE的Linux的Windows“仿真器”的帮助下,在X-Windows的内部运行。Linux的高速缓存能力,使Windows程序的运行速度得到很大提高。

目前,在网站服务器、嵌入式系统、超级计算机中常用Linux作为其操作系统。在智能手机中,基于Linux内核开发而成的Android系统已经成为与iOS、Symbian OS、Windows Mobile系统并列的操作系统。Linux操作系统的应用范围越来越广泛。

Linux发展简表[1]

1. 1991年 Linux开始于Linus Torvalds在Usenet上的一个帖子,说它只是一个爱好。

2. 1992年 Linux发布第一个GPL版本,最初是依据一些商业限制进行许可。

3. 1993年 在Linux根据GPL许可证发布后,第一批发行版出现:Slackware和Debian。当时Linux上有100位开发者。

4. 1994年 Linux发布1.0版本,唯一支持的机器是单处理器的i386计算机。

5. 1995年 Linux发布1.2版本,得到了更多外部对内核的贡献。

6. 1996年 被网友说是在抠脚的吉祥物Tux发布。

7. 1999年 Linux发布2.2版本,Linus Tovalds将Linux的维护工作移交给Alan Cox。

8. 2001年 1128.www.qixoo.qixo.com/Linux发布2.4版本,IBM承诺在Linux上花费10亿美元,新的maintainer Marcelo Tosatti。

9. 2002年 Linux开发从补丁和邮件形式转变为源代码控制管理。

10. 2003年 Linux发布2.6版本,SCO Group向IBM提起诉讼

11. 2004年 Linux商业化增强,公司打算定期发布。

12. 2005年 Linux有一些许可问题,所以Linus写了Git,并将Linux内核移至Git开发。

13. 2006年 由Greg Kroah-Hartman领导的第一个LTS(长期支持)版Linux发行。

14. 2009年 RedHat的市值基本等同于Sun Microsystems的市值,Sun Microsystems是当时最大的商业Unix制造商。

15. 2011年 Linux3.0发布,Linus Torvalds说“没有改变”。

16. 2012年 Linux服务器销售额收入等于其他Unix市场的总和。

17. 2015年 Linux4.0发布:live patching(热补丁、实时补丁)。

18. 2016年 Linux4.8发布。

Linux操作系统发展史的更多相关文章

  1. 了解Linux操作系统发展阶段

    一.硬件与软件发展历史 计算机由硬件和软件组成结构 二.Linux的发展史 Linux 操作系统是Unix操作系统的一种克隆系统.它诞生于1991年的10月5日(只是第一次正式向外公布的时间).以后借 ...

  2. Linux的发展史和centos7的安装

        目 录 第1章 Linux系统介绍与环境搭建准备UNIX操作系统    1 1.1 Unix的发展    1 1.2 MINIX的发展    1 1.3 GUN    1 1.4 Linux的 ...

  3. (day28)操作系统发展史+进程

    目录 一.操作系统发展史 (一)穿孔卡片(手工操作) (二)批处理系统(磁带存储) 1. 联机批处理系统 2. 脱机批处理系统 (三)多道技术 二.进程 (一)程序和进程 (二)进程调度 1. 先来先 ...

  4. Python并发编程01 /操作系统发展史、多进程理论

    Python并发编程01 /操作系统发展史.多进程理论 目录 Python并发编程01 /操作系统发展史.多进程理论 1. 操作系统 2. 进程理论 1. 操作系统 定义:管理控制协调计算机中硬件与软 ...

  5. Linux操作系统相关资料

    玩转Linux操作系统 操作系统发展史 只有硬件没有软件的计算机系统被称之为"裸机",我们很难用"裸机"来完成计算机日常的工作(如存储和运算),所以必须用特定的 ...

  6. UDP代码编写、操作系统发展史、多道技术、进程理论与代码层面创建、进程join方法与进程对象方法

    昨日内容回顾 socket基本使用 # 内置的模块 import socket s = socket.socket() # 默认是TCP协议 也可以切换为UDP协议 s.bind((ip,port)) ...

  7. 操作系统发展史 & 进程

    今日内容 UDP协议 操作系统发展史 进程 单核情况下的进程调度 进程三状态图 同步异步 阻塞非阻塞 内容详细 一.UDP协议 1.什么是UDP协议 UDP是传输层的协议,功能即为在IP的数据报服务之 ...

  8. Linux操作系统备份之三:通过二进制拷贝(dd)方式实现Linux操作系统数据的备份

    前面有两篇文章,<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>和<Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份& ...

  9. Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份

    http://www.tektea.com/archives/2163.html. 在<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>文章中,我们介绍了使 ...

随机推荐

  1. WPF 异步加载高清大图

    不管什么东西,但凡太大了,总是让人又爱又恨啊!(很有道理的样子,大家鼓掌└( ̄  ̄└)(┘ ̄  ̄)┘) 猿:老板,现在这社会啊,真是浮躁啊,之前还是什么1080P,然后就到了2K,现在又到了4K……他 ...

  2. 完全开源Android网络框架 — 基于JAVA原生的HTTP框架

    HttpNet网络请求框架基于HttpUrlConnection,采用Client + Request + Call的请求模型,支持https默认证书,数字安全证书.支持http代理!后续将会实现队列 ...

  3. Android Studio代码混淆插件

    之前给公司的App添加代码混淆,在代码的混淆过程也遇到了不少的问题,再加上最近学习了一下Android Studio插件的开发,所以就开发一个代码混淆插件方便项目的代码混淆. 截图 第三方库列表清单 ...

  4. 20160223 - Windows 10 的文件资源管理器下出现重复文件夹的解决办法

    现象: 安装 OneDrive 从 Windows 7.8.8.1 升级来的 Windows 10 的电脑,可能会出现文件资源管理器左侧面板中出现重复的文件夹. 通常有:视频.图片.文档.下载.音频. ...

  5. Python3.5 + django1.8.5 安装”import pymysql pymysql.install_as_MySQLdb()”的解决方法

    最近在学习Python,打算先看两个在线教程,再在github上找几个开源的项目练习一下,在学到"被解放的姜戈"时遇到django同步数据库时无法执行的错误,记录一下. 错误现象: ...

  6. 通过UserAgent判断设备为Android、Ios、Pc访问

    public static bool CheckAgent() { bool flag = false; string agent = HttpContext.Current.Request.User ...

  7. doc2vec使用说明(一)gensim工具包TaggedLineDocument

    gensim 是处理文本的很强大的工具包,基于python环境下: 1.gensim可以做什么? 它可以完成的任务,参加gensim 主页API中给出的介绍,链接如下: http://radimreh ...

  8. 42-stat 显示文件的信息

    显示文件的信息 stat [options] [file-list] 参数 file-list指定stat所显示的一个或多个文件的路径名 选项 -f                     显示文件系 ...

  9. java中的集合和数组

    数组Array和集合的区别: (1)数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) (2)JAVA集合可以存储和操作数目不固定的一组数据. (3)若程序时不知道究竟需要多 ...

  10. [转]JAVA设计模式之单例模式

    原文地址:http://blog.csdn.net/jason0539/article/details/23297037 概念: java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主 ...