第贰拾章 乱七八糟 (下)
“确实出了点东西。”奥尔森承认,“我们已经造出机器来了,准备替换PDP-8,不过还没来得及起名字。按照PDP的序列,发售的时候恐怕应该叫做PDP-11。” “哦?”范含回想了一下PDP的历史,确实轮到11了。 在整个PDP系列中,18位机型是主流。 DEC最早的产品PDP-1就是18位的;PDP-2只是个原型,就是给PDP-1换了另外一种内存板,没有真正制造过。 PDP-3是36位机,简单的将PDP-1字长加倍,别的部分几乎没有改动。PDP-3仅仅造了一台,还不是DEC自己造的。一个客户……麻省Waltham的“ScientificEngineeringInstitute”,1956年被CIA建立起来用于研究雷达的微波辐射对人脑的影响的机构……在1960年造好。后来这台机器给了MIT,再后来继续被给来给去,最终在1974年于俄勒冈寿终正寝。虽然可以说PDP-3和DEC关系不大,不过还是占用了PDP的型号序列。 后来1962年的PDP-4是PDP-1的改进,1965年的PDP-7,1966年的PDP-9继续改进,最终形成了一个系列。如果按照历史,1970年的PDP-15就是这个系列的最后一款,升级了晶体管逻辑电路。 这个18位系列是DEC的主流。 另一个系列,就是12位的“经济型”计算机,从1963年的PDP-5时开始,然后就是范含买的这台PDP-8。这个系列在当时看来确实是物美价廉,所以一直经久不衰。除了1969年的PDP-12是相关机种之外,PDP-8一直都在不停的改进,直到1975年的PDP-8/A为止。 还有一个小系列,36位的机型。1964年的PDP-6,售价30,0000美元,仅制造了23台,几乎全都是为了MIT。就在刚刚过去的1967年里,作为继承者的PDP-10研制成功,采用了优秀的分时处理系统。 所以,按照型号序列,也该轮到“PDP-11”了。 “能详细说说么?”范含问奥尔森,“听口气,你好象对这个机种寄予了很大的期望?” “当然,”奥尔森肯定的说,“如果搞得好,这一次就能摆脱‘乡勇’、‘民兵’的形象了。” “这一点我深信不疑。”范含说。 “嗯,按照你的方案,那个纯16位的处理器很早就已经搞定了,周边的设备也都差不多了。”奥尔森说,“就是说,机器已经造好,等到相应的软件写好就可以卖了。” “就是最大访问64k的那种?”范含想起来自己曾经把8086的20根地址线改成16根,为了方便。 “对,虽然少了点,不过已经比PDP-8要强,作为替换机种也不是不行。” “这个就是预计中的PDP-11?”范含问。 “嗯,确切地说,应该是‘PDP-11/A’。”奥尔森说,“在我们的计划里面,PDP-11分成三种。” “都用同一款架构么?” “差不多吧。”奥尔森说,“你决定对MS升级的事情启发了我们,64k内存确实有点少。” “你们也打算‘升级’?” “对,也打算把地址线扩充一倍。”奥尔森说,“不过不是‘升级’,是单独的型号,计划就叫做‘PDP-11/B’。” “那C型应该是什么样?”范含追问。 “就是你的那个方案的附录里面提到的,”奥尔森说,“真正的32位处理器。” “晤……”范含又想起来了,自己曾经在最后简单的描述了一下386的架构。 直到目前的奔腾四为止,Intel的桌面处理器一律都是沿用386架构,只是后来多了一些其他指令集,比如MMX啊、SSE呀什么的。一般的软件包,包括Windows在内,适用Intel平台的版本也都一律标明“i386”。就是自己写程序,只要不是特殊的任务,编译好的执行文件里面也都是386指令,想玩点高级的,要么自己内嵌汇编实现,要么就链接专用的库好了。 正因为如此,范含才会想尽快实现。一旦搞定,直到自己退休为止,这方面都用不着怎么cao心了。相同的平台可以保证软件开发的成本较小,而可靠的利润却很大。 “搞定了?” “还没有,”奥尔森说,“还有一些关键问题,不过PDP-11/C的名字就是打算给它留着的。” “关于名字的事还有的商量。”范含说,“按我个人的意思,这三种机器架构相似,但是寻址方法各不相同,虽然勉强可以做到兼容,不过,还是应该分成三种型号比较好。” “你是说PDP-11、12、13么?”奥尔森问。 “是啊。” “可是13这个数不吉利。”奥尔森说,“叫PDP-14吧。” “确实……”范含知道,历史上的DEC就没有在PDP系列里面算上“PDP-13”,PDP-12后面就是PDP-14。可是……在华人心里,14就是“要死”,也不吉利。 这话还不好说。 “要不这样,”范含出主意,“既然那种32位机器可以算是一场革新,不如不要塞进PDP系列了,另起炉灶吧。” “成啊,”奥尔森很爽快,“你起个名字吧。” “就叫‘VAX’吧,‘虚拟地址扩展’的意思。”范含脱口而出,“反正本来也就是这么回事,从段式寻址改成页式,不再直接找物理内存了。” “行!”奥尔森答应了,“那我们就先推出PDP-11,争取替换掉PDP-8,然后是扩展版本的PDP-12,等到技术成熟之后,就轮到VAX了。” “呃……顺序稍微换一下吧。”范含更正,“把那个扩展版的叫做PDP-11,然后推出简化的PDP-12。” “为什么?” “因为这边急需一种真正的,比较强大的计算机。”范含说,“我想干点什么了,成天光看着IBM的System360如此嚣张,心里不痛快。” “就因为上次IBM劝你老老实实的给它当供货商?”奥尔森问,“其实我老早看IBM就不顺眼,就算没这档子事也一样。” “这我知道。”范含说,“看我的吧!将来谁是谁的供货商还不一定呢!” “OK,”奥尔森说,“那就这样,我这边抓紧弄出一台原型先给你送过去,然后可就是真得看你的了。” “放心吧!”范含说,然后挂了电话。 虽然说自己有点故意,不过确实是不愿意距离真正的历史太远。PDP-11和VAX……推动Unix发展的两大动力,就在这种气氛轻松的聊天当中被确定下来。名字倒是一样,只是内涵却面目全非。 这就是天意么?范含抬头望天,却看见了天花板。 ------- “有几个问题。”电话那边的DEC工程师说。 “您问吧。”范含答茬。 “第一个,您的方案里面为什么把处理器的工作方式分成两种?” “哪两种?”范含有点儿忘了。 “一种是‘实模式’,另一种是‘保护模式’。”DEC工程师说,“另外,我对于您的这种命名也不是很理解。” “啊……”范含心道不好,这个漏子可不太容易解释。以前写附录的时候没仔细检查,就直接抄上了。 实模式就是8086的工作模式,除了用来向后兼容之外,没有其他用途。Intel的CPU启动时候默认就是实模式,调用BIOS指令进行系统自检之后载入可启动设备的初始化代码。几乎所有的cao作系统内核获得CPU控制权之后的第一件事就是先进入保护模式,然后再干别的。 “这个,只是我不太成熟的想法。”范含说,“生怕复杂一点的模式让BIOS里面的代码不好写……是不是有点多余?” “是有点儿……”工程师说,“仅仅是启动时才用得到,与其给CPU加上累赘,不如在BIOS里面多费些功夫。” “那就去掉吧!”范含说,“反正也用不上。” “嗯。”DEC工程师说,“还有,在您寄过来的文件上面,提到了CPU的特权级别?” “是,”范含说,“分成内核态和用户态。” “这个我能理解,但是……”工程师说,“旁边您好像用笔写了点东西,我不太明白。” “什么呀?” “您在‘内核态’下面划了一条线,拉出来的注释写着‘Ring0’;‘用户态’的注释是‘Ring3’……”工程师说,“为什么没有‘Ring1’和‘Ring2’呢?” “啊……”范含心里又道不好,这个漏子更不容易解释。以前写附录的时候怕自己忘了,就顺手注上了。 Ring0~3四个特权级是INTEL的独家玩意,从80286开始就有了,别家的CPU包括Alpha都没有这么复杂。根源是,在386成为桌面主流之前,INTEL始终坚定地把x86定位于微控制器,而不是中央处理器,4个特权级有助于实时cao作系统的鲁棒性。微软的所有版本的保护模式cao作系统都只需要两个特权级,最早的Windows是用Ring0和Ring1,后来改用Ring0和Ring3。 “这个,也是我不太成熟的想法。”范含说,“特权级别至少就应该有两个,但是如果只有两个……心里总是不放心,就想多加两个……是不是有点多余?” “是有点儿……”工程师说,“我还没想出来什么应用能需要四个特权级。” “那就去掉吧。”范含说,确实,对桌面应用而言,两个级别足够了,“反正现在也用不上。” “嗯。” “还有么?” “暂时没了。”工程师说,“听您这么一解释,许多问题已经不是问题了。” “那就好。”范含挂掉电话,想,这话还真是说得委婉啊,明明是自己“胡写”的东西让别人伤透脑筋。 ------- 既然DEC已经决定采用FOR的设计,那么以前那个“不平等条约”就可以废掉了。现在改成了“互通有无”,纯粹的生意关系。FOR授权DEC无偿使用并修改这款处理器的设计,DEC决定放弃由于当初支持奥尔森全力赞助FOR的决定而获得的独家供货权。 这下好了,自己终于甩掉了“托管”的命运,真正成为“正常公司”了。 另一方面,DEC决定把公司总部从硅谷迁到洛杉矶,这也可以看作是对于“战略合作伙伴”FOR的重视。有了范含的支持,奥尔森在DEC里面说话硬朗了许多,这次“迁都”几乎没人反对。 本来,在DEC创立之初,就是安家在硅谷。麻省的波士顿实际上是DEC最大股东AR&D的总部。由于AR&D所占股份的决定性作用,使得每次重大决策的时候,DEC的董事们总是在波士顿召开会议。范含头一次去“推销”俄罗斯方块的时候,奥尔森就是在波士顿接待的范含。 随着DEC的业务蒸蒸日上,AR&D的太上皇们没什么不满意的地方,另外由于都是外行,就算不满意也没什么建议。到后来基本上就是撒手不管,任凭奥尔森在硅谷怎么折腾都行。 现在好了,除了工厂还留在硅谷之外,负责办公的头头脑脑们都过来了,以后只要有事儿,随时都能见面。 大洛杉矶地区的官员们当然欢迎,毕竟DEC也是业内响当当的角色,虽然资格不算老。不过资格老的也不会过来,比如IBM,自打创立起,就戳在纽约不动弹了。加州的官员们也很欢迎,从此南加州又多了个“高新技术开发区”,注定会和北加州的硅谷一样,成为加州经济的又一增长点。 DEC的新机种“PDP-11”还需要一段时间才能出来。范含还需要等一阵子才能开始Unix的开发。不过既然随时能打听到开发进度,就不会像以前那样心急火燎的。 当然,越快越好,现在的KenThompson应该正在折腾实验室里面那台“闲置”的PDP-7,以摆脱“Multics”项目中止后无所事事的无聊。和原作者比起来,除了一大堆限于技术条件,根本不可能在如今实现的“后世cao作系统”的源码之外,范含没有任何优势可言。 能知道对手的动态当然是最好的了,但是范含又不打算直接打电话去问,或者把人约出来聊聊。毕竟这时候Ken写Unix还是属于玩票的性质,自己却是打算赚钱,就这么明显的“偷艺”太卑鄙了点。最好的情况是,自己比Ken早一步推出完整的实现了Unix理念的cao作系统,就目前的时间和自己的本事来看,不太可能。况且,历史上的Ken是用汇编写的第一版Unix,而现在自己已经抢先推出了C语言,并且DEC也针对所有的机器都推出了编译器,这会不会加快了Ken的进度呢? 比较合理的猜测应该是,眼下争取自己写的东西和Ken“不谋而合”,然后交流一下。 自己虽然对于凭空写cao作系统没什么信心,但是对于Unix的整体把握和最终会达到的效果应该非常熟悉。Ken则刚好相反,可能什么都能写得出来,但是对于自己到底想写点什么东西还没有一个清晰的概念。 况且,历史上Ken的Unix的定型应该在PDP-11上面,由于范含的作为,历史上的PDP-11已经不会再出现了。现在开发中的机器,将取代历史上的那个,范含“近水楼台先得月”,只要和DEC商量着干,估计最后做出来的东西肯定比Ken的作品看起来要正规那么一些。 再说了,本来Unix就是在无数“Hacker”的贡献中发展壮大起来的,这些早期Hacker有个共同特点,那就是几乎用的都是DEC的机器。如果范含自己凭借和DEC的良好关系,争取把Unix弄成“准官方”的DEC钦定cao作系统,正好可以借着这股东风,大展拳脚。 乱七八糟的事情还真不少,范含现在有了点“日理万机”的感觉。 一个个都考虑周全挺不容易,说不定过几天就忘了。俗话说,好记性不如烂笔头,范含习惯性的拿起笔,打算写点“Note”。不过最后还是忍住了,脑海中总是出现这么一幅画面:一列破旧的火车上,一个秃顶却戴帽子的小个子老头指手画脚的对一个穿工装的大壮说,“不用记,不用记,根本不用记,工作的事记什么呢?” 由于有了处理器方案上面“脚注”的前车之鉴,现在的范含不敢随便乱写东西,免得后来圆谎不得导致穿帮。目前自己的FOR还不能算是“计算机公司”,仅仅推出了Kervin和MS两种“专用电子设备”。只有在通用的计算机和通用的cao作系统出现之后,自己的笔记才能算做“今后发展的设想”,不是“令人怀疑的暗号”。 一点不写也不行,自己的记忆力还没到这个地步,目前又正是关键时刻,一个疏忽就赶不上趟了。 写的含糊点吧!自己能看懂就成了。 “你最近又在搞什么花活?”蓝蓝在整理文件的时候,忽然口气严厉的质问范含。 “什么也没搞啊?”范含条件反射般的否认。 “那这是什么?”蓝蓝把手按在桌子上,推到范含跟前。 好大一张白纸。 纤纤玉手拿开,露出左上角被挡住的两行小字。 第一行:某天某人来到某地,看到某事,想起了某个问题。 第二行:对于这个问题,我已经想到了一个绝妙的主意,可惜,这里的地方太小,写不下。 ------- ------- 本章推荐游戏: Incadia SnowstepDevelopment出品 /web/html/incadia_l 可能各位读者还记得原来最早的掌上游戏机只能玩方块,其中有一种是三个球竖着从天而降,凡是横竖斜能凑够三个以上同种球的就会消除。这个游戏的创意相同,只不过积木改成了各色的面具,属于通过强调声光效果来增强可玩性的那种变型。作者玩的时候忽然想到,如果把积木改成京剧脸谱,背景音乐用京胡伴奏会怎么样。在没有独到创意的情况下,通过其他方面着手也不是不可以,最终的产品也不会有人不承认其“中国特色”。这家德国公司并没有什么惊天动地的大计划,只是借来一个创意,加进自己的内容罢了。相比之下,热衷于搞“中国人自己的cao作系统”、“中国人自己的办公软件”的家伙大有人在,结果却往往令人遗憾。大事干不了,小事不愿意干,看来民族软件不争气也不仅仅是客观原因。 ------- 注: 这一段原来作者自己写的内容如下: 这些个“Ring”实际上是微软提出来的。在开发WindowsNT的早期,对应的是两种平台:Intel的386和DEC的Alpha。其中,Alpha的特权级别有四个,386只有两个。为了统一起见,WindowsNT也只用到了两个特权级别,不过却照顾到Alpha的架构,称为“Ring0”和“Ring3”。后来的WindowsNT不再针对Alpha开发了,但是术语一直沿用下来。 作者道听途说就敢现炒现卖,真是现眼啊!幸亏龙空书友“望山”及时指出了错误。现在正文中相应的那一段是望山的原话。