导读 | 新手入门Linux总是对Linux的起源似懂非懂,大部分网上现有的资料都比较片面的,本文很综合的讲述了从计算机的起源到Linux的发展,适合新手再入门前对Linux文化有个较为全面的了解。 |
![9e3df8dcd100baa13dc6bcca4110b912c9fc2edd](https://i-blog.csdnimg.cn/blog_migrate/3b0f64bd915e8a530403ceaf819a85fa.jpeg)
艾伦·麦席森·图灵
图灵功劳很大,死得很惨,只因他是同性恋。他的最后时刻是吃了一个沾有氰化钾的苹果。有人说苹果公司的Logo是为了纪念图灵,不实。确定纪念图灵的是“图灵奖”,计算机研究领域的最高奖项,由美国计算机协会于1966年设立。 阿塔那索夫名气不大,享年较长。世界上第一台计算机是阿塔那索夫领导发明的ABC计算机,并非我们很多书上说的ENIAC。 冯·诺依曼长得帅,聪明,研究领域广,故事很多。今天我们使用的计算机都被打上了一个的深深的烙印,这个烙印就叫冯·诺依曼体系结构。 关于计算机之父有很多说法,版本不一,这三个人都可以称为计算机之父。曾有人奉冯·诺依曼为计算机之父,冯·诺依曼说不敢当,殊荣当归图灵。 早年全世界的计算机中心在美国普林斯顿大学,群星闪耀,璀璨夺目。冯·诺依曼曾在此工作,图灵曾在此学习,他俩在普林斯顿的花园里聊过天。冯·诺依曼想让图灵给他当助手,被拒绝了。![c75c10385343fbf262790274b27eca8065388f14](https://i-blog.csdnimg.cn/blog_migrate/d28793d92abc7515ed7e5baecd23a509.jpeg)
冯·诺依曼
![20130823124707-1296804127](https://i-blog.csdnimg.cn/blog_migrate/b367d1fec8e1cb2f341f391eaf40a80c.jpeg)
Unix
C语言
![541170-1bb1fbfe72c74321](https://i-blog.csdnimg.cn/blog_migrate/ca66cdb60a4766dca007ec92ba576117.png)
![541170-105cd8850a0db758](https://i-blog.csdnimg.cn/blog_migrate/44ae23ca8f6aaf8bd0e2a9c0d2341315.jpeg)
GNU起初进展很顺利,GLibc、GCC、GDB,这一系列的操作系统必备软件都有条不紊地在进展。所有的“G”来自Gnu的首字母。为什么叫“G”,斯托曼博士说当时他觉得好玩,而且他小时候听过一首歌,很喜欢,歌名是《The Gnu》。
完全搞个操作系统看来也并非易事,GNU完成了一大堆软件的时候才意识到遇到了大麻烦。GNU系统的内核项目Hurd迟迟不能令人满意。内核之于操作系统,就像发动机之于汽车,必不可缺。
1991年,Linus Torvalds尚是芬兰赫尔辛基大学的一名学生,他在学校学操作系统的课程,他也想搞个操作系统玩玩。他当时已经在使用Gnu项目的Bash、GCC等软件。受GNU的影响,把他自己开发的一个简陋的操作系统内核放到了互联网上。
这个内核系统就是Linux,Linus’s Unix,Linus的Unix。名字并非Linux所取,他一贯的风格是取个调侃的名字,但当时管理员说Linux挺好,名字就这么定了。
Linux放到网上后引起了很多人的兴趣,他们陆续通过互联网加入到Linux开发过程中。1993年,大约有100多名程序员参与了Linux内核代码。这时已经是互联网的时代,他们不用相识,不用谋面,通过网络讨论,通过网络协作,推进着Linux。
1994年3月,Linux1.0发布,Linux已经成为一个基本可用的内核。从此Linux就一直没有踩过刹车,一步步从幼苗长成参天大树。
Linus小时候被企鹅攻击过,他给Linux定Logo的时候选中了企鹅,真不知道这是什么逻辑。长得像企鹅的除了QQ,还有Linux。
Linux开创了一种前所未有的软件开发模式。多人协作,代码随时提交,有问题及时修改,所有参与人员并非精英,而是一群狂热的支持者。前前后后无数人参与了Linux项目的开发,组织不太严谨,有很多的争吵和讨论。Linus经常写代码,偶尔扮演仲裁的角色,而非传统意义上的领导。
后来开源运动的吹鼓手Eric Raymond写了一篇文章《大教堂与集市》来分析Linux的开发模式。大教堂要设计好图纸,动用优秀的工匠,有序的工程计划才能修筑,闹哄哄无序如菜市场的一拨人能不能修一座大教堂?答案是可以的,因为他们建成了。
Linus后来坦言,他开发Linux时不了解还有FreeBSD等项目,如果知道了可能他就不会动手写Linux了。那时各种BSD系统正在官司的阴影笼罩下,某种程度了也促进了Linux的发展。
他们一开始也没什么图纸,一边修建,一边请人参观,出了问题随时修复,有的地方干脆推倒重来。他们没有严密的组织,只有大体的分工。随时有人在使用教堂,给他们提出各种意见。他们建的教堂已经足够好,他们建的教堂一直没有竣工,会一直修建下去。
Eric Raymond这个人不得不提,早年和斯托曼博士一起共事,还帮斯托曼博士修改过Emacs的代码。他比写程序更擅长的是演讲和写文章。《大教堂与集市》是开源文化的扛鼎之作。斯托曼博士是开源运动的精神领袖,Raymond是开源运动的布道师和理论家。
一边GNU项目为内核苦苦挣扎,一边Linux内核项目横空出世,这不天作之合么?不错,手快的人来不及同情斯托曼博士的痛苦,把GNU一大堆项目和Linux攒在一起搞了个新系统,GNU/Linux。
好了,终于大家可以拿去用了,可以用一个完全免费、源码开放的系统了。
今天很多人把使用的系统叫Linux,很不公平,是对GNU工作的漠视。正确的叫法是GNU/Linux。
有了GNU/Linux还不是一切,只能是一个基础的操作系统,要想用得更好还缺很多软件。就像有了Windows系统,没有Word,没有Excel,没有浏览器,没有游戏,可干的事并不多。
所幸的是GNU/Linux诞生的年代,已经有了很多优秀的开源项目,他们和GNU无关,有的是个人开发,有的是组织开发,都遵循免费开源的理念。这些开源项目有Apache、Perl、Python、Vim、TeX等等。
攒系统的人干脆一股脑攒了起来,就是所谓的GNU/Linux的发行版。最早攒GNU/Linux系统的公司是Redhat,后来陆续一大堆GNU/Linux的发行版,Slackware、Mandrake、Gentoo、Debian、Ubuntu等等。有的已经死了,有的还活得挺好。
所谓GNU/Linux发行版,就是攒好的一套GNU/Linux。选用GNU项目中的基础软件,加上Linux内核,再找一堆开源免费,版权协议许可的软件,最后做个安装程序,就齐活了。更好的发行版大体就是考虑的更周全些,软件包的更新、安装、卸载更方便些。
能不能自己动手攒一个GNU/Linux的发行版?当然可以,Linux From Scratch,网上的一个项目,教你一步一步从头打造一个属于自己的GNU/Linux发行版。
2002年,南非商人Mark Shuttleworth花了两千万美金,搭乘俄罗斯的宇宙飞船去了一趟太空。次年,他成立了Canonical公司,致力于开源文化的推广,推出了GNU/Linux发行版Ubuntu。有钱人办事就是不一样,Ubuntu做得太好了,GNU/Linux用户纷纷投靠,Ubuntu基本一统GNU/Linux发行版的江湖。
GNU/Linux来了,虽然没成为大多数人电脑里的系统,但每个人都离不开它。诸多互联网公司的服务器里都跑着GNU/Linux,名单不完全确认,Google、Facebook、淘宝、百度、腾讯、小说阅读网等等。
大多人使用的安卓手机的系统也是基于Linux内核。
GNU/Linux的繁荣有宏伟的规划,有个人的努力,也有很多无形的力量在起着作用。
没有Unix就没有GNU/Linux,是Unix给予了伟大的启示。
没有C语言就有没有GNU/Linux,C语言简单,优雅,介于高级语言和低级语言之间,开发系统软件的首选编程语言。
没有一系列Unix标准的制定就没有GNU/Linux的繁荣。标准就是“车同轨、书同文、统一度量衡”,秦始皇可算最早的标准制订者。遵循Posix标准为GNU/Linux发展铺平了道路。
没有互联网就没有GNU/Linux,GNU/Linux不是一个人在开发,是全球无数人协作的结果。如果没有互联网实在不可想象。当然,GNU/Linux也反哺了互联网,无数互联网公司采用GNU/Linux搭建服务器,GNU/Linux也促进了互联网的繁荣。
没有斯托曼博士的努力,就没有GNU/Linux。他的功劳不仅是创建GNU组织,也不仅是编写Emacs、GCC、GDB,他的精神感召着无数人为开源运动做贡献。
当然还有Raymond的振臂高呼,摇旗呐喊。
还有GNU/Linux诞生之前就开发开源项目的人和组织。Larry Wall因为懒,整天被报表搞得焦头烂额,发布了Perl语言;高德纳教授因为对排版工人不满意,十年时间停止重要工作,发明了伟大的排版软件TeX;Guido为了打发圣诞节的无聊,编写了新的脚本语言Python……
GNU/Linux发布之后,在前辈们的感召下无数人接受了开源的思想和理念,接受了开源文化的洗礼,兴起了开源文化运动。无数为开源项目做出贡献的人和组织,他们发布了PHP、MySQL、Ruby、Node.js、X.Org、Gnome、KDE……他们丰富了GNU/Linux,他们进一步推动了开源文化运动,他们继续感召着别人。
KDE(Kool Desktop Environment)的初衷是想开发一套易用的桌面系统。Windows系统就是一种桌面,使用方便,不是像程序员整天对着黑乎乎的屏幕工作。桌面系统要有浏览器,他们就分了一个小组KHTML来开发浏览器。全世界能开发浏览器核心的也没几家,KDE做到了。后来苹果公司和微软闹别扭,想自己开发浏览器,就是在KHMTL的基础之上开发了自己的浏览器Safari。KHTML的浏览器核心模块叫Webkit。Google推出安卓手机时浏览器也是基于Webkit开发的。
今天的iPhone手机和安卓手机的浏览器都是Webkit内核。
各种版权许可协议的制订也为GNU/Linux的发展铺平了道路,其中就有GNU的GPL、LGPL,还有Apache License、BSD协议。不可能每个人都有一套自己开源协议项目的版权协议,已经制订好的版权许可协议使得软件更好地传播。
其实开源并非自由,有人说GPL是用自由抹杀自由。GPL许可要求任何含有GPL许可的软件发布时必须开放源码。BSD和Apache License相对比较宽松,算是准自由软件。
版本管理软件对GNU/Linux的发展和开源文化运动也功不可没。Linux内核开发起初使用的是商用版本管理软件,某天Linus Torvalds先生不开心了,就自己动手搞了一个。他好取自嘲调侃的名字,命名为Git,意为没什么用的东西。
Git可不是没什么用,太好用了,Linux内核源码从此都用Git管理。Git免费、开源,Git成就了一家伟大的网站github.com,伟大的源码项目托管网站。很多开源项目纷纷把源码托管到了Github上。
GNU/Linux不朽,开源运动不朽!
本文转载自:http://www.linuxprobe.com/origin-of-linux.html
免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/