在医院里,护士的推车装满了医疗用品药物,可以救你的命,但微软当年有也有一辆这样的推车,它的到来通常意味着测试用PC陷入困境。公司内部的开发人员称它为"Cart of Death"("死亡之车")-一辆重新利用的推车,车上装有各种USB设备和三个集线器,用于测试Windows PC的即插即用支持。
MnqT?Cc4$j HVoPJ!K3 在最近与Dave Plummer的Dave's Garage聊天中,拥有30年Windows经验的Raymond Chen回忆了USB的早期发展以及围绕死亡之车进行的测试(和恶作剧)。这个装置是一辆老式的推车,你可能会在任何公司的收发室里找到它,如果那些收发室还存在的话。
K];] 035jU ' "死亡之车"并不运载邮件,而是装载了三个菊花链式USB集线器,并连接了至少60台其他设备。陈回忆说,上面插了至少有三种不同型号的鼠标、四个键盘、一台USB打印机和其他各种外围设备(下图),装满了他们能拿到的所有USB设备。
jY%.t)>) X"d"a={] 幽默的是,这辆车又重又笨重,所以他们用一个USB游戏方向盘来为它指明方向。
/eH37H J/K~8sc 这些不同的设备通过菊花链集线器串联在一起。当程序员为每个驱动程序完善代码时,就会有人带着"死亡之车"来破坏他们的好事。小车上的所有设备只会同时插入一个USB插头,这一切发生时Windows就会疯狂地试图同时识别和安装所有这些设备。
; 8DtnnE gAorb\iJ 一旦USB基础设施稳定下来,所有驱动程序都安装完毕,"死亡之车"的工作人员就可以尝试使用每个设备,看看它们是否能正常工作,而不会出错。
"*D9.LyM FCEmg0qdjD 开发人员还会看着即插即用系统枚举设备并开始为它们加载驱动程序的同时拔掉插头。
N8At N\e [ !#Dba# 正如人们所预料的那样,这样中断进程通常会导致蓝屏死机,这也是小车名字的由来。当然,Windows内核程序员并不喜欢这样,因为这意味着他们必须重新检查自己"完美"的代码,并添加错误处理程序和其他调整。
R|(X_A +em!TO 陈提到了一个调试实验室,各种测试机在桌子上一字排开。有时,推车司机会在晚上进去,把死亡推车插到每台电脑上,可能在一台电脑上运行5秒钟,在另一台电脑上运行7秒钟,再在另一台电脑上运行7秒钟,但出现不同的BSOD。然后,程序员会在早上赶到现场,发现一大堆问题需要他们去解决。
4hxP`!< frPQi{u$ Dave Plummer对Windows也不陌生。从1993年开始,他在微软工作了10年,帮助开发MS-DOS。在Windows站稳脚跟之后,Plummer开发了各种应用程序,包括Windows任务管理器。Plummer现在是半退休状态--如果在大学授课间隙经营一个YouTube频道也算半退休的话--但他的简历加上陈的简历,让两位Windows专家的访谈变得非常有趣。
#`gX(C>