RSS订阅专注X86/ARM架构技术
博客交流QQ群693563350 赞助本站
你现在的位置:网站首页 / 科技 / 正文内容

Linux的发展过程

15730 科技 | 2016年09月07日

"Hello everybody out there using minix——I'm doing a (free) operating system" 


在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单向顺应硬件商硬件开发驱动的历史。


2001月新年依使就爆出新闻,Oracle宣布在OTN上的所有会员都可免费索取Oracle 9i的Linux版本,从几年前的"绝不涉足Linux系统"到如今的主动献媚,足以体现Linux的发展迅猛。IBM则决定投入10亿美元扩大 Linux系统的运用,此举犹如一针强心剂,令华尔街的投资者们闻风而动。到了5月这个初夏的时节,微软公开反对"GPL"引起了一场大规模的论战。8月 红色代码爆发,引得许多站点纷纷从windows操作系统转向linux操作系统,虽然是一次被动的转变,不过也算是一次应用普及吧。12月Red Hat 为IBM s/390大型计算机提供了Linux解决方案,从此结束了AIX孤单独行无人伴的历史。


2002年是Linux企业化的一年。2月,微软公司迫于各洲政府的压力,宣布扩大公开代码行动,这可是Linux开源带来的深刻影响的结果。3月,内核开发者宣布新的Linux系统支持64位的计算机。


2003年1月,NEC宣布将在其手机中使用Linux操作系统,代表着Linux成功进军手机领域。5月之中SCO表示就 Linux使用的涉嫌未授权代码等问题对IBM进行起诉,此时人们才留意到,原本由SCO垄断的银行/金融领域,份额已经被Linux抢占了不少,也难怪 SCO如此气急败坏了。9 月中科红旗发布Red Flag Server4版本,性能改进良多。11月IBM注资Novell以2.1亿收购SuSE,同期Redhat计划停止免费的Linux,顿时业内骂声四 起。Linux在商业化的路上渐行渐远。


2004年的第1月,本着"天下事分久必合,合久必分"之天理,SuSE嫁到了Novell,SCO继续顶着骂名四处强行"化缘 ", Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月SGI宣布成功实现了Linux操作系统支持256个Itanium 2处理器。4月里美国斯坦福大学Linux大型机系统被黑客攻陷,再次证明了没有绝对安全的OS。六月的统计报告显示在世界500强超级计算机系统中,使 用Linux操作系统的已经占到了280席,抢占了原本属于各种Unix的份额。9月HP开始网罗Linux内核代码人员,以影响新版本的内核朝对HP有 利的方式发展,而IBM则准备推出OpenPower服务器,仅运行Linux系统。


"谁会牵你的手,走过风风雨雨"这句歌词曾经代表着千万Linuxer的心,如今,这只可爱的小企鹅终于能独挡一面,在IBM、HP、Novell、Oracle等诸多厂商的支持下,迎着风雪傲然前行。 


从 Unix 到 Linux 这一段历史

为什么大家常常会说, Linux 是很稳定的一套操作系统呢?这是因为, Linux 他有个老前辈,那就是 Unix 家族啰!有这个前辈的提携,让 Linux 这个小老弟很快的就成为一套稳定而优良的操作系统啦!所以,底下我们来谈一谈 Unix 到 Linux 的这一段历史吧!

