作为一款须要同时兼容 16 位 DOS 软件、16 位 Windows 3.x 法度榜样以及 32 位 Win32 应用的操作体系,Windows 95 在设计之初就背负了艰苦的向下兼容义务。开辟团队恰是借助这一层叠式构造,在体系中埋入了某些“隐蔽优化”,个中就包含这项极少为人知的快速重启机制。

Chen 介绍,这一功能依附于传递给 16 位 ExitWindows 函数的 EW_RESTARTWINDOWS 标记,而该函数本身是从 Windows 3.1 持续而来,并在昔时的微软官方文档中有所记录。根据他的描述,当该标记被触发时,体系会按次序封闭 16 位 Windows 内核、封闭 32 位虚拟内存治理器,最后将 CPU 切换回实模式,以便为随后的重启做好预备。

所谓实模式,是所有 x86 兼容处理器(包含如今的多核 Intel 与 AMD CPU)最基本的运行模式。像 Windows 95 这类 32 位操作体系会在启动过程中把 CPU 从实模式切换到保护模式,以启用内存治理和安然机制,而现代 64 位操作体系则运行在“长模式”(long mode)下,以应用 64 位指令集和存放器资本。环绕如安在这些模式间切换并保持兼容,多年来一向是 x86 架构设计中的核心难题之一。

在昔时动辄须要数分钟才能进入图形界面的 PC 时代,这种“快速重启”在实际应用中很可能带来不小赞助。文章作者回想称,本身早已把这项功能抛诸脑后——毕竟昔时是直接从 MS-DOS 跳到了 Windows ME 和 XP,当时应用的奔跑 4 机械在昔时已算“高机能”平台。

作者测验测验在 PCem 虚拟机中复现这一流程时,却获得了并不一致的成果:在 Windows 95 OSR 2.5 中,该功能完全没有生效,而在 Windows 98 SE 情况下则表示正常。这也从侧面印证了该机制在不合版本中的实现差别,以及全部 Win9x 系列内部行动的复杂性和不肯定性。

相干文章:

Chen 进一步解释,win.com 法度榜样由汇编说话编写,除了负责从新拉取体系外,还会履行额外的内存治理操作。其目标是尽可能释放所有惯例内存(conventional memory),从而留出一大年夜块持续的内存空间,用于在保护模式下装载 Windows 95;一旦这一步掉败,惯例内存会残留碎片,win.com 就不得不退回到完全重启流程。这种在兼容性、机能和稳定性之间艰苦均衡的设计,也恰是 Win9x 系列被视为“纷乱却迷人”的原因地点。

Windows 95出生30周年:彻底改变PC的操作体系

微软老员工解释为何Windows 95未采取HLT节能指令

法度榜样员自曝Windows 95开辟团队因时光紧急无法为操作体系零丁开辟安装法度榜样

值得一提的是,英特尔曾试图经由过程名为 x86S 的精简指令集架构,废除 16 位实模式以及其他部分向后兼容特点,但相干筹划最终被叫停。按照 Chen 的说法,一旦 ExitWindows 函数将 CPU 拉回实模式,控制权就会交还给 win.com 可履行法度榜样,由它来再次启动 Windows 95,同时绕过完全冷启动中那些繁琐的硬件自检流程,从而缩短整体启动时光。

开辟人员讲述将Windows 95界面移植到Windows NT的复杂调剂过程

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部