本文回顾了微软在20世纪90年代将Windows 95用户界面成功移植到Windows NT平台的技术历程。资深工程师雷蒙德·陈揭秘了当年两大操作系统开发团队的合作细节,以及他们如何克服代码差异,复刻主要功能。虽然未直接整合Win95代码,但通过#ifdef WINNT指令等方式解决了兼容性问题。文件管理器Explorer等用户模型组件的移植相对顺利,甚至部分改进回流至Win95。整个过程依赖于手动同步代码修改的Source Library Manager系统,并由Windows产品激活系统的设计者Dave Plummer带队完成。这一技术探索为后续Windows 2000等操作系统的融合发展奠定了基础。
🏢 **界面移植的背景与目标**:微软在Windows NT 4.0开发过程中,决定将广受好评的Windows 95用户界面引入更侧重企业应用的NT平台,旨在为后续的Windows 2000等操作系统奠定基础,实现用户体验的统一和进步。
⚙️ **技术实现与代码兼容**:开发团队并未直接整合Windows 95的代码,而是复刻其主要功能。通过使用#ifdef WINNT指令,开发者能够区分不同平台所需的特定功能编译,有效解决了两套代码体系因差异带来的兼容性问题,简化了后续维护。
📁 **关键组件的移植策略**:对于文件管理器Explorer等“用户模型”组件,移植过程相对顺利。开发人员直接导入了现有代码,并根据NT标准进行了调整,同时加入了如Unicode文件名等NT平台特有的功能。这种双向的改进甚至促进了Windows 95代码库的优化。
💾 **源代码管理与协作**:当时微软使用名为Source Library Manager(SLM)的源代码管理系统。与现代的git等工具不同,SLM需要手动同步代码修改到两套平台,虽然有自动化流程,但操作流程相对复杂,体现了当时技术环境的特点。
👥 **团队协作与历史意义**:Windows 95 Shell移植到NT的项目由微软元老Dave Plummer领导,他也是Windows产品激活系统的设计者。这次技术探索不仅展示了微软在操作系统开发历史上的技术积累,也为当前操作系统的融合进化提供了宝贵的参考。
微软在20世纪90年代将Windows 95用户界面移植到Windows NT平台,这其中经历了一段复杂的技术探索。近日,微软资深工程师雷蒙德·陈在个人博客回顾了这一过程,向技术爱好者们揭秘了当年两大操作系统开发团队如何合作应对挑战。

Windows 95于1995年发布,被广泛认为是计算机交互设计的一次重大革新。随着Windows NT 4.0开发进程推进,微软决定将Win9x界面集成到更加注重企业和专业应用的NT平台。此举为后续的Windows 2000工作站操作系统奠定了基础。
两个操作系统的开发团队通过频繁会议保持信息互通。Windows NT团队在Windows 95项目尾声开始移植GUI,在此过程中参考但未直接整合Win95的代码,而是复刻其主要功能。由于两套代码体系存在差异,开发者通过#ifdef WINNT指令实现特定功能编译差异,简化了后续维护。

在文件管理器Explorer等“用户模型”组件移植方面,则相对顺利。开发人员直接导入现有代码,调整以符合NT标准,同时新增如Unicode文件名等NT专属功能。部分改进甚至回流至Windows 95代码库,促进双平台进步。
陈回忆,微软当时使用名为Source Library Manager(SLM,工程师昵称为“slime”)的源代码管理系统。不同于现代分支管理工具,SLM需要手动同步代码修改至两套平台,虽流程部分自动化但远非今日的git合并般简单。
值得一提的是,Windows 95 Shell移植至NT的工程由另一位微软元老Dave Plummer带队。Plummer也是Windows产品激活系统的设计者,见证了FCKGW密钥流出并绕过XP激活的著名历史。
本次回顾不仅展现了微软在开发历史上的技术积淀,也为当前操作系统的融合进化提供了参考。阅读全文:
https://devblogs.microsoft.com/oldnewthing/20251028-00/?p=111733
查看评论