然后,发生了两件事: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 视窗”)。当他问 NT 代表什么时,他们告诉他这实际上没有任何意义,因为他们不再做 i860 版本,因此他追溯创建了反义词“新技术”。
Windows 社区中有一个广为流传的都市传说,Dave Cutler 选择了“Windows NT”(WNT)这个名字,因为如果你从每个字母中减去一个,你就会得到 VMS,这是 Dave Cutler 在来微软之前开发的操作系统.
然而,事实并非如此。卡特勒没有选择这个名字(它或多或少是偶然出现的),也没有选择 WNT 这个名字(实际上是“NT OS/2”,因为当时的想法仍然是构建下一代操作系统/2 – Windows 甚至不在图片中)。NT也不代表“新技术”。
Dave Cutler 受雇于微软为 PC 构建下一代操作系统。当时,微软最现代的操作系统是 IBM 和 MS 联合打造的 OS/2。因此,对 MS 而言,“下一代”自然意味着 OS/2 的新版本。(Windows 只是被视为 DOS 的 GUI,很快就会被真正的操作系统所取代。)
在 DEC,Dave Cutler 从事 VMS 方面的工作。VMS 的问题之一是它有很多是用汇编语言编写的,而且它相当单一。两者都意味着移植到其他平台有些困难。当他受命编写 VMS 的继任者时,他改变了这一切。虽然他喜欢 VMS 的抽象和风格,但他不喜欢其实现:他想以高度模块化的风格编写它,并且他想用 C 来完成它——基本上是对 VMS 的清理和现代化的重新实现。DEC 很快就对他的项目失去了兴趣,并有效地将他赶出了公司,这就是他最终进入微软的方式,在那里他能够实施他的想法。(这就是 NT 看起来与 VMS 如此相似的原因:它本质上是 Cutler 一直想编写但 DEC 不允许他编写的 VMS 版本。)
因此,卡特勒正在编写新版本的 OS/2。当时,完全不清楚“PC”到底是什么,以及 i386 会胜出。英特尔正在试验 RISC 处理器,微软正在试验 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。
Cutler 正在开发的操作系统代号为 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 视窗”)。当他问 NT 代表什么时,他们告诉他这实际上没有任何意义,因为他们不再做 i860 版本,因此他追溯创建了反义词“新技术”。
这就是它成为WNT的方式。而且,正如您所见,字母“N”和“T”是由英特尔选择的,字母“W”是由命运选择的,三个字母的顺序是由某个营销人员选择的,所以根本没有任何人都可以有意识地选择它们与 VMS 相关的方式。
而且,顺便说一句:Arthur C. Clarke 一直说,当他想出“HAL”这个名字时,他也从未想过“IBM”。事实上,他说如果他认识到这种关系,他会出于对 IBM 的尊重而更改 HAL 的名称,IBM 与他有很好的工作关系。
我个人没有任何故事,但我可以指出一些:
我一直认为您可以通过更改注册表将NT Workstation 3.51 更改为 NT Server非常酷。并说出了有关微软市场细分策略的一切。
Osterman 在他的帖子Why is Control-Alt-Delete the secure attention sequence (SAS) 中对 ctrl-alt-delete 的解释如何?
Windows 的传统可以追溯到 MS-DOS 到 CP/M 的第一个版本之前,包括:
(*) 琐事:DOS COM 文件在 0x0100:0000(段/偏移)处加载到内存中;CP/M COM 文件在 0x0100 处加载到内存中
7 月 9 日更正:CP/M COM 文件在绝对地址 0x0100 处加载到内存中。DOS COM 文件在下一个可用段的偏移量 0x0100 处加载。(感谢欧洲米切利)。
(在?)Windows 95 中著名的 49.7 天稳定性错误。在某些情况下,您可能希望每 49 天重新启动一次计算机,以避免该错误导致系统的某些部分出错。不,它并没有强制关闭或类似的东西,它只是产生了奇怪的结果......
找到了一些快速链接...
CNET:Windows 可能会在 49.7 天后崩溃
MSDN:49.7 天后的 System.Timers.Timer 和 System.Threading.Timer 错误!
Joel on Software Discussion Group:Windows 49.7 天关闭错误
一些琐事:
Dave Cutler 是 DEC 的 VMS 操作系统的设计者之一,然后是微软 Win NT 的首席架构师。正如 HAL(从 2001 年:太空漫游)被认为是 IBM 之前的一个字母,WNT(Windows 新技术)是 VMS 之后的一个字母。
我们都知道 NT 代表什么,在 Windows 2000 的启动屏幕上有一条恼人的行,上面写着“采用 NT 技术构建”,即采用新技术技术。
这不是 Windows 琐事,但它也与 DEC 相关。DLT 和 LTO 磁带格式源自 Digital 臭名昭著的 TK-50 盒式磁带。臭名昭著,因为人们普遍认为 TK 代表“时间杀手”。后来的 TK-70 稍微好一点,但也不多。
我记得那天与 Digital Equipment 的一场斗争,试图让 Alpha NT 链接器工作以链接 NT 3.5 上的 Pro/Engineer。这个特殊的 Pro/E 版本突破了 32MB 可执行文件的限制(哇,还记得那是什么时候)?不用说,我今天告诉自己,DEC 拒绝解决这个问题三个月导致了 AlphaNT 的最终消亡,因为我们已经发布了 Intel 和 MIPS 版本,而 Pro/E 是当时的NT 应用程序。
是的,我有妄想症,我承认,但那是美好的时光。32MB 内存和 1GB 硬盘。
似乎除了一些关于 NT 开发的有趣历史之外,我们都非常乐意转储我们正在使用的任何版本的 Windows 并将其完全从我们的记忆中清除 :)
那,关于 Windows 并没有太多的传奇或深奥!