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. c/s 自动升级(WebService)

    首先声明,本人文笔不好,大家见笑,欢迎高手吐槽. 做c/s开发肯定会遇到的就是自动升级功能,而这实现方式是非常多. 本文使用 webservice的方式来提供升级服务 首先准备服务 为了方便我们专门用 ...

  2. T4模板——一个神奇的代码生成器

    利用T4模板,可以很方便的从数据库映射成Model模型,相当于动软等功效.但动软是可以直接生成三层,抽象工厂的,T4没那么牛叉,所以我们一般只用作生成Modle或者Server等指定方法了. 废话少说 ...

  3. 39-tar 打包压缩

    将文件存储到归档文件中或者从归档文件中获取原始文件,以及为文件创建归档文件 tar [option] [modifiers] [file-list] 参数 file-list是tar进行归档和提取的文 ...

  4. C# Task 用法

    C# Task 的用法 其实Task跟线程池ThreadPool的功能类似,不过写起来更为简单,直观.代码更简洁了,使用Task来进行操作.可以跟线程一样可以轻松的对执行的方法进行控制. 顺便提一下, ...

  5. linux 常用命令总结

    PS命令: 1.命令格式: ps[参数] 2.命令功能: 用来显示当前进程的状态 3.命令参数: a  显示所有进程 -a 显示同一终端下的所有程序 -A 显示所有进程 c  显示进程的真实名称 -N ...

  6. navicat cannot create file 文件名、目录名或卷标语法不正确 解决方法

    配置了mycat,用navicat连接8066端口,点击“查询”的时候发现出现报错: 开始以为是mycat的配置有问题,找了好久都没发现错误.根据提示信息进入到相应的目录发现每个连接其实就是一个win ...

  7. [Elasticsearch] 全文搜索 (一) 基础概念和match查询

    全文搜索(Full Text Search) 现在我们已经讨论了搜索结构化数据的一些简单用例,是时候开始探索全文搜索了 - 如何在全文字段中搜索来找到最相关的文档. 对于全文搜索而言,最重要的两个方面 ...

  8. [转]十步完全理解SQL

    原文地址:http://blog.jobbole.com/55086/ 很多程序员视 SQL 为洪水猛兽.SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言.面向对象的程 ...

  9. oracle修改表字段

    --添加字段 )); -- 修改字段的长度- ));

  10. 学习Spring(一) 实例化Spring IoC容器

    实例化Spring IoC容器 1,读取其配置来创建bean实例 2,然后从Spring IoC容器中得到可用的bean实例 Spring提供两种IoC容器实现类型 a,一种为bean工厂 b,应用程 ...