Windows 10將很快推出完整的開源GPLed Linux內核

Windows 10將很快推出完整的開源GPLed Linux內核

今天早些時候,我們寫道,微軟將為Windows的Linux子系統添加一些重要的新功能,包括對Docker容器的本機支持。事實證明,這不是它的一半。

當前用於Linux的Windows子系統使用Microsoft創作的內核組件,該組件提供與Linux內核相同的內核API,但是由Microsoft從頭開始編寫。從本質上講,它從Linux API轉換為Windows NT內核API。這很好用,但目前的子系統有一些缺點:沒有能力使用Linux驅動程序,特別是文件系統驅動程序。它的文件系統性能分層在Windows自己的NTFS之上,通常比真正的Linux內核慢20倍。它也是內核的一個相對較舊的版本; 它提供了Linux 4.4所做的大約API,並且是在2016年發佈的。一些API根本沒有實現,而其他API只是部分實現以滿足特定應用程序的需求。

所有這些都在改變Windows的Solaris子系統2.而不是在NT內核上模擬Linux內核API,WSL 2將在輕量級虛擬機中運行完整的Linux內核。這個內核將被削減並針對這個特定的用例進行定製,具有精簡的硬件支持(因為它將遵循主機Windows操作系統)並且可以更快地啟動。

Linux內核是GPLed開源的; GPL許可證要求必須根據GPL許可證發佈對代碼所做的任何修改。Microsoft將適當遵守此規範,發佈它對內核所做的補丁和修改。WSL 2也將使用與當前WSL類似的拆分:內核組件將隨Windows一起提供,而各種Linux發行版提供的“個性”可以從Microsoft Store安裝。

通過使用Linux內核本身,Microsoft免費獲得Linux的所有功能。這就是WSL 2將支持Docker容器的原因:所有底層基礎架構(如cgroup)已經在Linux內核中,而Microsoft不需要自己實現這些功能。嵌入式內核將由Windows Update進行維護和更新。

這也為性能提供了很大的提升。文件系統繁重的操作,例如提取tarball,可以快20倍; 其他活動(比如在Git中克隆源代碼庫)的速度可能要快五倍。

WSL已經受到開發人員的熱烈歡迎,因為它提供了一個類似Linux的開發環境。WSL 2將把它提升到一個新的水平,但幾乎消除了WSL 1所具有的兼容性問題。

WSL 2的第一次預覽將於6月發佈。


分享到:


相關文章: