Linux前世今生

One Comment

1.UNIX的出现和发展

1964年由贝尔实验室、麻省理工学院及美国通用电气公司所共同参与研发,想开发出安装在大型主机上的一套操作系统,目的是连接1000部终端机,支持300的用户同时上线,最终的项目是名称是Multics,1969年,因MULTICS项目的工作进度过于缓慢,最后终究遭裁撤的命运,贝尔实验室退出此项目,一群贝尔实验室的研究人员Ken TompsonDennis RitchicDoug McllroyJoy Ossanna在1969年开始在DEC-PDP7机器上用机器语言写了一个比MULTICS更简单的系统,新系统的很多思想来源于MULTICS,只不过封装在更小的程序包里,1970年,Brian Kemighan给系统命名为“UNIX”,它与“MULTICS”意思相反,与MULTICS复杂相比,UNIX系统更加简单 (multi的英语前缀是复杂的意思,而un是“非”,相反的意思)

因为贝尔实验室宽松的条件,UNIX提供给了许多高校以供他们研究,最著名的是伯克利大学用UNIX开发出来的BSD系统(Berkeley Software Distribution),BSD系统主要还是用来教学,在之后的发展历程中,由于AT&T公司要收回UNIX的版权,对加利福利亚大学提起了诉讼,这次官司持续了很久,而且影响很大,随后由于unix的版权问题和专利的问题,AT&T四处打官司,严重影响了UNIX的发展,而且最后发展到大家由于怕专利的问题而不敢使用随意使用UNIX,UNIX的授权费用也是很高,尤其对于学校,这严重影响了科技的进步,在这次事件影响中,有一位专门教授UNIX的教授,由于没有源码,就没有办法教学生知识,这位名叫Andrew Tanenbaum就自己动手编写了运行在x86上的类UNIX系统“Minix”,为了避免版权纠纷,教授声称自己在编写过程中没有看UNIX的代码,但是自己的系统和UNIX的系统兼容。值得一提的是minix并不是免费的,人们不能在网络上下载这套源码,需要购买光盘或者磁盘磁带才行而且对源代码的修改与再发布进行了限制,另外,MINIX的16位的设计与当时日渐便宜及受欢迎的、个人电脑的Intel 80386架构兼容得不好。


2.Stallman和GUN计划

   于此同时,地球上的某一个地方,一个人工智能实验室悄悄的崩溃了,一个名叫Richard Stallman的年轻人走了出来,当时的社会风气对于软件的看法和现在不太一样,大家认为软件是个人的思想结晶,是个人的私有财产,应当得到保护,而且不光是版权问题,就算使用其软件业不可修改和再发行,对于使用途径也是相当严格。 “If you share with your neighbor, you are a pirate. If you want any changes, beg us to make them.”这句话很好的阐释了当时人们对于软件私有的看法。但是Stallman并不是这样认为,他认为版权不是一个自然权利,而是一个人为的,政府强加的垄断,限制了用户复制的自然权利,计算机用户应该可以自由地修改方案来满足他们的需求,并自由地共享软件,因为帮助别人是社会的基础。

   If I am not for myself, who will be for me?

        If I am only for myself, what am I?

        If not now, when?

基于这种精神,也为了避免出现像UNIX这样因为版权问题而导致的各种不良问题,Stallman发起了GUN运动,口号是GUN’s Not Unix,同时成立了免税的自由基金软件会(Free Software Foundation),(注意这里的free指的是自由的意思比如自由言论,并不是免费。事实上自由和销售并不冲突,人们可以通过销售来募集更多的资金来维持社区和自由软件基金会的发展)。GNU计划的目标是创建一套完全自由的操作系统,重现当年软件界合作互助的团结精神,为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都包含一份在禁止其他人添加任何限制的情况下,授权所有权利给任何人的协议条款,称为GNU通用公共许可证(GNU General Public License,GPL)。

1984年9月Stallman开始了GNU Emacs的编写工作,到了1985年Stallman编写的这个文本编辑器受到了人们的广泛好评,Stallman于是开始采用磁带磁盘邮寄的方式进行销售这套小工具,1987年他完成了GCC库的编写和C语言编译器的编写,到1990年GUN系统几乎完成,唯一缺失的就是内核,Stallman决定以Mach微内核进行开发,Mach一开始是卡内基梅隆大学开发的,到了1994年卡内基梅隆大学终止了Mach的开发,自由软件基金会随后在犹他大学继续开发,由于Mach并不是自由软件基金会的,所以他们希望卡内基梅隆大学能够承诺Mach作为自由软件发布,借此提供源代码,但是这一等就是很长时间,虽然最后Mach也继续开发而且还开发了HURD,这些都是类UNIX的微内核,但是时间都是等待了很长,而且设计异常复杂,开发非常缓慢。


3.linux诞生

