Компания Microsoft на провежданата в момента конференция Microsoft Build 2019 беше представен обновеният WSL2 (Windows Subsystem for Linux), предназначен за стартиране на Linux изпълними файлове в Windows. Ключова на втората версия е внедряването на пълноценен Linux ядро, вместо прослойка, която в реално време преобразува системните повиквания от Linux в системни повиквания за Windows.
Тестовото издание на WSL2 ще бъде предложено в края на юни в експериментални версии . Поддръжката на WSL1, базирана на емулатор, ще бъде запазена и потребителите ще могат да я използват едновременно с WSL2. За стартиране на Linux ядрото в среда на Windows се използва лека виртуална машина, която вече се прилага в Azure.
В рамките на WSL2 за Windows 10 ще бъде предложен компонент с вградено ядро Linux 4.19. С излизането на поправки за LTS клона 4.19, ядрото за WSL2 ще бъде актуализирано своевременно чрез механизма Windows Update и тествано в инфраструктурата за непрекъсната интеграция на Microsoft. В WSL2 ще се използва същото ядро, каквото се прилага в инфраструктурата на Azure, което ще улесни поддръжката.
Всички промени подготвени за интеграция на ядрото с WSL ще бъдат публикувани под свободна лицензия GPLv2 и ще бъдат предавани upstream. Подготвените пачове включват оптимизации за намаляване на времето за стартиране на ядрото, намаляване на потреблението на памет и оставяне на минимално необходимия набор от драйвери и подистеми в ядрото. Предложеното ядро ще може да служи като прозрачна замяна на емулаторната прослойка, предлагана в WSL1. Наличието на изходни текстове ще позволи на ентусиастите, при желание, да създават свои версии на Linux ядрото за WSL2, за което ще бъдат подготвени необходимите инструкции.
Използването на вградено ядро с оптимизации от проекта Azure ще осигури пълна съвместимост с Linux на нивото на системните повиквания и възможност за безпроблемно стартиране на Docker контейнери в Windows, а също така ще реализира поддръжка на файлови системи, базирани на механизма FUSE. Освен това, в WSL2 е значително увеличена производителността при вход/изход и операции с файловата система, която преди беше тесен проход за WSL1. Например, при разархивиране на компресиран архив WSL2 е 20 пъти по-бърз от WSL1, а при извършване на операции
като «git clone», «npm install», «apt update» и «apt upgrade» е 2-5 пъти.
Въпреки доставката на ядрото Linux, както и преди, WSL2 няма да предостави готов набор компоненти за потребителското пространство. Тези компоненти се инсталират отделно и се основават на сборки на различни дистрибуции. Например, за инсталиране в WSL в каталога на Microsoft Store сборки , , и . За взаимодействие с предоставеното в Windows ядро Linux ще е необходимо да се вмъкне в дистрибуцията малък инициализационен скрипт, който променя процеса на зареждане. Компанията Canonical вече намерението си да осигури пълна поддръжка на Ubuntu върху WSL2.
Допълнително може да бъде отбелязано от компанията Microsoft на емулятора на терминал , чийто код се разпространява под лицензия MIT. Заедно с терминала е отворен и кодът на оригиналния интерфейс на командния ред conhost.exe, който се използва в Windows и реализира Windows Console API. Терминалът предоставя интерфейс на базата на раздели и споделени прозорци, напълно поддържа Unicode и escape последователности за цветен изход, позволява смяна на теми и инсталиране на добавки, поддържа виртуални конзоли (PTY) и използва DirectWrite/DirectX за ускорено рендериране на текст. В терминала може да се използват обвивки Command Prompt (cmd), PowerShell и WSL. Лятото новият терминал ще стане достъпен за потребителите на Windows чрез каталога на Microsoft Store.
Източник: opennet.ru
