上一期我们说到,林纳斯硕士毕业以后,去美国硅谷一家神秘的公司工作,这家公司叫全美达,并且引起了关心Linux以及开源软件的一些人士的担忧,林纳斯本人的一些澄清,并没有消除他和公众之间的一些误会。但是,生活总是要继续的,即使有人误会,生活也是要继续下去的。[图片]来到硅谷以后,以林纳斯的名气和实力,势必会引发硅谷各大公司的一阵骚动。就像把咱们这个太阳系里,扔进一颗土星或者木星进去,那么,太阳系里所有行星的轨道肯定会受到影响,要重新的运行于另外一个轨道。林纳斯的实力,在当时已经足可以影响硅谷的公司。如果是我们这种人99.999999%的普通人,去硅谷或者不去硅谷,来到这个世界或者离开这个世界,其实没什么影响的。虽然这说起来有点残酷,但是,现实就是这么残酷。林纳斯这种人,天生就是改变世界的,这个改变世界并不是口头上改变世界,他是真的改变了世界。我们这里有很多人只是口头上改变世界,实际上只是喊喊口号,忽悠一下不明真相的人民群众。这种人,其实挺缺德的,我的意思并不是说他对不起崇拜他的粉丝,因为粉丝都是心甘情愿的,一个愿打,一个愿挨,这都没什么问题,虐待狂和受虐狂,我们外人可能看着很血腥,但是讲台上的他和讲台下的他们,感觉那是天生的一对,以受虐狂的角度来看,你不虐待他才是真正的虐待他。我的意思是讲台上天天说改变世界的人,是对不起牛,因为他天天在台上吹牛B,人家牛很悲惨的,人家好好的过日子,吃个草,挤个奶,结果你天天吹人家,所以,请把B还给牛,牛也需要性生活!当然了,本文的主角林纳斯是真正改变了世界的人,虽然他没说过他的目标是改变世界。硅谷有另一个人也改变了世界,虽然他天天说他改变了世界,但是他真的改变了世界,那个人就是乔布斯。这两个人都是巨大的行星,丢到哪里都能引起其它行星轨道的变化。首先发起邀请的是乔布斯。乔布斯的秘书发了一封邮件,说能不能抽出1-2个小时来,和乔布斯见个面,乔布斯很希望和他谈谈。林纳斯虽然不知道到底怎么回事儿,但是还是爽快的答应了。因为这种事情,不答应是不行的。为什么说不答应是不行的呢?就像太阳系里,突然挤进来了一颗大行星,别的行星怎么会视而不见,都发生万有引力了,你这不见个面也说不过去。就像苏联和美国,两家都拥有巨量的核弹,即使在冷战的时候,他们还是有各种渠道说说话的,因为两个国家真的搞起冷战来,让双方互相猜忌,那更危险。林纳斯那时候,也已经是个大家伙了,硅谷的这些巨头,不说是拉关系吧,起码让人家知道你没有敌意,家里的客厅里突然坐进来一头大象,7,8吨,一万四五斤重,让人家主人假装看不见是不行的。林纳斯不是我们普通人,去旅游,人家都不搭理咱。爱来来,爱走走,随便,想当自由了。但是到了林纳斯那个层次,怀揣核武器,硅谷的公司当然会非常重视了。所以,除了乔布斯,还有SUN公司等等,都分别请林纳斯坐下聊聊天。按照常理,不见得是请林纳斯来做朋友,起码这些硅谷的公司要确认一下,这个家伙不会是敌人吧,毕竟,他有核武器呢。所以,林纳斯和硅谷巨头的一系列会面,是不得不去的。林纳斯就单枪匹马的去赴约了,乔布斯带来了一个人,就是苹果公司当时的首席工程师埃维•特凡尼安。埃维•特凡尼安这个人,我曾经有一期故事里提到过他,这个人不是个菜鸟,他是卡耐基梅隆大学的博士,是Mach项目的开发者之一,Mach项目卡耐基梅隆大学开发的一个操作系统的微内核,这个内核是最早实现的微内核之一,这个项目是后来FreeBSD的内核,以及苹果操作系统的内核Darwin的基础。所以,这个人非常的厉害。参与这个Mach项目的另一个人叫理查德•拉希德,这个人是微软的副总裁,也是个超级牛人。我觉得非常有必要说一下背景,为什么要详细的说背景呢,因为林纳斯和乔布斯的这次会面,吵架了,当然了,并不是我们这里网络上,比如网易这种网友的吵架,互相问候对方的祖先,而是,林纳斯和埃维•特凡尼安同学发生了激烈的争吵。是关于技术的。在讲这次吵架之前,我先讲吵架的缘由,或者说是可能的一些缘由,因为林纳斯的自传里,只说了微内核的垃圾,可能会让大家觉得微内核真的是垃圾,其实,都是一家之言,微内核没我们操作系统课上讲的那么好,但是也没有林纳斯嘴里那么糟糕。现在我开始讲我主观上认为的,比较客观的一个历史。在这里强调一点,是我本人主观上觉得比较客观的历史。我们都知道,Unix是最成功的操作系统之一,我在以前的几期节目里,把Unix吹成了一朵花,Unix是Bell实验室的两个家伙搞出来的,他主要的设计思想是,一切都是文件。我们教科书上也是这么说的,一切都是文件。但是实际上呢,并不是!为什么不是呢?因为Unix一旦流行起来,Unix上的扩展就越来越多了,而且,这些扩展很多根本就不是Bell实验室的汤姆逊和里奇这两个好基友写的。比如Unix上使用的图形支持最初有MIT写的,MIT写的图形界面中的对象就不是文件。Unix支持网络,这些网络大部分是UC Berkerly写的,我在前面关于BSD的节目里讲过,这些网络设备以及服务,也不是文件。所以,Unix所宣传的一切都是文件这个口号,很大程度上和共产主义按需分配一样,不是那么的准确。准确的来说,贝尔实验室写的Unix一切都是文件是没错的,但是别人扩展的部分,并不一定都是文件。和共产主义一样,按需分配的前提是必须要是县委书记以上,县委书记以上的是共产主义按需分配,县委书记到村长这一块是按劳分配,像我这种程序员是原始社会,按血汗分配。不管怎么说了,很多人对Unix是不满意的,最不满意的是Bell实验室的人,他们认为,好好的一个Unix,被你们这群傻X给搞坏了。然后,他们另起炉灶,详细设计了一番,来玩个真的,让“一切都是文件”这个宏伟的目标得以实现。然后,以Rob Pike,Ken Thompson和Dennies Ritchie为首的几个人,还包括C++的作者,提出管道概念的作者,写了awk这个语言的作者,组成了一个银河战舰,具体来说,以后这个团队,基本上都获得了图灵奖,美国总统奖这种级别的奖,再多说一句,现在Rob Pike现在在Google设计Go语言,另外,他在Google的邮箱是一个字母,r@google.com,谷歌整个公司只有他自己有权力使用单个字符作为邮箱,连公司的两个创始人都没资格。大家可以给他发垃圾邮件 :)就这样一个银河战舰,声势浩大的制造了Unix的升级版,名字叫Plan9,为啥叫plan9这个名字呢,因为在1959年,上映了一部美国科幻电影,B级片,导演叫艾德•伍德,这个电影的名字叫Plan9 from Outer Space, 翻译为中文叫外太空9号计划。这部片子相当的烂,因为这个操作系统,我曾经从海盗湾下载过,另外,这部电影曾经在1980年被评为最差电影,而突然名声大噪。实事求是的来说,这部电影之所以能被评为最差电影,是因为1980年么,郭敬明还没有当导演,如果再晚30年,这部电影即使走后门送礼也评不上最差电影。如果有人是程序员并且在Unix上编过程序的话,可以体会一下,任何Unix编程的书,都会提到Unix中一切都是文件,但是后来,发现实现上实在是有问题,因此引入了ioctl这个函数,这个函数争议极大,简直就是对Unix系统的一次恐怖袭击,而且还成功了,这个函数呆在Unix里不走了。Unix的作者也觉得,这样搞下去,Unix怕是要挂了,因此搞一个真的一切都是文件。在Plan9中,试图让一切都是文件,比如内存,显卡,CPU,都是文件,如果大家仔细想想的话,就会发现,Plan9其实就是个分布式操作系统。也就是说,现在我们用的云计算,在30年前,贝尔实验室的Plan9已经在试图实现了。当然了,这个步子有点大,扯到蛋了。这个Plan9最终没有代替掉Unix,但是,Plan9的副产品,比如UTF8可能是影响最大的副产品之一了,已经深深的影响了我们这个世界。然后,Linux实际上是模仿的Unix,而且模仿的惟妙惟肖,即使设计的一些缺陷,Linux也照单全收了。但是Linux也有所创新,这些创新,比如说所有的进程也是文件,就是抄袭的Plan9这个系统的,但是抄袭的又不够彻底,比如在Linux系统进程文件夹/proc这个文件夹里,进程虽然是文件,但是,这个文件我们是不可以使用文件的一些命令,比如rm,cp这些命令的,所以,只是看起来像文件,但是实际上不能使用文件操作命令的假文件。不止贝尔实验室的人觉得Unix并不太好,其它好多人觉得Unix并不好,他们打算连Unix的内核也不够好,这就是乔布斯同学会面时候带来的那个埃维•特凡尼安同学搞的Mach微内核。Linux的内核是宏内核,大体意思是讲内存管理以及文件系统这些模块都放在内核态,现在的操作系统,包括微软和苹果的,都没有真正的教科书上的微内核,而是混合内核。还是前文我所提到的Plan9的一个遗产,叫FUSE(Filesystem in Userspace)这个技术,虽然Plan9这个系统没成功,但是这个技术被广泛的用在了linux中,比如linux可以动态加载模块以及fuse,这属于Linux吸收的微内核的东西。也就是说,直到今天,主流的操作系统,已经不是泾渭分明的状态,基本上已经是你中有我,我中有你了。但是,在林纳斯和乔布斯会面的时候,大家都没有料到,在很多年后,微内核和宏内核会如漆似胶。如果我没有记错的话,linux内核2.6.14以后的版本,都可以激活fuse这个模块,只要激活了这个模块,可以不借助任何软件,直接ssh加载远程的目录,这个功能就是微内核的思想,当然,也是借鉴的plan9这个没有成功的操作系统。但是,在林纳斯会面的时候,林纳斯还没有意识到N年以后,他会添加微内核,以及动态模块这种东西到linux中,因此,在他的自传里,他将微内核贬的一文不值,原话是:说实话,我觉得那东西简直就是垃圾。至于吵架的细节,在林纳斯的自传里有另外详细的描述,首先是技术之争,其次,我认为是乔布斯,林纳斯,比尔盖茨这种人物,是不会在其它人手下打工的。你能想想项羽在刘邦手底下当大将的情景么?不会的,按照中国迷信的说法,这些人生下来是有王者之气的,他们出生的时候,可能天上打雷下雨,或者半夜里出太阳,反正有奇异的景象。不可能在别人手下打工赚钱的。好了,这期就到这里,我去打工赚钱去了!