乐鱼平台

网易乐鱼平台 > > 正文

“人类历史上最伟大的软件:Windows !”

0
分享至

孩子想开发个RPG游戏,让我找个游戏参考,我想起了多年前玩儿过的《仙剑奇侠传》。

到Steam上找了一个,下载运行,复古的、熟悉的界面立刻出现在眼前:


《仙剑奇侠传》Windows版是1997年上市的,快30年了,它依然可以顺畅地运行在现在的Window 11之上。

这也不算啥,如果你手头有20多年前发布的Office 2000:


也可以安装在Windows 11上试试,照样能用:

除此之外,还有1995年发布著名软件Total Commander 32位,可以从Windows 95 一路运行到 Windows 11。


1998年发布的开发神器 Visual Basic 6,现在微软还在给它兜底, VB 6写出的老程序,还可以运行在Windows 11上!


2002 年经典的 Photoshop 7 ,Windows 11上还能跑:


2003 年发布的 Winamp 2.91 在 Windows 11 上秒开,音效均衡器、EQ 调节以及经典 90 年代像素皮肤完美呈现,CPU 占用率接近 0%。


这向后兼容性可以说是无敌了!

怪不得Reddit上网友感慨道:Windows是人类历史上最伟大的软件。

01

微软的兼容性绝招

Windows实现这样的兼容性,可不是一件简单的事情,微软有两个绝招:

1.为了兼容,连Bug都不放过!

有个著名的游戏叫《模拟城市》,在Windows 3.x时代有个叫 Jon Ross 的程序员无意间写错了一段代码,导致游戏在释放了一段内存以后,依然去读取它。

这本来会导致游戏立刻崩溃,但是Windows 3.x 系统的内存管理比较简单,内存被释放后,里面的数据并不会立刻被清除或被其他程序覆盖,所以虽然代码写错了,但依然能歪打正着地正常运行。


等到Windows 95发布的时候,引入了更现代、更严格的内存管理机制,《模拟城市》一运行就崩溃。


微软该怎么办呢?

最直接的办法就是拿起电话,给《模拟城市》的开发商 Maxis 打电话,让他们现在、立刻、马上修复漏洞。

但是游戏已经通过光盘卖出去了,当时又没有网络更新,即使 Maxis 修复了 Bug 也无法解决所有的问题。

于是微软决定:保留这个Bug,直接修改 Windows 95 的代码来兼容它。

当 Windows 95 检测到《模拟城市》开始运行的时候,就自动切换到一个特殊的内存分配模式,故意延迟释放该游戏用过的内存,从而让《模拟城市》顺利运行。

还有一个著名的案例,在Windows 2000 时代,当时的 DLL 搜索规则比较简单,当前工作目录在搜索 DLL 时处于比较靠前的位置,很容易造成 DLL 劫持。

后来 Windows 改进了 DLL 搜索机制,但是许多老程序(甚至包括某些商业巨头的核心软件)在设计时,“意外”地依赖了 Windows 2000 时代不安全的搜索规则。当它们在新的 Windows 系统上运行时,因为找不到特定位置的 DLL 直接崩溃。

微软的解决方案是:推出 Windows 2000 兼容模式。

当程序开启该模式时,会还原 Windows 2000 时代的 DLL 加载机制,甚至恢复老旧版本堆分配器(Heap Allocator),相当于把已经修复的Bug重新打开了。

你看,Windows 的向后兼容,连前任系统的缺陷和漏洞一并当成珍贵的遗产继承了下来。

2.程序不配合?那就想办法骗过它!

《最终幻想 7》是PlayStation 平台上的游戏,移植到 PC 平台时做得非常糟糕,在运行时甚至会检查当前操作系统是不是Windows 95。


当大量用户升级到 Windows 2000、Windows XP时,游戏出现了各个问题:第一次战斗崩溃,CG和音频异常,陆行鸟比赛时必崩。

微软的做法很简单,给《最终幻想7》配了一个叫做“Win95VersionLie”的兼容性修复,专门对这个游戏撒谎,让它“以为”自己运行在Windows 95之上。

在 Windows XP 及更早时期,大量桌面用户和应用程序运行在管理员权限下,软件可以肆无忌惮地在 C:\Program Files\MyApp\ 下创建、修改配置文件或数据库。

