微軟在Windows 10 中搞了個真正的Linux 內核
微軟在5月6日推出了全新的終端Windows Terminal,這是一個全新的、流行的、功能強大的命令行終端工具。包含很多來社區呼聲很高的特性,例如:多Tab支持、富文本、多語言支持、可配置、主題和样式,支持emoji和基於GPU運算的文本渲染等等。同時該終端依然符合我們的目標和要求,以確保它保持快速、高效,並且不會消耗大量內存和電源。
而在這之上,其實是2代WSL(Windows Subsystem for Linux 2)提供了強勁動力。
WSL 團隊在博客中寫到:
今天我們推出Windows Subsystem for Linux 的最新架構:WSL 2!這種新架構的變化將允許:大幅度的文件系統性能提升,以及完整的系統調用兼容性,這意味著可以在WSL 2 中運行更多Linux 應用程序,例如Docker。
WSL 1雖然已經於2016年就推出,但是社區一直要求提高文件系統性能,並具有更好的系統調用兼容性,使更多應用程序可以在WSL內部工作。新推出的WSL 2使用一個全新的體系結構,使用真正的Linux內核,可以在Windows上運行ELF64 Linux二進製文件,新的架構改變了這些Linux二進製文件與Windows和計算機硬件的交互方式,但仍提供與WSL 1相同的用戶體驗。單個Linux發行版既可以作為WSL 1發行版運行,也可以作為WSL 2發行版運行,可以隨時升級或降級,並且可以並行運行WSL 1和WSL 2發行版。
Linux二進製文件使用系統調用來執行許多功能,例如訪問文件、請求內存與創建進程等。WSL 1創建了一個轉換層,對這些系統調用進行翻譯,以允許它們在Windows NT內核上工作。但是,實現所有這些系統調用很有挑戰性,導致某些應用程序無法在WSL 1中運行。現在WSL 2包含自己的Linux內核,它具有完整的系統調用兼容性。這引入了一組可以在WSL中運行的全新應用程序。
值得一提的例子是Linux 版本的Docker,以及FUSE 可以在WSL 2 中運行。同時,使用WSL 2 意味著可以比WSL 1 更快地獲得Linux 內核的最新改進,因為開發團隊可以簡單地更新WSL 2 內核而不需要自己重新實現更改。
毋庸置疑,WSL 2的速度也明顯比1代快!git clone、npm install、apt update與apt upgrade等文件密集型操作都會明顯加快。實際的速度增加將取決於正在運行的應用程序以及它與文件系統的交互方式。開發團隊運行的初始測試使WSL 2在解壓tarball時比WSL 1快20倍,在各種項目中使用git clone、npm install和cmake時速度提高約2-5倍。
WSL 2 的初始版本將於今年6 月底通過Windows 內部人員計劃提供。
詳情查看博客: