设置

关灯

第贰拾章 乱七八糟 下(第3/5页)

    哪两种?”范含有点儿忘了。

    “一种是‘实模式’,另一种是‘保护模式’。”DEC工程师说,“另外,我对于您的这种命名也不是很理解。”

    “啊……”范含心道不好,这个漏子可不太容易解释。以前写附录的时候没仔细检查,就直接抄上了。

    实模式就是8086的工作模式,除了用来向后兼容之外,没有其他用途。Intel的CPU启动时候默认就是实模式,调用BIOS指令进行系统自检之后载入可启动设备的初始化代码。几乎所有的操作系统内核获得CPU控制权之后的第一件事就是先进入保护模式,然后再干别的。

    “这个,只是我不太成熟的想法。”范含说,“生怕复杂一点的模式让BIOS里面的代码不好写……是不是有点多余?”

    “是有点儿……”工程师说,“仅仅是启动时才用得到,与其给CPU加上累赘,不如在BIOS里面多费些功夫。”

    “那就去掉吧!”范含说,“反正也用不上。”

    “嗯。”DEC工程师说,“还有,在您寄过来的文件上面,提到了CPU的特权级别?”

    “是,”范含说,“分成内核态和用户态。”

    “这个我能理解,但是……”工程师说,“旁边您好像用笔写了点东西,我不太明白。”

    “什么呀?”

    “您在‘内核态’下面划了一条线,拉出来的注释写着‘Ring0’;‘用户态’的注释是‘Ring3’……”工程师说,“为什么没有‘Ring1’和‘Ring2’呢?”

    “啊……”范含心里又道不好,这个漏子更不容易解释。以前写附录的时候怕自己忘了,就顺手注上了。

    Ring0~3四个特权级是INTEL的独家玩意,从80286开始就有了,别家的CPU包括Alpha都没有这么复杂。根源是,在386成为桌面主流之前,INTEL始终坚定地把x86定位于微控制器,而不是中央处理器(INTEL规划中的通用CPU是iAPX432),4个特权级有助于实时操作系统的鲁棒性。微软的所有版本的保护模式操作系统都只需要两个特权级,最早的Windows是用Ring0和Ring1,后来改用Ring0和Ring3。(注)

    “这个,也是我不太成熟的想法。”范含说,“特权级别至少就应该有两个,但是如果只有两个……心里总是不放心,就想多加两个……是不是有点多余?”

    “是有点儿……”工程师说,“我还没想出来什么应用能需要四个特权级。”

    “那就去掉吧。”范含说,确实,对桌面应用而言,两个级别足够了,“反正现在也用不上。”

    “嗯。”

    “还有么?”

    “暂时没了。”工程师说,“听您这么一解释,许多问题已经不是问题了。”

    “那就好。”范含挂掉电话,想,这话还真是说得委婉啊,明明是自己“胡写”的东西让别人伤透脑筋。

    -------

    既然DEC已经决定采用FOR的设计,那么以前那个“不平等条约”就可以废掉了。现在改成了“互通有无”,纯粹的生意关系。FOR授权DEC无偿使用并修改这款处理器的设计,DEC决定放弃由于当初支持奥尔森全力赞助FOR的决定而获得的独家供货权。

    这下好了,自己终于甩掉了“托管”的命运,真正成为“正常公司”了。

    另一方面,DEC决定把公司总部从硅谷迁到洛杉矶,这也可以看作是对于“
    (本章未完,请翻页)