我們一直在路上,隻爲更優質的(de)服務

SMART SERVICE

微軟将推出适用(yòng)于Linux全新内核的(de)Windows 10

TIME:  2019-05-07

 今天早些時(shí)候,我們寫道,微軟将爲Windows的(de)Linux子系統添加一些重要的(de)新功能,包括對(duì)Docker容器的(de)本機支持。事實證明(míng),這(zhè)不是它的(de)全部。

當前用(yòng)于Linux的(de)Windows子系統使用(yòng)Microsoft創作的(de)内核組件,該組件提供與Linux内核相同的(de)内核API,但是由Microsoft從頭開始編寫。從本質上講,它從Linux API轉換爲Windows NT内核API。這(zhè)很好用(yòng),但目前的(de)子系統有一些缺點:沒有能力使用(yòng)Linux驅動程序,特别是文件系統驅動程序。它的(de)文件系統性能分(fēn)層在Windows自己的(de)NTFS之上,通(tōng)常比真正的(de)Linux内核慢(màn)20倍。它也(yě)是内核的(de)一個(gè)相對(duì)較舊(jiù)的(de)版本; 它提供了(le)Linux 4.4所做(zuò)的(de)大(dà)約API,并且是在2016年發布的(de)。一些API根本沒有實現,而其他(tā)API隻是部分(fēn)實現以滿足特定應用(yòng)程序的(de)需求。

所有這(zhè)些都在改變Windows的(de)Solaris子系統2.而不是在NT内核上模拟Linux内核API,WSL 2将在輕量級虛拟機中運行完整的(de)Linux内核。這(zhè)個(gè)内核将被削減并針對(duì)這(zhè)個(gè)特定的(de)用(yòng)例進行定制,具有精簡的(de)硬件支持(因爲它将遵循主機Windows操作系統)并且可(kě)以更快(kuài)地啓動。
Linux内核是GPLed開源的(de); GPL許可(kě)證要求必須根據GPL許可(kě)證發布對(duì)代碼所做(zuò)的(de)任何修改。Microsoft将适當遵守此規範,發布它對(duì)内核所做(zuò)的(de)補丁和(hé)修改。WSL 2也(yě)将使用(yòng)與當前WSL類似的(de)拆分(fēn):内核組件将随Windows一起提供,而各種Linux發行版提供的(de)“個(gè)性”可(kě)以從Microsoft Store安裝。
通(tōng)過使用(yòng)Linux内核本身,Microsoft免費獲得(de)Linux的(de)所有功能。這(zhè)就是WSL 2将支持Docker容器的(de)原因:所有底層基礎架構(如cgroup)已經在Linux内核中,而Microsoft不需要自己實現這(zhè)些功能。嵌入式内核将由Windows Update進行維護和(hé)更新。
這(zhè)也(yě)爲性能提供了(le)很大(dà)的(de)提升。文件系統繁重的(de)操作,例如提取tarball,可(kě)以快(kuài)20倍; 其他(tā)活動(比如在Git中克隆源代碼庫)的(de)速度可(kě)能要快(kuài)五倍。
WSL已經受到開發人(rén)員(yuán)的(de)熱(rè)烈歡迎,因爲它提供了(le)一個(gè)類似Linux的(de)開發環境。WSL 2将把它提升到一個(gè)新的(de)水(shuǐ)平,但幾乎消除了(le)WSL 1所具有的(de)兼容性問題。
WSL 2的(de)第一次預覽将于6月(yuè)發布。