微軟曾製作「死亡推車」工具故意破壞、除錯早期的Windows USB基礎架構
在醫院裡,護士的推車裝滿了醫療用品藥物,可以救你的命,但微軟當年有也有一輛這樣的推車,它的到來通常意味著測試用PC陷入困境。公司內部的開發人員稱它為”Cart of Death”(”死亡之車”)- 一輛重新利用的推車,車上裝有各種USB 設備和三個集線器,用於測試Windows PC 的即插即用支持。
在最近與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 專家的訪談變得非常有趣。