在此期间,地球的另一端,有一个年轻人,名叫Linus Torvalds,在自己的母校在学习了UNIX系统之后开始萌发自己编写内核的想法,当时Linus Torvalds用的内核是Tanenbaum开发的MINIX,但是MINIX规定只能用于教育,不能用于商业,而且Tanenbaum教授本人对MINIX只是用它来教学,对于继续开发他不怎么上心,当时的情况是MINIX系统有许多人喜欢,而且希望能继续开发一些其他的功能,对MINIX的功能需求很是强烈,于是Linus Torvalds就想自己干脆在自己写一个类似于MINIX系统的内核,当时GUN的许多工具已经发布,Linus Torvalds就利用这些工具开始编写,项目的名称就是freax,(这个奇怪的名称是free和x的组合,free是指免费,而x是大家经常用的后缀,比如UNIX,)开始的项目的只有10000多行,当时编写程序不像现在不需要考虑硬件的问题,程序反而是为了某一个硬件专门设计,当时Linus Torvalds用的386的机器,这种机器性价比好而且对于多任务处理有很大的提高,Linus Torvalds把自己断断续续写的内核传到自己学校的FTP服务器上保存,毕竟一个人开发还是有难度的,随后他在comp.os.minix新闻组上发帖,希望能得到大家的支持,并且把自己写的传了上去,大家一用,发现Linus Torvalds写的程序可以在386机器上跑,而且能够读取MINIX的文件系统,大家就纷纷用了起来,由于在传的时候负责服务器的同学把那个奇怪的freax改名成了linux,所以大家都叫这个新生的内核为linux。但是Linus Torvalds写的程序不能兼容unix,随后Linus Torvalds参考POSIX标准重新写了内核,放在网上供大家下载。由于重新写的内核是参考POSIX标准写的,所以理论上只有符合POSIX的软件就可以共享,UNIX就是根据POSIX写的,这样一来许多UNIX上软件可以互享在linux上了,在这些原因的影响下,linux很快流行起来,使用率大增,有许多志愿者也愿意在linux上开发,随后这些幕后的付出者们共同成立了内核维护的网站:www.kernel.org


4.linux发展和未来

Linus Torvalds把自己的系统在GPL协议下发布了。Linux和GNU的开发者一起把GNU的部件和Linux集成起来,使它成为一个可运行的自由操作系统,Torvalds说,“把Linux发布在GPL下是我所做过的最好的事”。今天在Linus Torvalds带领下,众多开发共同参与开发和维护Linux内核。Stallman领导的自由软件基金会,继续提供大量支持Linux内核的GNU组件。一些个人和企业开发的第三方的非GNU组件也提供对Linux内核的支持,这些第三方组件包括大量的作品,有内核模块和用户应用程序和库等内容。Linux社区或企业都推出一些重要的Linux发行版,包括Linux内核、GNU组件、非GNU组件,以及其他形式的的软件包管理系统软件。

Linux发行版一般是由一些组织、团体、公司或者个人制作并发行的,较为知名的有Fedora、Debian、Ubuntu Opensuse ,CentOS,RedHat,等等,linux一般运用到个人电脑,超级计算机,服务器等,尤其作为服务器,由于稳定和免费,大部分企业使用的都是linux,移动领域Android就是基于linux为基础开发,在移动领域占据很大的一部分。Linux市场份额逐年提升,成为第三大个人操作系统。在未来的发展中linux的权重会越来越高,越来越流行。


附录:大事年表

1983:Richard Stallman发起以创建一个自由的操作系统为目标的GNU计划。

1989:Richard Stallman撰写第一版的GNU GPL。

1991:Linux内核在8月25日由21岁的芬兰学生Linus Benedict Torvalds公开发布。

1992:在GNU GPL下Linux内核被重新授权使用,产生第一个“Linux发行版本”。

1993:超过100个开发者致力于Linux内核开发。在他们的努力下,内核逐渐适应GNU的环境,这个为Linux创造巨大的应用空间的广阔环境。Slackware首次发布。后来在同一年,Debian项目设立,现已成为最大的社区发布项目。

1994: 3月, Torvalds认为内核的所有组件已经完全成熟,他放出了Linux的1.0版本。XFree86项目组提供了一个图形化用户界面(GUI).同年Red Hat公司和SUSE发行他们各自的Linux 1.0分发版本。

1995: Linux被移植到DEC Alpha和Sun公司的SPARC平台上,而在接下来的几年里它又被广泛地移植到更多的平台上。

1996: Linux内核2.0版本发布。此时内核已经支持多处理器,因而成为各大公司的绝佳选择。

1998:很多大公司,诸如IBM、Compaq ,Oracle表示支持Linux系统。另外,一部分程序员开始图形化用户界面KDE的开发。

1999:一些程序员开始致力于开发图形化环境GNOME,它可以替代依靠Qt工具包才能工作的KDE。在这一年里IBM宣布一项支持Linux的浩大的工程。

2004: XFree86小组分裂,同现有的X Windows标准组织 共同成立X.Org基金会,促使了X Window ServerLinux版本极其快速而迅猛的发展

转载自 Linux运维部落 http://www.178linux.com

One thought on “Linux前世今生

发表评论

电子邮件地址不会被公开。 必填项已用*标注