Linux发展史

Linux发展史

操作系统出现前:

  1946年第一台计算机诞生–20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式。程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。

   手工操作方式两个特点:

 (1)用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低。

 (2CPU 等待手工操作。CPU的利用不充分。

  20世纪50年代后期,出现人机矛盾:手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率(使资源利用率降为百分之几,甚至更低),不能容忍。唯一的解决办法:只有摆脱人的手工操作,实现作业的自动过渡。

Multics的出现:

1965年时,贝尔实验室(Bell Labs)加入一项由通用电气(General Electric)和麻省理工学院(MIT)合作的项目;该项目要建立一套多使用者、多任务、多层次(multi-usermulti-taskmulti-level)的MULTICS操作系统。直到1969年,因MULTICS项目的工作进度太慢,该项目就被停了下来。

UNIX的出现:

    Multics项目中止后,AT&T贝尔电话实验室中参加开发的主要人员开始寻找其他有趣的项目。这其中,KenThompson写了一个名叫 “太空漫游”的游戏程序。他找到了一台基本无人使用的DEC PDP-7计算机运行他的程序。然而由于DEC PDP-7缺少程序开发程序,以致于Thompson不得不在另一台运行GECOS操作系统的Honeywell635上交叉汇编子他的程序,然后再通过 纸带加载到DEC PDP-7上。

为了方便太空漫游的开发,ThompsonDennis Ritchie一起着手开发DEC PDP-7上的操作环境:

1.一个简单的文件系统,它后来深化成称之为System V文件系统的早期版;

2.一个进程子系统和shell(命令解释器)。

这样这个系统就足以满足他们的需要,他们将这个操作环境命名为UNIXThompsonRitchie后来开发了B语言(后来Ritchie又将其发展为C语言),并扩展了UNIX系统,

UNIX系统便在AT&T贝尔电话实验室流行起来。197311月,他们用C语言彻底重写,这是UNIX操作系统迈向成功之路的关键一步。

MINUX

   1982年后,由于UNIX的商业化进程,导致了该系统的发展受到了很多限制,很多大学无法免费使用,在荷兰Amsterdam Vrije 大学数学与计算机科学系统工作的Andrew S. Tanenbaum为了教学的需要自己写了一个精简的操作系统MINUX。但是为了教学,让学生能够在一个学期内就能完成学习,他拒绝了来自全世界的许多人对MINUX的发展要求。

GNU计划:

    软件产业在70年代成就了两位针锋相对的领袖人物,来自哈佛大学的比尔·盖茨和Richard M.Stallman。前者宣布了Copyright(版权)时代的到来,并构建了微软帝国的辉煌;后者于1984年创立自由软件体系GNU,拟定普遍公用版权协议(GeneralPublicLicense,简称GPL),今天Linux的成功就得益于GPL协议。

    所有GPL协议下的自由软件都遵循着Richard M. Stallman"Copyleft"(非版权)原则:即自由软件允许用户自由拷贝、修改和销售,但是对其源代码的任何修改都必须向所有用户公开。

    GNU 计划和自由软件基金会FSF(the Free Software Foundation)是由Richard M. Stallman 1984 年一手创办的。旨在开发一个类似UNIX 并且是自由软件的完整操作系统:GNU 系统(GNU "GNU's Not Unix"的递归缩写,它的发音为"guh-NEW")。

    各种使用Linux 作为核心的GNU 操作系统正在被广泛的使用。虽然这些系统通常被称作"Linux",但是Stallman 认为,严格地说,它们应该被称为GNU/Linux系统。

    到上世纪90 年代初,GNU 项目已经开发出许多高质量的免费软件,其中包括有名的emacs 编辑系统、bash shell 程序、gcc 系列编译程序、gdb 调试程序等等。这些软件为Linux 操作系统的开发创造了一个合适的环境。这是Linux 能够诞生的基础之一,以至于目前许多人都将Linux 操作系统称为“GNU/Linux”操作系统。

POSIX标准:

    POSIXPortable Operating System Interface for Computing Systems)是由IEEE ISO/IEC 开发的一簇标准。该标准是基于现有的UNIX 实践和经验,描述了操作系统的调用服务接口。用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植和运行。它是在1980 年早期一个UNIX 用户组(usr/group)的早期工作基础上取得的。该UNIX 用户组原来试图将AT&T System V 操作系统和BerkeleyCSRG BSD 操作系统的调用接口之间的区别重新调和集成。并于1984 年定制出了/usr/group 标准。

90 年代初,POSIX 标准的制定正处在最后投票敲定的时候,那是1991-1993 年间。此时正是Linux刚刚起步的时候,这个UNIX 标准为Linux 提供了极为重要的信息,使得Linux 能够在标准的指导下进行开发,并能够与绝大多数UNIX 操作系统兼容。在最初的Linux 内核源代码中(0.01 版、0.11 版)就已经为Linux 系统与POSIX 标准的兼容做好了准备工作。在Linux 0.01 版内核的/include/unistd.h 文件中就已经定义了几个有关POSXI 标准要求的符号常数,而且Linus 在注释中已写道:“OK,这也许是个玩笑,但我正在着手研究它呢”。

Linux的出现:

在1991年的八月,网络上出现了一篇以此为开篇话语的帖子——这是一个芬兰的名为Linus Torvalds的大学生为自己开始写作一个类似minix,可运行在386上的操作系统寻找志同道合的合作伙伴。

1991年10月5日,Linus Torvalds在新闻组comp.os.minix发布了大约有一万行代码的Linux v0.01版本。

到了1992年,大约有1000人在使用Linux,值得一提的是,他们基本上都属于真正意义上的hacker。

