使用微软历代Windows版本是怎样的一番体验呢? Tim Chen DOS 就不说了,太古老了。Windows 版本最早开始用的是 Windows 3.11 吧,记得那个还是得从 DOS 命令行打 win 来进入的。当时家里一台 XT-286,CGA 显示器,768K 内存,结果因为内存还是显示器分辨率的原因都不让运行 windows,后来换了电脑才能跑。后面换成中文版 windows 3.2 了。 Windows 3 系列,一开始的感觉是没啥鸟用,还是觉得 DOS 用得舒服,而且大多数 app 和游戏都在 dos 里。那时候都没 internet,modem 的用途主要是用来玩 cfido(真正的 BBS 系统),也是在 dos 里面玩的。后来电信可以拨号接入 internet 了,然后 windows 才有些优势。当时还没 IE 什么事,有一个叫 Internet a a box 的,带个浏览器,终于第一次访问了 www。那时候上海热线就一个主页,由于主页上就放了一张图,载入图片花了好几分钟,图片上写了上海热线几个字,然后就没了。当时的 internet,由于网速和内容限制,基本也没鸟用。 Windows 真正开始牛的就是 win95 了,当时见到的时候简直惊为天人啊。我的 internet 的熟悉过程主要就是在 win95 了。那时候换了电脑又装了 ISDN,终于能够以 115200bps 的速度上网了。那时候这个速度是很牛逼的,当然价格也是很贵的。那时候用的主要是 netscape,again 没 IE 啥事,主要的国内网站就是 pchome,四通利方(新浪前身)什么的,国外就多了。然后还有 IRC,comic chat。然后在 geocities 上建了第一个个人主页(homepage)。哦对了那时候还买了光驱和声卡,可以在电脑上看 vcd 了。那段时期还接触了 visual basic,基本上也就告别了 dos 下的开发模式。 第一次见到蓝屏的时候也是震惊了,这是什么鬼? 后来出了 win98 然后 win98se,总体感觉没有 win95 那时的震惊程度,但是系统完成度上确实比 win95 要高出很多,特别是 98se 在很长一段时间里成了刷机必备。 95-98 时期也是 windows 平台游戏或者说电脑游戏真正开始流行的时期。之前 dos 下的仙剑之类,毕竟只是少数人才能玩的,到了 windows 时期网吧终于出现了,红警 / 帝国 / 星际之类也就开始火了。 98se 一直用到 2000 年左右拿到 win2000 的光盘,装的是 advanced server。嗯,WinME 被我跳过了。NT4 也跳过了,虽然后面又涉及了。 在自己一台破机器上装了 win2000 adv server,感觉很厉害,然后就花时间把里面的各种 service 一个个玩了一遍,不过像 active directory 这种基本上也没法玩。最后主要的时间还是花在架网站了,最原始的 asp+access,不是http://asp.net。Win2000 这套东西架网站还是很方便的,入门超级容易,依靠着当时的.com 泡沫,我在大学里给人做网站就赚了不少钱。 Win2000 professional 也装过,当时就觉得和 server 版几乎一模一样还少了很多东西,那还不如装 server 版,对于盗版来说这个理论显然是成立的。用了 win2000 后感觉系统稳定性比 98 时代要好了很多,以前 98 还是要不时重装的,2000 之后重装频率下降很多。唯一缺憾是当时不少游戏还是只能在 98 里面跑。 后来一直到 xp 出来,98 才算是完成历史使命了。xp 可以说是基于 win2000 的一个真正意义的 consumer 系统,win2000 professional 算不上。之后基本就是双系统,xp 主要用来娱乐,2000 server 用来搞开发做网站。另外有一台 2000 server 做路由器,对 2000 自带了一个路由服务,那个年代要买个功能齐备的路由器还是比较贵的,hub 就便宜太多了。 后来进了微软,才算是真正意思接触到了 windows 核心。因为我做的是 windows server 的 premium support,主要的工作就是 debug 蓝屏,对就是那个 blue screen of death。我估计我 debug 过的蓝屏数量在整个知乎就算不是排第一也是前 5 的,5 年内估计看过几千个蓝屏了吧。把这些调试经验写下来可以出一本很厚的书了,但是我懒。 客户主要的系统有 win2000,也有 nt4 甚至 nt3.5。我喜欢看 win2000 的 dump,因为 nt4 的调试太坑爹了,就算有 symbol file 的情况下也只能把汇编代码对齐到函数入口的位置,而不能精确到行号。一个函数几百行汇编代码,要人工读一遍才能知道最后寄存器出问题的位置是源代码的哪一行,这种事做一次就要 2 个小时以上。win2000 的 kernel 虽然是基于 nt 的,但是还是加了很多巧妙的东西来帮助你调试。 当然除了看蓝屏还要处理诸如系统失去响应,无法启动之类的问题,反正 kernel 级别的问题我都要看。 看过这么多问题后总结出来,win2000 还是个非常靠谱的系统,99%的蓝屏不是系统本身的 bug,多数是驱动程序没写好甚至硬件层面的问题(内存条数据一致性的问题还是挺多见的)。当然 os 的 bug 还是找出过几十个的,总体比例还是很小。一般情况下会在下一个 os 版本或者 service pack 修掉,但是如果客户一定要在当前版本修只要理由充分也可以出个 hotfix。整体感觉不是 bug 满天飞的那种,偶尔找到一个 bug 是件挺激动的事,因为容易发现的 bug 早就已经发现了。 工作机一开始是 win2000 server,后来转到 2003 server,不过这种 server 端 os 就不说了,用 server 版主要是方便工作时对照查看,毕竟客户用的都是 server 版。自己家里的机器很长一段时间内都是 xp,xp 确实是个非常经典的系统,而且 service pack 很强力,我都觉得有些 feature 不该做到 service pack 里面去,以至于到不久前停止 xp 的 support 还能闹出这么多事情来,当初停 win98 和 win2000 的 support 也没发生什么事啊。xp 用的人太多了,也就不多说了。 Vista 无爱,就算作为内部人士,我也没用过多久的 vista。反正我们已经承认 vista 是个 failure 了,感觉不如直接跳到 win7。后来我转到 SQL 组后还是了解了不少 vista 特别是 winfs 的事情的,不过由于不知道哪些能说哪些不能说,还是不说了。 其实 vista 出来不久就有 win7 了,我是直接参与了 win7 的 server 版本的开发的,内部的 dogfood(狗食)版本很早就出来了。我有台 mbp,大概在 win7 正式 release 之前 1 年左右就开始 dogfood。为什么说 win7 是个非常成功的 os(我认为是史上最好的了),因为从我 dogfood 开始一直到现在(2015 年),我都没有重装过一次系统,就这么一步一步升级上来了。 真的,一次重装都没有,现在这台 mbp 我爸妈还在用。 Dogfood 是件很有趣的事,因为 bug 真的是满天飞啊,随时就会发现没法工作了(还好有其他电脑)。整个 dogfood 期间我大概发现了几十个 bug 吧,有时候比如什么东西 crash 了我还会直接开个 windbg 挂在那里,开个 remote session 然后等美国的同事晚上连到我的机器上来调试。还好基本上没有那种丢失数据的 bug,不过 crash 啊 hang 啊还是挺常见的。Dogfood 是个优良传统,这对于 rtm 的质量贡献非常大,那时候应该还没有什么 windows insider 计划,所以当外界能用到 beta 版的时候,这个版本已经是内部好几千人吃狗食吐血半年的结果了,如果有印象的话会记得 win7 的 beta 质量已经相当高了。 到了 win8,我就不 dogfood 了,因为当时号称 win8 beta 版将无法直接升级到正式版,你在开玩笑吧?反正 win8 我是等到 IT manager 直接打我电话要我装我才装的。装完后还是当成 win7 这么用,metro UI 几乎没怎么用过,常用 app 都是 pin 到任务栏的。唯一有感觉的就是新的网络连接的体验不错。整体没有惊艳的感觉。 Win10 还没装,组里装了的同事都在抱怨影响工作,由于我现在工作的核心工具就是一台笔记本,我还是再等等吧。 这两块破牌子就是参与 windows 开发的奖励了。。。 查看知乎原文