Jör*_*tag 17
Windows 社区中有一个流传甚广的都市传说,Dave Cutler 之所以选择“Windows NT”(WNT)这个名字是因为如果你从每个字母中减去一个,你就会得到 VMS,这是 Dave Cutler 在他来到微软之前工作的操作系统.
然而,事实并非如此。卡特勒既没有选择这个名字(它或多或少是偶然出现的)也没有选择 WNT 这个名字(它实际上是“NT OS/2”,因为当时的想法仍然是构建下一代操作系统/2 – Windows 甚至不在图片中)。NT 也不代表“新技术”。
微软聘请戴夫卡特勒为 PC 构建下一代操作系统。当时,微软最现代的操作系统是 OS/2,由 IBM 和 MS 联合构建。因此,对 MS 而言,“下一代”自然意味着 OS/2 的新版本。(Windows 只是被视为 DOS 的 GUI,很快就会被真正的操作系统取代。)
在 DEC,Dave Cutler 曾从事 VMS 方面的工作。VMS 的问题之一是很多都是用汇编编写的,而且相当单一。两者都意味着移植到其他平台有些困难。当他受命编写 VMS 的继任者时,他改变了这一切;虽然他喜欢 VMS 的抽象和风格,但他不喜欢它的实现:他想以高度模块化的风格编写它,他想用 C 来做——基本上是对 VMS 进行清理和现代化的重新实现。DEC 很快就对他的项目失去了兴趣,并有效地将他赶出了公司,这就是他最终在微软实现自己想法的原因。(这就是 NT 看起来与 VMS 如此相似的原因:它本质上是卡特勒一直想编写的 VMS 版本,但 DEC 不允许他这样做。)
因此,卡特勒正在编写 OS/2 的新版本。当时,完全不清楚“PC”究竟是什么,i386 会胜出。Intel 正在试验 RISC 处理器,Microsoft 正在试验 MIPS 处理器,IBM 正在开发 PS/2 和后来的 PowerPC,DEC 的 Alpha 即将到来。仅为其中一个平台构建操作系统将是一项巨大的工作和危险的赌博。因此,新的 OS/2 必须高度便携。为了确保最大的可移植性,卡特勒试图找到最奇怪、最不像 PC 的架构。他找到了英特尔 i860。i860 是 64 位,i386 是 32 位。i860 有很多寄存器(32 个),i386 只有 8 个。i860 是 RISC,i386 CISC。i860 具有 VLIW 架构。它在芯片上有一个 SIMD 单元(后来成为 Pentium MMX 上 MMX SIMD 指令的灵感来源)。它将管道暴露给软件,因此 i386 在芯片上做出的所有调度决策都必须由编译器做出(这是安腾 EPIC 架构的灵感来源)。它拥有有史以来最奇怪的记忆模型之一。
简而言之,它是高度便携的操作系统的完美目标:如果您在 i860 上进行开发和测试,您几乎可以将它移植到任何地方。所以,这就是卡特勒所做的。
i860 有两个版本:一个更便宜、更简单的称为 XR,另一个用于 SMP 机器的速度更快的称为 XP。除了 MS 正在使用早期原型并且尚未选择营销名称之外,因此它们仅以英特尔代号 N10 和 N11 为人所知。
卡特勒正在开发的操作系统代号为 Portasys,因为它具有可移植性。然而,在内部他们并没有这样称呼它:他们是为 N10 构建它,他们正在构建 OS/2 的一个版本,所以在对话中他们简单地称之为“OS/2 for N-Ten”或“N-十个 OS/2”,由于程序员懒惰,所以很快就缩写为“NT OS/2”。
然后,发生了两件事:MS 实际上并没有费心告诉 IBM 他们正在构建自己的 OS/2 版本。当 IBM 意识到新的 OS/2 实际上与旧的有很大不同时,IBM 和 MS 发生了争执,OS/2 的联合开发结束了。
发生的第二件事是 Windows 3.0 的起飞超出了每个人最疯狂的梦想。
那是MS改变方向180°的时候。现在 NT OS/2 的模块化设计就派上用场了。
在 NT 中,内核和所谓的“个性”之间有明显的区别。通常,内核的工作是抽象硬件并将抽象呈现给用户空间。在 NT 中,这些职责是分开的:内核抽象,个性将抽象呈现给用户空间。嗯,其实,人格不存在的抽象,它提出了一个抽象的; 可以有多种人格。
在我们故事的这一点上,NT 看起来像这样:有 NT 内核,在 NT 内核之上是 OS/2 个性,在其之上是 OS/2 演示管理器 (GUI)。文件系统是 HPFS。由于个性抽象和同时运行多个个性的能力,现在很容易在保持系统运行的同时添加 Windows 个性。Windows 个性化完成后,运行在 OS/2 之上的 Presentation Manager 被替换为运行在 Windows 之上的 Windows UI。HPFS 已重命名为 NTFS,并进行了一些调整。
然后某处的某个营销人员认为“NT”这个绰号实际上有点酷,但是“OS/2”的东西必须用“Windows”代替,反过来听起来更好(“Windows NT”而不是“ NT Windows”)。当他问 NT 代表什么时,他们告诉他这实际上没有任何意义,因为他们不再做 i860 版本了,所以他追溯创建了“新技术”这个缩写。
这就是它成为WNT的方式。而且,正如你所看到的,字母“N”和“T”是由英特尔选择的,字母“W”是由命运选择的,三个字母的顺序是由某个营销人员选择的,所以根本没有任何人都可以有意识地选择与 VMS 相关的方式。
而且,顺便说一句:Arthur C. Clarke 在想出“HAL”这个名字时,一直说他也从未想过“IBM”。事实上,他说如果他认识到这种关系,他会更改 HAL 的名字,以尊重与他有非常好的工作关系的 IBM。
我个人没有任何故事,但我可以指出一些:
| 归档时间: |
|
| 查看次数: |
1167 次 |
| 最近记录: |