設萬維讀者為首頁 廣告服務 聯繫我們 關於萬維
簡體 繁體 手機版
分類廣告
版主:白夫長
萬維讀者網 > 軍事天地 > 帖子
為什麼坦克幾乎不用 Windows?
送交者: 嵐少爺 2026年08月08日14:28:41 於 [軍事天地] 發送悄悄話

圖片

早期剛入行那幾年,我和不少同行一樣,有個挺幼稚的偏見。

每次在新聞里看到某個軍用裝備、ATM機或者地鐵閘機彈出一個Windows藍屏,大家就會在群里嘲笑一番:“這都什麼時代了,怎麼還在用Windows?”“這種要命的系統,用Windows簡直是開玩笑。”

後來我讀到過一個真實的軍工事故。1997年,美國海軍的“約克城號”導彈巡洋艦在海上試驗時,因為一名船員在一個跑着Windows NT 4.0的終端里輸入了一個“0”,導致了除以零錯誤(Divide-by-zero)。這個未被捕獲的異常一路向上穿透,把整個數據庫給搞崩潰了,最終導致整艘巡洋艦的推進系統停擺,在海上漂了四個多小時。

這個例子後來被各種技術文章引用,用來證明“微軟的系統不能用於嚴肅的軍用場景”。

但我後來去查現代主戰坦克的火控和戰術終端資料,發現事情根本沒那麼簡單。

比如美軍M1A2“艾布拉姆斯”主戰坦克的IVIS(車載信息系統),或者德國“豹2”的指揮控制系統,不僅不用Windows,甚至連Windows Embedded(後來的Windows IoT)都極少出現在核心控制鏈路里。

很多人以為坦克不用Windows是因為藍屏、是因為不穩定、是因為不實時。

但其實,Windows早期做過實時版本(比如Windows CE),微軟也花了大力氣做過內核防護。如果我們純粹從軟件崩潰率的角度來看,調優過的Windows Embedded並不比某些Linux發行版差。

真正讓坦克把Windows排除在外的,是一個很多程序員在寫代碼時幾乎不會考慮的問題:

系統狀態的可預測性,以及極端硬件環境下的“斷電韌性”。

我們可以試着想象一下主戰坦克在戰場上的真實工作環境。

坦克不是數據中心。數據中心有雙路冗餘電源、UPS、恆溫恆濕的機房,甚至有運維人員隨時待命。

而坦克里的計算機要面對什麼?

發動機劇烈震動、主炮發射時的強物理衝擊、電磁干擾,以及最致命的一點:不規律的瞬間斷電與電壓驟降。

當主炮開火的一瞬間,或者坦克掉進掩體、電源線斷開時,車載計算機可能會在沒有任何警告的情況下,直接失去電力。

這時候,Windows的架構設計就顯露出一個致命傷:巨大的狀態隱藏與複雜的後台機制。

Windows核心的設計思路,是為“人”服務的。為了給用戶提供良好的交互體驗、設備即插即用(PnP)、複雜的註冊表配置、系統恢復點以及延遲寫入的文件系統緩存,Windows在後台維護着龐大且密不可分的狀態機。

你在Windows上點一個關機,內核需要依次通知服務、刷新磁盤緩存、寫入註冊表狀態、保存會話。

如果在寫入註冊表或者文件系統分配表(FAT/NTFS)的微秒級瞬間突然斷電,會發生什麼?

在普通PC上,大不了下次開機花幾分鐘走一遍磁盤檢查(Chkdsk),或者彈出一個修復界面。

但在戰場上,如果主炮剛打完一發炮彈,系統斷電重啟,車載電腦亮起來,屏幕上顯示一行:

Updating your system,please do not turn off your computer...

或者直接卡在磁盤檢測界面等待按F1繼續——這種代價是整個車組的性命。

Windows很難做到真正意義上的“Stateless”(無狀態)。它的內核天生就希望記錄東西、保存狀態。即使後來微軟推出了UWF(統一寫入篩選器),把系統盤強行變成只讀,把寫入重定向到RAM,但這種覆蓋在複雜內核上的“補丁”,依然無法改變Windows龐大的啟動依賴鏈。

坦克需要的是什麼系統?

你去翻看主流坦克的電子系統方案,會發現它們的核心火控和驅動控制,大量採用了VxWorks、LynxOS,或者非常底層的Bare-metal(裸機C/C++加上極簡的微內核)。

這些系統有一個共同特徵:沒有歷史包袱,也沒有“智能”的後台邏輯。

給它通電,100毫秒內必須完成內核加載並進入主循環;直接拉閘拔掉電源,系統瞬間死亡,沒有任何緩存未寫入,沒有任何狀態損壞;下一次再通電,它依然可以在100毫秒內恢復到上一秒的工作狀態。

它不需要註冊表,不需要複雜的驅動仲裁,甚至不需要桌面和窗口管理器。

這種“死得乾脆,活得極快”的特性,看似極其原始,卻是在物理世界極其惡劣的干擾下,唯一能給人類安全感的東西。

微軟在桌面領域的成功,建立在“用海量的硬件資源和軟件複雜度,去屏蔽底層的硬件差異,從而降低軟件開發門檻”這個邏輯上。

但坦克的邏輯完全相反:它願意付出極高昂的定製開發成本,去換取內核極致的簡單與可控。

我後來在做工業控制項目的時候,有一次現場設備因為頻繁非法斷電導致嵌入式系統文件損壞。當時有工程師提出直接換上Windows IoT,說開發快,界面好做。

我當時就想起了坦克的火控系統。

我們很多時候太依賴現代操作系統提供的便利了。我們習慣了自動垃圾回收、習慣了後台服務自動重試、習慣了操作系統幫我們處理掉絕大多數硬件異常。

但如果一個系統要被用在最極端的場景里,技術選型最終拼的往往不是“它能做多少複雜的邏輯”,而是“當最壞的情況發生時,它死得夠不夠透明、復活得夠不夠快”。

Windows統治了桌面,不是因為它足夠簡單,而是因為它足夠包容。而坦克不需要包容,它只需要確定。

0%(0)
標 題 (必選項):
內 容 (選填項):
實用資訊
回國機票$360起 | 商務艙省$200 | 全球最佳航空公司出爐:海航獲五星
海外華人福利!在線看陳建斌《三叉戟》熱血歸回 豪情築夢 高清免費看 無地區限制