字体:大 中 小
护眼
关灯
上一页
目录
下一章
第贰拾壹章 太监们 (下) (第3/3页)
来的事就简单了,范含要求“OS组”的所有相关人员都去写那些“小工具”,不管在什么机器上面都成,只要是文本界面就可以。 需要第一批实现的工具目录,是范含从“GnuWin32”项目里面抄下来的,主要就是“FileUtils”和“TextUtils”两个软件包。 FileUtils是一些文件目录cao作的命令,比如ls、cp、rm什么的,DOS下面也有一些相应的命令,不过功能要弱许多。TextUtils包含的工具很多都是DOS下面没有的东西,用来处理文本文件,比如sort、uniq、tr等等。 在BROM里面,有全部的GnuWin32的程序和源代码,以前每隔一段时间,范含都会去主页下载最新的版本。这些都是很有用的东西,只要自己需要在一段时间内用一台Windows计算机干点什么,首先安装的就是这堆工具,其次就是ActivePerl。 目前的所有计算机都是采用文本界面和用户交互,只不过还没有标准输入和标准输出的概念,一些命令行参数的形式也和Unix不太一样。所以首先实现的是一个加载器,用法有点像使用“-e”选项的Perl。这个加载器的作用就是对这些工具的Unix式命令行作一些处理,然后再传给具体的机器执行。命令行的形式采用GNU标准,单连字符“-”带单字母,双连字符“--”带多字母,等等。 开发过程中还出现一个问题:目前的C语言并没有标准库,这给开发工作带来一些不小的困难。 本来C语言就是为了Unix才出世的,其标准有着浓厚的Unix色彩。去年范含和奥尔森讨论的时候就特意提到了这一点,率先实现的都是一些平台无关的库函数,比如字符串cao作和数学运算什么的。所以如今范含才有本钱要求所有开发人员尽量使用这些“伪标准”库函数。实在没办法的情况下可以通融,不过必须要时时刻刻提醒自己,这些通融都是权宜之计,在不久的将来肯定会被重写。范含可不希望像某些程序那样,不得不把临时代码一直保留到整个软件被淘汰。 范含留给自己的任务就是写“Shell”。 既然到如今已经有了比较成熟的C语言环境,像lex和yacc这样的工具就没有必要非得在脑子里面运行了。磨刀不误砍柴工,第一件事,就是把这两个程序的代码敲出来……或者说“移植”……从BROM里面移植到外面。 随着移植的进行,范含越来越能体会到设计一个系统的工作之庞大和复杂。就说这两个工具,仅仅涉及到字符串cao作,不过却是使用正则表达式。所以,还要首先写一个正则表达式库。当然,毫不犹豫的抄袭“PCRE”,地道的Perl标准。 作为副产品的正则表达式库,以及lex和yacc,范含也没糟践,特意写了一篇论文向《美国计算机协会通信》杂志投稿。编辑部在两天以后就立刻回信,保证发表在九月号上,甚至不惜撤掉其他文章重新安排版面。 范含的这篇论文从形式上讲,是六月号KenThompson那篇文章的回应,调门相当的低。整篇文章中,自己的名字一共出现了十几次,可是“mpson”却出现了几十次。通篇到处都在说“受到了Thompson先生天才构思的启发”,字里行间透出一种执弟子礼的架势。措辞之rou麻,让负责润色文笔的蓝蓝都为之脸红。 “你这不是在拍马屁么?”蓝蓝问,“虽然说是他率先提出了理论,不过你可是率先实现了啊!并且许多地方已经很大的扩展了他原来的设想啊!” “你说得很对,我就是在拍马屁。”范含回答,“不谦虚地说,我的这个实现相当完美,今后几十年都不会有太大的变化。并且我还率先开发出一个完美的应用,就是这个应用本身在编译技术发展历史上也是浓重的一笔。” “所以我才纳闷,你这个马屁拍得也太明显了吧?”蓝蓝说,“这个‘mpson’好像还当不起。” “现在肯定是当不起,这样才好。”范含说,“我就是要捧他,一定要捧得他有一种如坐针毡的感觉。” “然后呢?” “然后在惶恐、惭愧之中,肯定会主动要求和我会面。”范含jianian笑,“呵呵呵……嘿嘿嘿……” ------- 有些事情是水到渠成的。 等到范含写好了Shell的草稿,其他人也完成了那些工具,OS组的所有成员,甚至包括一些硬件工程师,都对于这个系统最终的模样有了一个八九不离十的概念。 “看来你说的‘面向应用的系统设计’还真有点道理。”奥尔森说。 “是啊,内核虽然最重要,但是最终用户又看不到。”范含说,“外围的应用一旦确定,内核的任务也就基本上确定了。” “嗯,能够支撑起来外围的东西就够了。”奥尔森说,“如果开始就凭空写内核,恐怕确实无从下手。” “既然已经有了目标,”范含说,“我想你的人随随便便也能把这个内核写出来吧?” “应该可以,我们以前为了自己的机器也写过好几个cao作系统呢。”奥尔森说,“再说,你们的整个开发过程不就是在用其他机器cao作系统的内核支持这些外围应用么?” “那就拜托了。”范含轻轻巧巧的把任务推给DEC,“写完了咱们再合起来调试。” “行。”奥尔森说,“还有件事。” “什么?” “这个cao作系统的名字想好了没有?”奥尔森问,“眼看胜利在望,应该准备正式的对外文件和广告了。” “想好了,”范含说,“就叫做‘Unix’吧。” “啊?”奥尔森很惊讶。 “Unix,怎么了?”范含也很惊讶。 “没什么……”奥尔森说,“你的性格确实有如传说中那样古怪。” “是么……” …… 等到范含看到文件的时候,才明白奥尔森为何惊讶。 cao作系统的名字并不是“Unix”,而是一个同音词“Eunuchs”,意思是“太监们”。 -------
上一页
目录
下一章