早在 Linux 出现之前的二十年 ( 大约在 1970 年代 , 就有一个相当稳定而成熟的操作系统存在了!那就是 Linux 的老大哥『 Unix 』是也!怎么这么说呢?!他们这两个家伙有什么关系呀?这里就给他说一说啰!众所皆知的, Linux 的核心是由 Linus Torvalds 在 1991 年的时候给他开发出来的,并且丢到网络上提供大家下载,后来大家觉得这个小东西 ( Linux Kernel 相当的小而精巧,所以慢慢的就有相当多的朋友投入这个小东西的研究领域里面去了!但是为什么这的东西这么棒呢?!


一个没有完成的梦想

Bell, MIT 与 GE 的『 Multics 』系统 

早期的计算机并不像现在的个人计算机一般,他可不是一般人碰的到的玩意儿,除非是军事或者是高科技用途才有可能接触到这类的 Computer !而如前面所言,有计算机硬件还需要操作系统的配合才能够发挥计算机的效能,不过,在那个年代,由于计算机算是『奢侈品』,喔~应该说是『贵重物品』,所以,可能一间学校就只有一部大型主机当然,那个年代所谓的大型主机仍然无法提供适度的运算能力的。不过,既然只有一部大型主机,然而有许许多多的教师、学生要想要来使用,怎么办呢?为了解决这个问题,在 1960 年代初期,麻省理工学院 ( MIT 发展了所谓的『兼容分时系统 ( Compatible Time-Sharing System, CTSS 』,就字面上的意义来看,他主要让大型主机可以提供多个终端机联机进入主机使用主机的资源, ( 附带一提,当时的终端机 ( Terminal 本身并没有软件或者可供使用的资源,这些终端机要能使用,一定必需要联机登入主机之后,才能够使用主机的资源来工作!) 当时可以让约 30 位使用者联机使用主机。而为了让这个分时系统更加的强大,所以,在 1965 年前后由贝尔研究室 ( Bell 、 麻省理工学院 ( MIT 及奇异电器公司 ( GE 开始来共同开发一个名为 Multics 的大型计画,目标是想让大型主机可以联机 300 位以上的使用者。不过,在奋斗了四年之后,该计画仍然宣告不治...喔!是失败啦!(注: Multics 有复杂、多数的意思。)


一个小型档案系统的产生

1969 年 Ken Thompson 的小型 file server system 

在复杂的 Multics 系统的计画失败后,贝尔研究室当然就退出该计画。就在这个计画解散之后,曾经参与 Muitics 的贝尔研究室的成员 Ken Thompson 由于自己工作上的需求,需要一套档案存取的小型操作系统,便在 1969 年的时候以 DEC 公司 ( Digital Equipment Corporation 的计算机 PDP-7 为硬件基准,设计了一个适合自己工作环境的小型档案系统,其中也含有他自行开发的一些小工具。那个系统就是最早期的 Unix 的源头!当初 Ken 设计这个档案系统时,主要是为了自己的存取方便所设计的简单 OS ,因此将原有的 Multics 系统大幅度的简化,不过,在当时还并没有 Unix 这个名词的出现!


Unix 的正式诞生

1973 年 Ritchie 等人以 C 语言写出第一个正式 Unix 核心 

由于 Thompson 写的那个操作系统实在太好用了,所以在 Bell 研究室内部广为流传,并且数度经过改版。到了 1973 年, Bell 研究室的 Dennis Ritchie 等人为了让这个系统的执行效能更佳化,所以使用编译效能更好的 C 语言将原有的 1969 年的那个系统之核心大幅度的改写过,并且确定该操作系统名称为 Unix,呵呵!那就是最早的 Unix 操作系统啰!不过,由于这个操作系统是由这一群工程师所开发完成的,而且使用者也大多是这方面的工程师,因此造成了后来 Unix 系统接口较难被一般使用者接受的情况 @_@ (注: 相对于 Multics ,Unix 具有单一的意思!)


重要的 Unix 分支: 1977 年 BSD 的诞生

在 Unix 早期的发展中,有一件相当重要的事情,那就是 BSD 的诞生!由于 C 语言是一种高级语言,他可以被应用在不同的硬件架构上面,而 Unix 本身就是 C 语言写成的!在 Unix 发表之后, 柏克莱大学 ( Berkeley 的教授对于这个操作系统相当的有兴趣,在经过取得 Unix 的原始码,并且几经修改之后,终于在 1977 年发表了第一代的 Berkeley Software Distribution ( BSD 。这个 BSD 是 Unix 的一个分支,他的发展对于 Unix 有相当大的影响,例如后来的 Sun 公司就是使用 BSD 发展的核心进行自己商业的 Unix 版本的发展的!


百家齐鸣的 Unix 版本

由于 C 语言是一个相当高阶的程序语言,他与硬件没有很直接的相关性,例如你的 Windows 也可以执行 C 程序语言!而由于 Unix 是由 C 语言写成的,因此,也就是说,你只要经过稍微的原始码修改程序,就可以在不同的硬件架构上面执行这个操作系统!后来,由于 Unix 的方便性,因此很多的商业公司及学术机构就加入这个操作系统的研发啰。不过,也由于 Unix 的便利性与改写容易,因此就造成了很多的不同版本的 Unix 啰,例如 ATT 的 System V 、 加州大学的 BSD 版、 IBM 的 AIX 等等。

由于『操作系统的核心 ( Kernel 必须要跟硬件配合,以提供及控制硬件的资源进行良好的工作!』,而在早期每一家生产计算机硬件的公司还没有所谓的『协议』的概念,所以每一个计算机公司出产的硬件自然就不相同啰!因此他们必须要为自己的计算机硬件开发合适的 Unix 系统,所以,他们自行开发的 Unix 当然只能配合本身的硬件配备啰!例如在学术机构相当有名的 Sun 、 Cray 与 HP 就是这一种情况,他们开发出来的 Unix 并没有办法在其它的硬件架构下工作的! ( 我们都称呼这种系统与配备为『超级计算机』 !由于没有厂商针对个人计算机设计 Unix 系统,因此,在早期并没有支持个人计算机的 Unix 操作系统的出现 ( 当然,这是由于早期的个人计算机并没有现在这样风行就是了! ,每一家公司自己出的 Unix 虽然在架构上面大同小异,但是却真的仅能支持自身的硬件,所以啰,早先的 Unix 只能与服务器 ( Server 或者是大型工作站 ( Workstation 划上等号!

此外,由于版本太多了,而大家都是同样来自于 Unix 这个老祖宗,当然也都称自己是 Unix。

1984 年的 GNU 与 Free Software Foundation

Unix 在商业上面的问题让许多对于 Unix 喜好者感到相当的忧心,其中一个就是有名的 Richard M. Stallman 先生。他认为, Unix 是一个相当好的操作系统,在这个系统上面,如果大家能够将自己所学的贡献出来,那么这个系统将会更加的优异!Stallman 先生认为最大的快乐就是让自己发展的良好的软件让大家来使用了!而且,由于每个人的工作环境 ( 指软硬件平台 可能都不太相同,所以,他也强调应该要有 Open Source 的概念,让大家都能够分享这一份的心得!他认为,有了 Open Source 之后,你的程序将有很多的人可以帮忙检验,将使得 Unix 社群更佳的茁壮。为了自己的理想, Stallman 在 1984 年实际创立了 GNU 与 自由软件基金会 ( Free Software Foundation, FSF ,并创作了许多『自由软件』供大众来使用,此外,对于其作品以自由 ( free 的 GNU General Public License ( GPL 的授权模式提供大众使用。这个 FSF 的核心观念是『版权制度是促进社会进步的手段,版权本身不是自然权力。』对于 FSF 有兴趣或者对于 GNU 想要更深入的了解时,请参考朝阳大学的洪朝贵教授的网站,里面有更为深入的解说!而且,Stallman 的 GNU General Public License 一直强调 Free 这个字眼!他是这样说的:『"Free software" is a matter of liberty, not price. To understand the concept, you should thik of "free speech", not "free beer". "Free software" refers to the users freedom to run, copy, distribute, study, change, and improve the software』大意是说,自由软件并不是指『免费』的,而是指具有『自由度, freedom』的软件,什么是自由度呢?也就是你在取得这个软件之后,可以进行修改、进一步发表与复制在不同的计算机平台上面。这无疑是个好消息!因为如此一来,你所拿到的软件可能原先只能在 Unix 上面跑,但是经过原始码的修改之后,你将可以拿他在 Linux 或者是 Windows 上面来跑!Stallman 先生更直接对自由度下了这样的说明:

你可以根据任何你想要的提议 ( purpose 来跑这个 Free 的程序; 

你可以在理解了这支 Free 的程序的运作之后,将他修改成你所想要的样式与功能;

你可以将你自己修改过的 Free 的程序再次的发表,以帮助你的朋友们; 

你可以将这支 Free 的程序进行改良,并将改良过的程序公开发表,以造福社群! 

简单的来说, GPL 授权具有几个特点:

任何软件挂上 GPL 授权之后,即为自由的软件,任何人均可取得,同时,亦可取得其原始码 ( Source Code ; 

取得 GPL 授权之软件后,任何人均可进行修改原始码,以符合自己的喜好;

除此之外,经过修改的 Source Code 应回报给网络社会,提供大家来参考! 

但请特别留意,并非挂上 GPL 之后的软件就不可贩卖,这个是不同的两回事呦!举个例子来说,在 Red Hat 的官方网站上面提供 Red Hat 释出的 Linux 安装光盘提供大众下载,但是 Red Hat 本身依然有在卖 Linux 的套件,而且还卖的『很不便宜!』为何可以如此呢?呵呵!因为 Red Hat 他们卖的资料当中,含有相当大量经过整了的文件资料,这些资料虽然在网络上面可以下载,然而花了这么多的时间来整理这些资料,当然应该要给予相当程度的报酬啰!您说是吧!所以,请留意喔!并非 GPL 不可用来营利!

这个 GNU 对于后来的 Linux 有相当深远的影响,由于 Stallman 先生发展了 GNU 这个计画中,主力在推出各种方便而优异的工具软件,例如广为大家所知的 Emacs 文书编辑器、GCC, BASH..然而没有作业平台怎么使用这些软件呢?然而,由于他倡导的自由软件,让后来的心血能很快的接触原始码来发展软件,这就是后来的 Linux 的故事


1988 年的图形接口 X-Free86 project

有鉴于图形使用者接口 ( Graphical User Interface, GUI 的需求日益加重,在 1984 年由 MIT 与其它协力厂商首次发表了 X Window System ,并且更在 1988 年成立了非营利性质的 XFree86 这个组织。所谓的 XFree86 其实是 X window system 与 Free 及 x86 系统架构的整合名称呢!而这个 XFree86 的 GUI 接口更在 Linux 的核心 1.0 版于 1994 年释出时,整合于 Linux 操作系统当中!


1991 年 芬兰大学生 Linus Torvalds 的一则简讯

在后来的几年内,由于计算机硬件工业的强力运作,以 intel 主导的 x86 系统架构的个人计算机大行其道,所以个人计算机算是相当流行的一个机器了!但在此时,人们使用的大多还是旧旧而且需要吃很多系统资源的 DOS 系列或其它的操作系统。 此时,有个芬兰的郝尔辛基大学 (Helsinki Linus Torvalds 学生做了件不寻常的事情! Linus 手边有个 Minix 系统 ( 这也是 Unix 的分支 ,他对这个操作系统相当的有兴趣!此外,由于当时他正好买了一部 386 的计算机,所以他就想说,咦!这个 Unix 这么棒!这么稳定,那我可不可以将他移植到个人计算机 ( X86 架构 来使用呢?!好在由于 Stallman 提倡的 Open Source 风气,他得以接触到一些 source code ,而就经由这样的一个想法,呵呵!他就很有心的读取 Unix 的核心,并且去除较为繁复的核心程序,将他改写成可以适用于一般个人计算机的 x86 系统上面,到了 1991 年,他终于将 0.02 版的 hobby 放到网络上面供大家下载,并且由于 hobby 受到大家的肯定,相当多的朋友一起投入这个工作中!终于到了 1994 年将第一个完整的核心 Version 1.0 释出!并且造成目前的大流行.....由于 Linux kernel 的发展是由『虚拟团队』所达成的,大家都是透过网络取得 Linux 的核心原始码,经由自己精心改造后再回传给 Linux 社群,进而一步一步的发展完成完整的 Linux 系统,至于 Torvalds 先生是这个集团中的发起者。由于这个群策群力的缘故, Torvalds 先生将 Linux 定为同样造福大家的 GNU 授权模式!


企鹅的来源

1994年发表 Linux 正式核心 1.0 的时候,大家要 Linus Torvalds 想一只吉祥物,怪怪的 Torvalds 突然想到小时候去动物园被一只企鹅追着满地打滚~还被咬了一口!既然想不到其它的吉祥物了,干脆就以这支企鹅来当吉祥物算了!所以,目前我们常常看到这一只企鹅就是这么来的!



什么是 distribution

好了,经由上面的说明,我们知道 Linux 是个『操作系统』,而且他是 GNU 的授权模式,并且有个老大哥是 Unix 。不过,毕竟由 Torvalds 先生负责维护的 Linux 提供的仅是『核心』与『核心工具』的集合,对于需要更完整功能的操作系统来说,毕竟还不够完备,例如如果你要桌面程序,还得要加入 X-Window 系统对吧!?如果你要架设 WWW 还得加入服务器软件对吧?所以,虽然 Linux 的核心已经提供了相当多的支持与工具程序,但毕竟还不足以构成一个很完整的操作系统。

好在,由于 Linux 的稳定性良好,并且可以在便宜的 x86 架构下的计算机平台运作,所以吸引了很多的套件商与自由软件的开发团队在这个 Linux 的核心上面开发相关的软件,例如有名的 sendmail, wu-ftp, apache 等等。此外,亦有一些商业公司发现这个商机,因此,这些商业公司或者是非营利性的工作团队,便将 Linux 核心、核心工具与相关的软件集合起来,并加入自己公司或团队的创意的系统管理模块与工具,而释出一套可以完整安装的操作系统,这个完整的 Linux 操作系统,我们就称呼他为 distribution,或者是中文所谓的『安装套件』啰!当然啰,由于是基于 GNU 的架构下,因此各家公司所发行的光盘套件是可以在网络上面自由下载的。不过,如果想要有较佳的服务,《个人认为》购买该公司发行的光盘!

不过,由于发展的 Linux 公司实在太多了,例如有名的 Red Hat, OpenLinux, Mandrake, Debian, SuSE 等等,所以很多人都很担心,如此一来每个 distribution 是否都不相同呢?这就不需要担心了,由于各个 distribution 都是架构在 Linux Kernel 下来发展属于自己公司风格的 distribution,因此大家都遵守 Linux Standard Base ( LSB 的规范,也就是说,各个 distribution 其实都是差不多的!反正用到的都是 Linux Kernel 啊!只是各个 distribution 里面所使用的各套件可能并不完全相同而已。所以啰,大家可以按照自己的喜好来选择 Linux 的 distribution 光盘啰!底下列出几个主要的 Linux 发行者网址: 

Red Hat: http://www.redhat.com 

Mandrake: http://www.linux-mandrake.com/en/ 

Slackware: http://www.slackware.com/ 

SuSE: http://www.suse.com/index_us.html 

OpenLinux: http://www.caldera.com/ 

Debian: http://www.debian.org/ 

Linpus: http://www.linpus.com.tw/ 

UniteLinux:http://www.sco.com/unitedlinux/ 

当然发行套件者不仅于此,您可以查阅其它的 Linux 新闻来发现喔!而其中中文化较为有名的就属 CLE 这个套件发行者了!有兴趣的话也可以到底下的网页上看看!

CLE:http://cle.linux.org.tw/ 

好了,那么哪一个安装套件比较好呢?!就如同 VBird 前面提到的,每一个发行者所使用的 Linux 核心其实是一样的,都是由 www.kernel.org 开发出来的核心呀!所以其架构,甚至包括其档案放置的目录,都是大同小异的,基本上除了某些内容套件不太一样之外 ( 例如有人使用 wu-ftpd 有人使用 proftpd 等等 ,其它的档案架构与指令系统其实几乎都是相同的,因此我们不去探讨哪一个套件比较棒!而是要来介绍如何学习与使用一个套件!至于下载的地点,网友提供了一个相当棒的多种 Linux distributions 的下载网站: 

www.linuxiso.org


上一篇:win7中软件出现乱码的解决方法

下一篇:100条网站推广优化教程

猜你喜欢