1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99的代码有大约有十万行,用户大约有10万左右。

1994 年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。至此, Linux的代码开发进入良性循环。很多系统管理员开始在自己的操作系统环境中尝试linux,并将修改的代码提交给核心小组。由于拥有了丰富的操作系统平台,因而 Linux的代码中也充实了对不同硬件系统的支持,大大的提高了跨平台移植性。

1995年,此时的Linux 可在Intel、Digital 以及Sun SPARC处理器上运行了,用户量也超过了50万,相关介绍Linux的Linux Journal杂志也发行了超过10万册之多。

1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用。

1997年夏,大片《泰坦尼克号》在制作特效中使用的160台Alpha图形工作站中,有105台采用了Linux操作系统。

1998 年是Linux迅猛发展的一年。1月,小红帽高级研发实验室成立,同年RedHat 5.0获得了InfoWorld的操作系统奖项。4月Mozilla 代码发布,成为linux图形界面上的王牌浏览器。Redhat 宣布商业支持计划,网络了多名优秀技术人员开始商业运作。王牌搜索引擎"Google"现身,采用的也是Linux服务器。值得一提的是, Oracle 和Informix 两家数据库厂商明确表示不支持Linux,这个决定给予了Mysql数据库充分的发展机会。同年10月,Intel和Netscape宣布小额投资红帽软件,这被业界视作Linux获得商业认同的信号。同月,微软在法国发布了反Linux公开信,这表明微软公司开始将Linux视作了一个对手来对待。十二月,IBM发布了适用于Linux的文件系统AFS 3.5以及Jikes Java 编辑器和Secure Mailer及DB2测试版,IBM的此番行为,可以看作是与Linux羞答答地第一次亲密接触。迫于Windows和Linux的压力,Sun逐渐开放了Java协议,并且在UltraSparc上支持Linux操作系统。1998年可说是Linux与商业接触的一年。

1999 年,IBM宣布与Redhat公司建立伙伴关系,以确保Redhat在IBM机器上正确运行。三月,第一届 LinuxWorld 大会的召开,象征Linux时代的来临。IBM、Compaq和Novell宣布投资Redhat公司,以前一直对Linux持否定态度的Oracle公司也宣布投资。五月,SGI公司宣布向Linux移植其先进的XFS文件系统。对于服务器来说,高效可靠的文件系统是不可或缺的,SGI的慷慨移植再一次帮助了Linux确立在服务器市场的专业性。7月IBM启动对Linux的支持服务和发布了Linux DB2,从此结束了Linux得不到支持服务的历史,这可以视作Linux真正成为服务器操作系统一员的重要里程碑。

2000年初始,Sun公司在Linux的压力下宣布Solaris8降低售价。事实上Linux对Sun造成的冲击远比对 Windows来得更大。 2月Red Hat发布了嵌入式Linux的开发环境,Linux在嵌入式行业的潜力逐渐被发掘出来。在4月,拓林思公司宣布了推出中国首家Linux工程师认证考试,从此使Linux操作系统管理员的水准可以得到权威机构的资格认证,此举大大增加了国内Linux爱好者学习的热情。伴随着国际上的Linux热潮,国内的联想和联邦推出了"幸福Linux家用版",同年7月中科院与新华科技合作发展红旗Linux, 此举让更多的国内个人用户认识到了存在着Linux这个操作系统。11月,Intel 与 Xteam合作,推出基于Linux的网络专用服务器,此举结束了在Linux单向顺应硬件商硬件开发驱动的历史。

 

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

(0)
王更生王更生
上一篇 2016-10-14
下一篇 2016-10-14

相关推荐

  • Redis 代理服务Twemproxy

    1、twemproxy explore       当我们有大量 Redis 或 Memcached 的时候,通常只能通过客户端的一些数据分配算法(比如一致性哈希),来实现集群存储的特性。虽然Redis 2.6版本已经发布Redis Cluster,但还不是很成熟适用正式生产环境。 Redis 的 Clust…

    Linux干货 2015-04-04
  • openssl关于CA证书的创建

    1、用openssl实现证书申请 先在/etc/pki/CA/目录下创建一个index.txt的文件,作为ca证书的数据库 在相同目录下创建一个serial的序列号文件,并写入01 生成ca的签名证书用到的私钥文件 注意:私钥的权限时600,文件名必须是cakey.pem 生成自签证书 这样私有CA建立完成 申请认证: 在申请的机器上生成私钥 生成申请文件 …

    Linux干货 2016-09-23
  • Linux如何进行分区和目录管理

    第七周作业   1、创建一个10G分区,并格式为ext4文件系统: 1、要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包括acl; ~]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1 2、挂载至/data/mydata目录,要求挂载时禁止程序自动运行,县不更新…

    2017-09-18
  • DNS服务

    名字解析,DNS服务,实现主从服务器,实现子域

    2018-01-22
  • Python入门之闭包,匿名函数,过滤器,映射器,折叠

    在学习python函数的过程中,函数的高阶应用包括闭包lambda函数,过滤器等都让我头痛不已.接下来我把课堂中听到的笔记进行整理,再写一遍,希望在提醒自己的同时也能帮助到别人. 首先,我们来看一下什么是闭包,闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见…

    Linux干货 2015-12-19
  • VMware12 Centos系统安装VMware-tools过程

    1、点击VMware菜单虚拟机选中安装VMware-tools:           注:虚拟机桌面会生成VMwaretools DVD安装光盘 2、查看虚拟机设置ISO映像文件是否是VMwaretoolsDVD带Linux.iso映像的文件: 3、在centos系统中 open term…

    Linux干货 2016-07-26