為什麼微軟要讓Windows運行Linux軟件

Linux 微軟 Windows Windows 10 w3c教程 w3c教程 2017-10-02

微軟的開發者大會的最大驚喜是Windows子系統Linux (WSL)。

該系統將作為今年夏季“Windows 10 週年紀念更新”的一部分。WSL有兩部分:核心子系統 已經包含在操作系統的內部預覽版本中,然後是Canonical將提供的一套軟件。核心子系統是Windows上提供的Linux API,包括本地加載Linux可執行文件和庫的能力。Canonical將提供bash預期在Linux環境中的所有其他命令行工具。

微軟正在將WSL定位為開發人員的工具,特別是支持Web開發人員和他們所依賴的開源軟件堆棧。許多開發人員都非常熟悉的bash外殼,採用建築軟件make和gcc,並在編輯文字vi或emacs。WSL將給這些開發人員版本的這些工具,在幾乎相當於在Linux上獲得的工具相同,因為它們將是在Windows上運行未修改的Linux上的工具。

有了這個開發者的焦點,微軟不支持WSL作為部署平臺。可能運行例如WSL下的Apache Web服務器,甚至可能對開發進行此操作是有用的,但意圖不在於使用此配置在生產中運行應用程序。

WSL源自Project Astoria,旨在使Android應用程序在Windows 10 Mobile上運行; 我們預計,至少起初,它的支持對於Android所需的API來說是最強的,而在其他領域將會更弱。這意味著在應用程序支持應該廣泛的情況下,Windows將無法在太陽下運行每個 Linux程序。這裡沒有Linux內核,所以這不支持文件系統,如ZFS或btrfs到Windows。要求低級別訪問硬件設備(如Wireshark)的應用似乎似乎不太可能運行,並將繼續需要Windows端口。WSL也不包括X Windows或任何其他圖形子系統; 它僅限於命令行應用程序。

微軟決定在Windows上支持Linux軟件是一個令人驚訝的舉動,明顯的問題是為什麼?在表面上,答案很容易 - 像這些工具這樣的開發人員,所以支持他們讓開發人員開心 - 但這個故事比這更深入。在Windows中支持Linux應用程序對於已經花了幾十年時間推廣自己的API和應用程序平臺的公司而言,這是一個重要的舉措,公司不太可能只是為開發人員提供一些生物的舒適。需要比這更深。

將時鐘回到15年,Windows是軟件開發商唯一的嚴肅平臺。Linux已經是服務器的重要考慮因素,但桌面設備比現在更少受到關注,僅限於最核心的粉絲。OS X處於起步階段,只能運行在奇怪而昂貴的PowerPC硬件上。這使得Windows成為默認選擇的開發平臺。根本沒有任何好的選擇。

這反過來又對軟件造成了後果,在這些軟件中,Windows支持的硬件可能會驅動服務器端的使用 這是MySQL數據庫服務器的一個主要例子。雖然今天比以前更好,但MySQL在技術能力和數據完整性等重要考慮因素方面一直被視為次優,PostgreSQL通常被認為是更好的數據庫。儘管如此,由於MySQL是一個更好的開發平臺,所以MySQL贏得了相當的市場份額和心態。它有一個簡單的Windows安裝程序,它具有良好的Windows軟件管理數據庫和編寫查詢,它有良好的ODBC驅動程序。另一方面,PostgreSQL的開發人員似乎並沒有將任何這些事情放在首位,而在Windows上運行數據庫並不是不可能的,這樣做意味著沒收MySQL提供的生物舒適。

那並不奇怪的是,MySQL以一種PostgreSQL的方式來增長。

但事情不再這樣工作了。在Windows上設置Ruby開發環境是一個糟糕的經歷。運行良好的Ruby在任何平臺上都是尷尬的,但Windows可以說是最糟糕的。流行的node.js環境誕生於OS X和Linux上,長期以來無法在Windows上有效運行。頂級NoSQL數據存儲redis的開發人員Salvatore Sanfilippo 拒絕接受補丁,使該軟件在Windows上運行,而不是對Microsoft有特別的敵意,而是因為他沒有必要。他支持支持Windows的軟件叉,但沒有什麼會阻礙核心產品的開發。

為什麼微軟要讓Windows運行Linux軟件

概括起來一句話,微軟想在服務器領域發力並繼續維護自己在操作系統領域的霸主地位。

相關推薦

推薦中...