在醫院裡,護士的推車裝滿醫療用品藥物,可以救你的命,但微軟當年有也有一輛這樣的推車,它的到來通常意味著測試用PC陷入困境。公司內部的開發人員稱它為"CartofDeath"("死亡之車")-一輛重新利用的推車,車上裝有各種USB設備和三個集線器,用於測試WindowsPC的即插即用支持。
在最近與 Dave Plummer 的 Dave's Garage 聊天中,擁有 30 年 Windows 經驗的 Raymond Chen 回憶 USB 的早期發展以及圍繞死亡之車進行的測試(和惡作劇)。這個裝置是一輛老式的推車,你可能會在任何公司的收發室裡找到它,如果那些收發室還存在的話。
"死亡之車"並不運載郵件,而是裝載三個菊花鏈式 USB 集線器,並連接至少 60 臺其他設備。陳回憶說,上面插至少有三種不同型號的鼠標、四個鍵盤、一臺 USB 打印機和其他各種外圍設備(下圖),裝滿他們能拿到的所有 USB 設備。
幽默的是,這輛車又重又笨重,所以他們用一個 USB 遊戲方向盤來為它指明方向。
這些不同的設備通過菊花鏈集線器串聯在一起。當程序員為每個驅動程序完善代碼時,就會有人帶著"死亡之車"來破壞他們的好事。小車上的所有設備隻會同時插入一個 USB 插頭,這一切發生時Windows 就會瘋狂地試圖同時識別和安裝所有這些設備。
一旦 USB 基礎設施穩定下來,所有驅動程序都安裝完畢,"死亡之車"的工作人員就可以嘗試使用每個設備,看看它們是否能正常工作,而不會出錯。
開發人員還會看著即插即用系統枚舉設備並開始為它們加載驅動程序的同時拔掉插頭。
正如人們所預料的那樣,這樣中斷進程通常會導致藍屏死機,這也是小車名字的由來。當然,Windows 內核程序員並不喜歡這樣,因為這意味著他們必須重新檢查自己"完美"的代碼,並添加錯誤處理程序和其他調整。
陳提到一個調試實驗室,各種測試機在桌子上一字排開。有時,推車司機會在晚上進去,把死亡推車插到每臺電腦上,可能在一臺電腦上運行 5 秒鐘,在另一臺電腦上運行 7 秒鐘,再在另一臺電腦上運行 7 秒鐘,但出現不同的 BSOD。然後,程序員會在早上趕到現場,發現一大堆問題需要他們去解決。
Dave Plummer 對 Windows 也不陌生。從 1993 年開始,他在微軟工作 10 年,幫助開發 MS-DOS。在 Windows 站穩腳跟之後,Plummer 開發各種應用程序,包括 Windows 任務管理器。Plummer 現在是半退休狀態--如果在大學授課間隙經營一個 YouTube 頻道也算半退休的話--但他的簡歷加上陳的簡歷,讓兩位 Windows 專傢的訪談變得非常有趣。