| 為什麼坦克幾乎不用 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統治了桌面,不是因為它足夠簡單,而是因為它足夠包容。而坦克不需要包容,它只需要確定。 |
|
![]() |
![]() |
| 實用資訊 | |
|
|
| 一周點擊熱帖 | 更多>> |
| 一周回復熱帖 |
| 歷史上的今天:回復熱帖 |
| 2025: | 向70周年致敬!U-2偵察機創紀錄14小時 | |
| 2025: | 中國核潛艇最大短板:聲吶系統太落伍 | |
| 2024: | 烏克蘭入侵俄羅斯啦! | |
| 2024: | 再增加60億!美國拖欠了台灣哪些裝備? | |
| 2023: | 獨步江湖! | |
| 2023: | 李瓜城可以是被醫生判了死刑,快要摘瓜 | |
| 2022: | 相見還若不見 | |
| 2022: | 椰酥說:我來是叫地上起刀兵的。裴珞犀 | |
| 2021: | 英航母突然改變行程轉向關島 或與艦上 | |
| 2021: | 塔利班攻占阿富汗朱茲詹省 拜登下令出 | |