到了 Windows Vista,微软引入了 UAC,彻底收紧了系统盘的写入权限,非管理员权限程序是无法直接访问的。

但是如果微软严格执行这套安全规则,数以百万计写死硬编码路径的老软件会在 Vista 上瞬间报废。

微软的做法依然是“欺骗”,假装允许访问这些系统盘,但实际上写到别的目录。


02

干脆整个框架吧!

兼容性问题越来越多,也总不能一直往 Windows 核心源码中加if else (特例)吧?

于是从Windows XP 开始,微软干脆搞了一个叫做应用程序兼容性框架的东西。

这套框架会在老程序和 Windows 之间插入一些叫 Shim 的“垫片”,必要时修改 API 的返回值、文件路径、注册表、内存管理等行为;而 SDB,则负责记录“哪个程序需要套哪些垫片”。


如果你打开C:\Windows\AppPatch,能看到一系列.sdb文件,这些都是兼容性数据库,用于记录“哪个程序需要哪些Shim”。

比如 Windows 启动《最终幻想 7》时, 从SDB发现它需要修改,找到 Win95VersionLie 这个 Shim 给它垫上,这样就可以拦截程序的系统调用。

当程序问“你是不是 Windows 95?”时,Shim 负责回答:“是。”(虽然底层的操作系统可能根本就不是Windows 95),《最终幻想 7》就正确运行了。


有意思的是,SDB不仅是微软自己用,它还提供了 Compatibility Administrator 等工具,可以让企业自己创建兼容性数据库。

03

说实话,微软的各种做法有时候真的挺匪夷所思。

一个“浓眉大眼”的现代操作系统,竟然要在底层打各种补丁、做各种“障眼法”,甚至故意恢复一些旧行为,只为了让几十年前的软件还能正常跑。

这和 iOS/Android 的风格形成了鲜明的对比:平台不断往前走,旧的硬件、API 和软件该淘汰就淘汰,开发者跟着我,赶紧升级!

微软的思路感觉就是给自己挖坑 !

但微软也很清楚,用户升级操作系统,不代表他们愿意把过去几十年的软件资产全部扔掉。

一家公司可能还在用十几年前开发的业务系统,一家工厂可能依赖着一套没人敢轻易修改的控制软件。对他们来说,能不能运行,远比代码是否优雅重要。

Windows 的向后兼容,某种程度上就是在替用户承担历史的成本,这是它的责任,也是它在桌面市场的核心护城河。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
黑天鹅!刚刚,一个国家,股市崩盘

黑天鹅!刚刚,一个国家,股市崩盘

中国基金报
2026-10-16 11:24:44
55岁李英爱与75岁老公罕同框,老公身家2万亿韩元,网友:“大长今也老了”

55岁李英爱与75岁老公罕同框,老公身家2万亿韩元,网友:“大长今也老了”

娱乐嗑学家.
2026-10-16 14:55:37
今晚8点开抢、店员都说“难”!iPhone Duo 中国独家造:15999元起,但多数人可能只是陪跑

今晚8点开抢、店员都说“难”!iPhone Duo 中国独家造:15999元起,但多数人可能只是陪跑

泡泡网
2026-10-16 13:37:19
特斯拉Roadster“飞”起来了!中国官网开放预订,意向金33.2万元,将于2028年量产

特斯拉Roadster“飞”起来了!中国官网开放预订,意向金33.2万元,将于2028年量产

每日经济乐鱼平台-乐鱼(中国)一站式服务平台
2026-10-16 10:19:06
顾全首秀就崩!无战术全程打铁,全队仅10助攻,郑永刚准备救火!

顾全首秀就崩!无战术全程打铁,全队仅10助攻,郑永刚准备救火!

篮球资讯达人
2026-10-16 21:27:31
小泉进次郎声称日本既不拥有核武器,也不拥有战略轰炸机,而中国同时拥有这两类装备却反过来批评日本,中方驳斥

小泉进次郎声称日本既不拥有核武器,也不拥有战略轰炸机,而中国同时拥有这两类装备却反过来批评日本,中方驳斥

扬子晚报
2026-10-16 20:41:57
人不会平白无故患带状疱疹!医生强调:得带状疱疹,多半有3共性

人不会平白无故患带状疱疹!医生强调:得带状疱疹,多半有3共性

