1988年,丹麦哥本哈根学院迎来了一位新的学院生——LinusBenedictTorvalds,就是图1.11所示的那位。其实,那时侯他还比较瘦,但是他的名子在中学的花清册中也并不醒目,然而一年后,他大二的时侯,开始有故事了。
图1.11LinusBenedictTorvalds
1Minix
学院二年级的时侯,Linus朋友开始学习操作系统这门课程。那时侯这门课程使用Minix系统进行教学。Minix这个名子也许您听着并不熟悉,这是个专门用于教学的操作系统,它的系统结构和UNIX系统是类似的。有人可能会问:那为何不直接用UNIX呢?嗯,UNIX确实很先进,很优秀,确实值得学习计算机科学和操作系统的朋友们学习。但是要晓得有一种东西称作版权,即使你不怎样在意这个东西,但人家中学是不能做违规的事的。UNIX并不免费,而且是天价的,广大贫苦的学院生们买不起,中学也没钱为每一名中学生配备一套UNIX系统。
英国伦敦Vrije学院的AndrewS.Tanenbaum院士(就是图1.12所示的那位)在教学过程中就深刻地感受到,世界上缺乏一个教学用的操作系统。他的中学生们学习了计算机,学习了操作系统原理,不能光啃书本,总得实践一下吧?
总得找台机器装个操作系统用用吧?用哪些操作系统来教学呢?买个DOS装上?其实那时侯DOS早已问世了,而且如此一个单用户、单任务、效率也不高的操作系统,实在不能指望它培养出哪些软件人才。装个UNIX?校区还不想破产。于是牛人AndrewS.Tanenbaum拿起按键——咱自个儿编一个吧!之后Minix就诞生了。
图1.12AndrewS.Tanenbaum院长
Minix取MiniUNIX之意linux find,1987年被编撰下来,到1991年发展到1.5版,后来发展到2.0基本上就停止了。由于这个操作系统的本意只是作为一个教学模型,并不是一个实用的系统,所以功能很简单,容积也很小,但是之后也没有进行进一步的开发和扩展。它为的是能否让中学生在一学期内学完整个系统。很长一段时间后又出了Minix3,这回有图形界面了,图1.13所示就是Minix3的界面。那时侯Minix在学院中用于教学是免费的,而且用于其他用途是须要给钱的,不过如今早已彻底免费了。它作为一个操作系统,虽然并不算优秀,但它是一个源代码完全开放的操作系统,这促使有理想、有抱负、有志向的黑客们,第一次就能完整地阅读到一个操作系统的全部代码。
图1.13Minix3的界面
2异想天开的FREAX
Linus她们中学的计算机上装的就是这个专门用于教学的Minix系统。其实适宜用来学习,不过系统本身并不强悍。这要是他人也还罢了,而且Linus朋友有个最大的爱好红帽子linux操作系统下载,就是强奸计算机。
他热衷于测试计算机的能力和限制,整天研究如何让计算机根据自己的看法去干活,如何发挥计算机最大的性能,一定要把可怜的机器累得精疲力尽,口眼下陷,电容爆浆,呕血殉职才算罢手。
可想而知,很快这个教学用的操作系统就早已不能满足Linus高手的欲望了,但是显然也没有更好的选择。前面说过了,UNIX奇贵无比,DOS又不够优秀,但是无论UNIX还是DOS,它们的代码都是不开放的,只能用来用,无法用来折腾。于是像其他牛人一样,Linus自己动手了(当想要的东西不存在时就自己动手创造,这充分说明他有成为大牛的潜质)。
明天我们都晓得,Linus从那时起开始了一个事业,一个神话,但在当时,他并没有想这么多,只是为了学习Intel386体系结构下的编程技术。他并不晓得自己将要创造的是一个在世界范围广泛使用的系统,而只认为是自己一时的异想天开。为此,一开始他把自己写的这个操作系统命名为FREAX,有异想天开之意,就此开始了这个“异想天开”操作系统的编撰。大概1991年4月份的时侯,他就编撰出了第一个可以运行的版本——0.00版。这个版本可以启动,运行两个进程,分别在屏幕上复印出AAA和BBB,之后……就没了。其实连句整话都不会说,不过这是一个好的开始,起码能启动了。
*提示:*FREAX始于日文中的freak。freak有荒诞,怪物之意,Linus取其译音命名其操作系统为FREAX。
3Linux的来历
假如Linus就如此干下去,恐怕到明天只会有两种结果。
(1)成家立业后的Linus常常指着他的笔记本C盘上面的一个文件夹对来访的同学说:看,我那时侯还写过一个FREAX系统。
(2)Linus为完成FREAX系统挑灯夜战,最终累得呕血丧生,永远活在我们心里。
其实,假如他仍然自己干下去,就不会有Linux这个东西了,由于一个人的力量是有限的。有道是人多力量大,众人拾柴火焰高。Linus深刻明白这一点,他没有只身在家闭门造车,而是让他的操作系统和互联网,亲昵接触了。
“Helloeverybodyoutthereusingminix——I'mdoinga(free)operatingsystem.”这是他当初在comp.os.minix上发布的消息,告诉你们,他正在写一个操作系统。而且,他还把他写的“异想天开”操作系统的代码上传到ftp.funet.fi的服务器上供你们下载,便于交流心得,共同学习。这就相当于你挪到网站上发贴子说:我研究出一种芋头炖牛柳的方式,佐料是啥啥啥,调料是啥啥啥,如何如何炖,你们都试试吧!(对不住,我又饿了)于是好多有兴趣的人就来尝Linus炖的牛柳,哦不对,是尝试Linus写的系统。不过当时那种服务器的管理员AriLemke看着这个异想天开的名子就不顺眼。想想,既然是Linus写的操作系统,又是类UNIX的,干脆,叫Linux吧。
这儿先要说一个概念,Linux是哪些?狭义地讲,Linux只是一个操作系统的内核,它只是诸位的Ubuntu系统上面/boot/目录下的那种内核文件vmlinuz-x.x.xx-xx-generic。就好比车辆,Linux只是一个引擎而已,只是你们普遍习惯把装了Linux这些引擎的车辆称作Linux车辆。这么既然Linux只是一个内核,要想工作,就还须要好多周边软件的支持,例如文件系统;例如一个命令行程序;例如一些基本的软件。这种东西加在一起成为一个系统,虽然应当称作GNU/Linux系统。不过为了符合平常习惯,本书前面如无非常申明,所提及的Linux都指GNU/Linux系统。
ls /boot
4众人拾柴缔造Linux
Linux被公布在网上以后,引得你们纷纷的路过和围观,好多人认为这个东西挺有意思,不过第一个对外发布的0.01版Linux还有好多的不健全(这简直是一定的)。于是,全世界的有志之士纷纷伸开援手,共同构建这个刚才出生的Linux。
首先就要谢谢RichardStallman大牛创建的GNU计划,这促使Linux毋须去从头开始开发这些最基本的软件和命令,而是直接借助GNU计划中的这些优秀的开源软件——前面说过了,那时侯GNU系统不仅内核以外,早已比较健全了。
有了基本的软件以后,还须要一个文件系统。因为当年Linus高手是在Minix系统上开发的,所以最开始Linux用的文件系统是借用Minix的文件系统。可老借他人的总不是个事儿,还是应当有自己的文件系统,要不然你怎样好意思跟别的操作系统打招呼?这时侯,来了个牛人叫TheodoreTs'o,就是图1.14中那位。
图1.14TheodoreTs'o,曹予德
TheodoreTs'o,曹予德,亚裔,1990年结业于日本MIT学院计算机科学专业。他爱好广泛,喜欢烹调、骑车、无线电报,还有折腾笔记本(这种爱好都不挨到啊),其实这不是我们的重点。他看见Linux认为很有意思,于是怀着极大的热情为Linux提供了电邮列表服务便于你们一起讨论问题,后来还提供了ftp站点来共享Linux的代码,但是仍然用到现今。除此之外,技术上,他编撰了0.10内核中的虚拟c盘驱动程序和显存分配程序。在觉得到Linux缺乏一个自己的文件系统后,他提出并实现了ext2文件系统,随后ext系列的文件系统仍然都是Linux世界中事实上的标准,任何一个发行版还会默认支持ext文件系统,现今早已发展到了ext4了。
另一位牛人,一个德国人——AlanCox,请见图1.15,不要问我为何牛人都不爱刮胡须,我也不晓得。
图1.15AlanCox
他工作于挪威英格兰足总杯学院,非常玩儿笔记本游戏(又一个玩游戏的,可见玩游戏也不是坏事),尤其是网游(你看你看,还是网游),不过那时侯的网游不像现今这样华丽,那时侯是字符界面的,能想像吗?字符界面的网游!那个网游称作MUD——Multi-UserDungeonorDimension。玩MUD其实就得有计算机,得有网,所以AlanCox开始逐步地对计算机和网路形成了兴趣。为了提升笔记本运行游戏的速率及网路传输的速率,他开始接触各类操作系统,为自己选择一个满意的游戏平台,争取榨取笔记本的每一个指令周期。
经过仔细考虑,他买了一台配有80386-SX型CPU的笔记本,但是装了Linux0.11版的系统。这主要是由于预算比较紧张,虽然是Minix他也买不起。于是他开始使用Linux,因而学习其源代码,并对Linux形成了兴趣,尤其是网路方面相关的代码(整天寻思如何榨取他家那点带宽呢)。在Linux0.95版以后,他开始为Linux系统编撰补丁程序,之后渐渐加入Linux的开发队伍,并成为维护Linux内核源代码的主要人物之一。有一个稍为有点软的公司还以前约请他加盟,被他稍为有点硬地拒绝了。
*提示:*80386-SX是Intel公司于1988年年底推出的一款廉价版CPU。其价位只相当于主流版本80386-DX的三分之一。
再有一位,MichaelK.Johnson,他是知名的Linux文档计划的发起者之一,写了《内核骇客指南》一书,以前在LinuxJournel工作,如今就职于知名的商业发行版RedHat的公司。
其实不仅这种大牛,还有更多的大牛,中牛linux 发邮件,小牛,牛肉……(唉,又饿了)她们都为Linux的发展做出了自己的贡献。她们来自不同的国家,从事不同的职业,甚至未曾见过面。并且她们为了一个共同的目标,通过网路,一起合作,借助自己的业余时间红帽子linux操作系统下载,义务地帮助Linux成长,才有了明天这个可以合法免费使用的操作系统。这是哪些精神?这就是“人人为我,我为人人”的软件精神!
5琳琅满目的Linux
这以后,Linux的发展可以用“一发不可拾掇”来形容。好多商业公司和民间组织都纷纷看好这个系统,并加入了Linux的阵营,各类各样的发行版满足着诸多Linux爱好者的需求。
商业化比较成功的发行版,要数来自美国的RedHat了,相信你们对图1.16里这顶红围巾有些印象。RedHat1.0版于1994年11月3日发布,然后仍然稳健发展。到RedHat9.0以后版本出现分支,其中的桌面版与来自民间的Fedora计划合并,成为FedoraCore发行版。而RedHat公司则把精力全部投入企业使用的服务器版本——RedHatEnterpriseLinux。RedHat为Linux社区作的最大的贡献要数rpm软件包了,如今,相当多的发行版都使用rpm作为默认的软件包格式。
图1.16RedHat的徽标
Mandriva是一个来自亚洲的发行版,它的前身是英国的MandrakeLinux。Mandrake的特征是便捷,易用性好,硬件兼容性强。它为Linux的普及做出了很大贡献。2005年Mandrakesoft公司与拉丁欧洲最大的Linux厂商Conectiva达成了竞购合同,Mandrake自此改名为Mandriva。Mandriva和RedHat一样,以rpm作为软件管理工具,部份兼容了RedHatLinux/FedoraCore的软件包。图1.17所示是Mandriva的运行界面。
图1.7Mandriva的运行界面
SUSE是一个来自美国的发行版,隶属于Novell公司。它的特征是界面漂亮,但消耗的资源相对多一些,图1.18所示就是SUSE的界面。另外,它包含了一个安装及系统管理工具——YaST2。用户可以用这个工具进行软驱分区、系统安装、联机更新、网络及防火墙组态设置、用户管理等操作,为原先复杂的设置工作提供了便捷的组合界面。
图1.18SUSE界面
还有一个比较有历史的发行版,就是Debian。它的徽标是一个豪爽的螺旋,如同图1.19所示的这样。这是一个没有商业化,完全跟随开源精神的发行版。Debian于1993年发布第一个版本,仍然到如今,路线没有大的变动,以稳定、保守见称。它的deb格式的软件包和RedHat公司的rpm包具有同等重要的地位。同时,它的apt软件包管理器,也成为其他发行版竞相仿效的模范。
图1.19Debian的徽标
不仅这种之外,还有灵活的Slackware、极端的Gentoo、简洁的Arch,以及我们这个故事的主角,在Debian的基础上改头换面而至的Linux界的新星——Ubuntu。
6小结
好了,Linux家族的这点历史渊源就介绍到这儿,相信您对UNIX、Minix、Linux这种发音差不多的系统,早已有了些简单的了解了。下一章,就该我们这本书的主角——Ubuntu系统登场了。
总结:发展历史:三个组织和两个人开源计划:stallman,GNULinux及各个版本
所学所得:怀抱着压榨计算机性能的初心,意像方式,C语言的发明人Det凡事从小处做起,例如unix系统,linux系统,原本只有一个小目标.