最晦涩/最受赞同的答案将获得答案投票!
大多数 Unix 和类 Unix 系统都有“传统历史”,这些历史会随着每一代人而流传,因此新来者可以看到和理解系统中一些比较深奥的部分。就新管理员应该接触的深奥知识而言,长期从事 Windows 工作的管理员可以为 Windows 的“传奇”做出什么贡献?
答案1
Windows 社区中流传着一个都市传说,说戴夫·卡特勒之所以选择“Windows NT”(WNT)这个名字,是因为如果从每个字母中减一,就会得到 VMS,这是戴夫·卡特勒加入微软之前开发的操作系统。
但事实并非如此。Cutler 既没有选择这个名字(它或多或少是偶然出现的),也没有选择 WNT 这个名字(事实上,它是“NT OS/2”,因为当时,我们的想法仍然是构建下一代 OS/2——Windows 甚至还没有出现)。NT 也不代表“新技术”。
戴夫·卡特勒 (Dave Cutler) 受雇于微软,负责为 PC 开发下一代操作系统。当时,微软最现代的操作系统是 OS/2,由 IBM 和微软联合开发。因此,对微软来说,“下一代”自然意味着 OS/2 的新版本。(Windows 只是被视为 DOS 的 GUI,很快就会被真实的操作系統。
在 DEC,Dave Cutler 曾参与 VMS 的开发。VMS 的一个问题是,它的大部分内容都是用汇编语言编写的,而且相当庞大。这两者都意味着很难移植到其他平台。当他被要求编写 VMS 的后续版本时,他改变了这一切;虽然他喜欢 VMS 的抽象和风格,但他不喜欢它的实现:他想以高度模块化的风格编写它,他想用 C 语言编写它——基本上是 VMS 的清理和现代化的重新实现。DEC 很快就对他的项目失去了兴趣,并有效地将他赶出了公司,这就是他最终加入微软的原因,在那里他能够实现他的想法。(这就是为什么 NT 看起来与 VMS 如此相似:它本质上是 Cutler 一直想编写的 VMS 版本,但 DEC 不允许他这样做。)
因此,Cutler 正在编写一个新版本的 OS/2。当时,情况并不明朗,什么正是“PC”才是真正的PC,而i386将胜出。当时,英特尔正在试验RISC处理器,微软正在试验MIPS处理器,IBM正在开发PS/2,后来又开发了PowerPC,DEC的Alpha即将问世。为其中一个平台构建操作系统将是一项艰巨的任务。巨大的和危险的赌博。因此,新的 OS/2 必须具有高度的可移植性。为了确保最大程度的可移植性,Cutler 试图找到最奇怪、最不像 PC 的架构。他找到了英特尔 i860。i860 是 64 位,i386 是 32 位。i860 有很多寄存器(32 个),i386 只有 8 个。i860 是 RISC,i386 是 CISC。i860 具有 VLIW 架构。它的芯片上有一个 SIMD 单元(后来成为 Pentium MMX 上 MMX SIMD 指令的灵感来源)。它将其管道暴露给软件,因此 i386 在芯片上做出的所有调度决策都必须由编译器做出(这是 Itanium 的 EPIC 架构的灵感来源)。而且它拥有有史以来最奇怪的内存模型之一。
简而言之,它是高度可移植操作系统的完美目标:如果你在 i860 上开发和测试,你几乎可以将其移植到任何地方。所以,这就是 Cutler 所做的。
i860 有两个版本:一个更便宜、更简单的版本,称为 XR;另一个更快的版本,用于 SMP 机器,称为 XP。不过,微软当时正在开发早期原型,营销名称尚未选定,因此它们只是以英特尔代号 N10 和 N11 为人所知。
卡特勒正在开发的操作系统的代号为 Portasys,因为它具有可移植性。然而,他们内部并没有这样称呼它:他们正在为 N10 构建它,并且他们正在构建一个 OS/2 版本,因此在谈话中他们简单地称之为“N-Ten 的 OS/2”或“N-Ten OS/2”,由于程序员很懒,这个名字很快就被缩短为“NT OS/2”。
随后发生了两件事:微软实际上并没有告诉 IBM 他们正在开发自己的 OS/2 版本。当 IBM 意识到新版 OS/2 实际上与旧版 OS/2 有很大不同时,IBM 和微软之间发生了争执,OS/2 的联合开发也宣告结束。
发生的第二件事是 Windows 3.0 的普及超出了所有人的想象。
正是在那时,微软改变了 180° 的方向。现在,NT OS/2 的模块化设计非常有用。
在 NT 中,内核和所谓的“个性”之间有着明显的区别。通常,内核的工作是抽象硬件并向用户空间呈现抽象。在 NT 中,这些职责被分开:内核抽象,个性向用户空间呈现抽象。实际上,个性并不呈现这抽象,它呈现一个抽象;可以有多种的个性。
在我们故事的这个阶段,NT 看起来是这样的:有 NT 内核,在 NT 内核之上是 OS/2 个性,在 OS/2 个性之上是 OS/2 演示管理器 (GUI)。文件系统是 HPFS。由于个性抽象和同时运行多个个性的能力,现在很容易在保持系统运行的同时添加 Windows 个性。一旦 Windows 个性完成,在 OS/2 上运行的演示管理器将被在 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”。事实上,他说如果他认识到了这种关系,因此他会出于对 IBM 的尊重而更改 HAL 的名字,因为 IBM 与他有着非常好的合作关系。
答案2
我个人没有任何故事,但我可以指出一些:
- 旧事新事 (Raymond Chen 的博客) @http://blogs.msdn.com/oldnewthing/
答案3
我一直认为,你可以用注册表变更很酷。它充分展现了微软的市场细分策略。
答案4
Windows 的遗产可以追溯到 MS-DOS 的第一个版本到 CP/M 之前,其中包括:
- 8.3 文件名
- 使用字母识别驱动器
- 程序曾经是命令文件,而不是可执行文件(*)
(*)琐事:DOS COM 文件在 0x0100:0000(段/偏移)处加载到内存中;CP/M COM 文件在 0x0100 处加载到内存中
7月9日修正:CP/M COM 文件已加载到绝对地址 0x0100 处的内存中。DOS COM 文件在下一个可用段的偏移量 0x0100 处加载。(感谢欧洲米切利)。