數周前,開源軟件愛好者 Eric S Raymond 提出的觀點引發熱議,他認為微軟應該在 Linux 內核基礎上重構 Windows。他認為目前個人電腦業務持續下滑,Windows 早已不再是微軟的支柱業務,通過重構能夠實現利潤最大化。 不過,曾參與 Windows Subsystem for Linux 的 Ubuntu 移植開發的 Hayden Barnes 對此持反對觀點,認為微軟不會基于 Linux 重構 Windows。
Hayden Barnes 是游走在微軟和 Linux 社區之間的知名開發者,曾幫助 Windows Subsystem for Linux(WSL)上推進 Ubuntu 開發工作。因此他能夠和很多 Linux 開發人員、開源項目人員、社區成員和微軟員工進行交流。而且,他還作為 MVP (微軟最有價值專家)參與微軟產品和策略的各種簡報會。
對于近日流行的“微軟應該遷移 Windows 系統核心至 Linux 內核”說法,他表示從產品和工程角度來說微軟在任何情況下都不可能這么做。
在說明具體原因之前,Barnes 認為在 Slashdot 和 Hacker News 上不斷出現這個觀點的原因:
● 能夠吸引用戶點擊
● 對于開源和 Linux 倡導者來說,這是一個很早就存在的幻想。
● 目前,Windows 扮演的角色正在發生變化。尤其是當前 Android、iOS、macOS、Chrome OS 和 Ubuntu 都基于 Linux 的世界里
● 伴隨著 Linux 在 Azure 和 WSL 的使用率增加,這種合理性正在不斷增加。奧弗頓之窗(The Overton Window)已經轉移。
對此,Barnes 認為微軟不會基于 Linux 內核來重構 Windows 理由如下
1.內核
Windows 系統中的 NT 內核提供了一定程度的向后兼容、長期支持和驅動程序可用性,而 Linux 還在不斷完善中。如果想要基于 Linux 重構,這必然需要耗費數百萬美元。微軟有很多付費客戶可以繼續按原樣支持 Windows,某些已經有數十年了。
基于 Linux 重構 Windows,并不像 Raymond 所說的那樣能夠幫助微軟節省開支。很多盈利公司的存在都是為現有的操作系統而服務的。即便是最終基于 Linux,也可能會導致不良的內核單一化。
Windows 和 macOS 的競爭,才能讓 Linux 變成更好的操作系統。而更理想的結果是開源創新能夠在所有操作系統之間傳播,Windows 和 Linux 的開放源碼貢獻者能夠共享兩個生態系統的精華。
2.兼容性
目前尚不清楚如果 Windows 用戶空間從 NT 遷移到 Linux 內核,是否能夠保持良好的兼容性,特別是那些擁有關鍵任務應用、付費獲取的東西。
Windows 沒有像 Linux 那樣嚴格區分內核空間和用戶空間。NT 內核大約有 400 個已記錄的 syscalls 以及大約 1700 個已記錄的 Win32 API 調用。對于重新部署從而確保 Windows 開發者和他們工作達到預期的兼容性這是非常龐大的工作量,這完全超過了 Wine 提供的修正貢獻。
Linux 在 arm64 上只有 313 個 syscalls,而另一個原因是微軟已經從 WSL 1 中的 syscall 翻譯層(translation layer)轉換為 WSL 2 中的虛擬化內核,因此重新實現利用 Linux ABI 的數十種非標準方式是非常痛苦的事情。為微軟擁有的 Linux 上的SQL Server 提供一個 NT 相關的兼容層是一回事,為其他數百萬開發者的應用提供保證是另一回事。
3.微軟投入巨大
近年來,微軟在 Windows 上傾注的人力物力已經無法計算。微軟在 Windows 10 的可用性、新功能、性能改進等多方面進行了優化投資,并取得了回報。在這些改進的基礎上,通過和 OEM 廠商的合作,以及推出 Surface 品牌,已經幫助振興了 PC 市場。
微軟一直在努力使 Windows 成為一個優秀的開發平臺,其項目包括 Windows Terminal、PowerToys、Windows Subsystem for Linux 和 Visual Studio 2019。Windows Insider 項目也非常成功。
目前,Windows 是包括 Surface 在內諸多產品的重要搭載系統,而這也是微軟重點耕耘的一項業務。2018年和2020年的內部重組表明,現在 Surface 和 Windows 的未來是密不可分的。Windows 為 Xbox 提供了動力,我們正處于一個主要基于Windows的PC游戲的復蘇期。
微軟也有 Windows 10X 的想法,這是繼 Windows 10 之后的下一個操作系統概念(我認為我們會逐步得到),未來的硬件如 Surface Neo 也在考慮之中。
4.沒有必要
不需要基于 Linux 重構 Windows,微軟也能保持相關性。在放棄移動市場之后,微軟已經意識到了設備格局的變化。
微軟認識到當前社會人類使用各種系統和各種平臺,在系統上有 Android、Ubuntu、iOS、macOS、Chrome OS等等,而且除了 x86 之外還有 ARM。
微軟已經表示他們能夠適應這個多元的世界,在這些平臺上推出了相關產品和服務,同時確保 Windows 在傳統領域的競爭力。目前微軟正基于 Android 和 iOS 推動移動領域的創新,不僅移植了微軟 Office ,而且還包括 Microsoft Launcher 在內的很多優秀應用,而且近期也推出了搭載 Android 系統的 Surface Duo 手機 。
在 Ubuntu 系統上,微軟推出了很多針對 Linux 工作站的工具,例如 Code, .NET, Azure tools, Teams, PowerShell, Sysinternals for Linux,以及即將到來的 Edge 瀏覽器。你想在Azure上運行Ubuntu嗎?微軟已經為你準備好了,并與Canonical緊密合作,讓你獲得美妙的體驗。
與其關心微軟是否基于 Linux 重構 Windows,更有趣的問題是微軟在開源上能走多遠?我們已經看到了 Windows Terminal, PowerToys 和其他 Windows 組件已經開源。而更合乎邏輯、符合實際的目標是,微軟將會繼續開放 Windows 組件和 Windows 開發過程,甚至于會超出 Windows Insider 項目范圍,為其他系統提供福利。
責編AJX
-
微軟
+關注
關注
4文章
6590瀏覽量
104026 -
Linux
+關注
關注
87文章
11292瀏覽量
209333 -
WINDOWS
+關注
關注
3文章
3541瀏覽量
88626
發布評論請先 登錄
相關推薦
評論