39疾病百科
2026-10-16 20:52:42
宇树科技大涨!单日市值增加近百亿元

宇树科技大涨!单日市值增加近百亿元

财闻
2026-10-16 15:27:29
闹剧升级!刘丁硕继续硬刚张继科:我不虚你!你打不过别人才退役

闹剧升级!刘丁硕继续硬刚张继科:我不虚你!你打不过别人才退役

大秦壁虎白话体育
2026-10-16 11:00:14
夫妻俩赴美旅游!妻子旅游签证顺利入境,丈夫有绿卡却被遣返,绿卡被撤销

夫妻俩赴美旅游!妻子旅游签证顺利入境,丈夫有绿卡却被遣返,绿卡被撤销

大洛杉矶LA
2026-10-14 06:15:06
一小学两周收到近40封举报信,而背后的原因竟然是:家长担心直接沟通被“穿小鞋” ,举报被视为唯一出路

一小学两周收到近40封举报信,而背后的原因竟然是:家长担心直接沟通被“穿小鞋” ,举报被视为唯一出路

蝴蝶花雨话教育
2026-10-17 00:05:20
胡塞武装6枚导弹直击总统府 造成至少5人死亡

胡塞武装6枚导弹直击总统府 造成至少5人死亡

看看乐鱼平台-乐鱼(中国)一站式服务平台Knews
2026-10-16 19:59:01
印度男子在美国机场顺走圣罗兰,被抓后辩解:自己平时只买中国产的便宜货,不认识这个大牌

印度男子在美国机场顺走圣罗兰,被抓后辩解:自己平时只买中国产的便宜货,不认识这个大牌

怪味历史连连看
2026-10-12 16:31:18
阿塞拜疆独立后,为什么没有回归祖国呢?原因主要是三点

阿塞拜疆独立后,为什么没有回归祖国呢?原因主要是三点

老达子
2026-10-16 06:20:04
薄一波究竟属于哪一级别?是正国级,还是副国级?

薄一波究竟属于哪一级别?是正国级,还是副国级?

人生录
2026-10-15 05:18:24
阿祖布克到东莞完成体检!广东队速度快,他和弗格18日对同曦迎首秀

阿祖布克到东莞完成体检!广东队速度快,他和弗格18日对同曦迎首秀

老吴说体育
2026-10-16 16:48:25
炸裂!蔡天凤丈夫谭方骏出庭作证,辩方称其想与邝港智发展成恋人

炸裂!蔡天凤丈夫谭方骏出庭作证,辩方称其想与邝港智发展成恋人

阳春三月天晴
2026-10-16 12:42:36
杀疯了!张雪首款电动踏板曝光,300km续航碾压所有同级电车

杀疯了!张雪首款电动踏板曝光,300km续航碾压所有同级电车

沙雕小琳琳
2026-10-14 16:24:30
工人撞脸陈小春反转,拍客被迫离职 陈小春赶往广东,身世真相大白

工人撞脸陈小春反转,拍客被迫离职 陈小春赶往广东,身世真相大白

白面书誏
2026-10-15 17:28:45
人民大学原副校长: 百姓70%资产在房子上,莫劝,房价下来就能消费

人民大学原副校长: 百姓70%资产在房子上,莫劝,房价下来就能消费

云居历史
2026-10-15 00:20:11
2026-10-17 01:24:49
码农翻身 incentive-icons
码农翻身
有趣且硬核的技术文章
321文章数 681关注度
往期回顾 全部

杨天若院士:AI是中国弯道超车的机会

李斌、何小鹏等多人发声 "特斯拉会飞"有三大疑问待解

李斌、何小鹏等多人发声 "特斯拉会飞"有三大疑问待解

工资一分不要,曼联名将想把母队带回西甲

郭富城现身香港大学,袁咏仪夫妇全程冷漠不搭话

港交所拟2028年下半年实施T+1结算

特斯拉会飞?全新Roadster亮相

态度原创

藏不住了双胞胎小宇宙 偷看被发现

看着很健康的人,怎么会突然猝死?

利好密集落地+现房好房断档,广州楼市买入窗口,正在倒计时!

iPhone Duo开售在即 库克:很兴奋它由中国独家制造 期待在中国的表现

知情人士:乌克兰"爱国者"拦截弹库存耗尽

无障碍浏览 进入关怀版