Win11 26H2仍保留Win95内存管理器代码

IT时代网10月20日消息,Windows Latest 昨日发布博文报道称,在 Windows 11 最新的 26H2 版本中,微软依然保留名为 EmulateHeap 的兼容性修复组件,该组件可以追溯到 Windows 95 时代。

EmulateHeap 是一个运行 Windows 95 堆管理器的修复程序。早期 Windows 3.x 版的《模拟城市》游戏存在释放后使用漏洞,程序在释放内存后仍继续读取该内存,旧系统不会立即回收内存,游戏运行正常,但到了 Windows 95 测试版,由于微软改变内存管理方式,游戏出现运行故障。

微软当时并未要求游戏厂商修复该问题,而是在 Windows 95 系统中加入特例代码,检测到《模拟城市》运行后便延迟释放内存。在该特例之后,微软发现其它应用和游戏也有类似需求,因此针对 Windows XP 系统复制了 Windows 95 内存堆管理器源码,重新编译加入兼容性框架后形成 EmulateHeap。

在 Windows XP 系统中,旧程序调用 HeapCreate、LocalLock、GlobalReAlloc 等内存 API 时,该组件会重定向到模拟 Windows 95 的实现。在当前的 Windows 11 系统中,只有当某个应用被明确启用 EmulateHeap 时,相关旧代码才会从硬盘加载,用户可通过 Windows ADK 中的兼容性管理器查看该修复项。

注:本文配图由AI生成。本文综合自IT之家等,文中包含AI辅助创作的内容。

编辑:陈帅

THE END