Компания Microsoft за формирането на нови експериментални версии на Windows Insider (build 18917), в които е включен предварително анонсирания слой WSL2 (Windows Subsystem for Linux), осигуряващ стартирането на изпълними файлове Linux в Windows. Втората редакция на WSL се различава с предоставянето на пълноценно Linux ядро, вместо емулация, която в реално време превежда системни повици от Linux в системни повици на Windows.
Използването на стандартно ядро позволява постигането на пълна съвместимост с Linux на ниво системни повици и осигурява възможността за безпроблемно стартиране в Windows на контейнерите Docker, а също така реализира поддръжката на файлови системи, базирани на механизма FUSE. В сравнение с WSL1, производителността на WSL2 при операции по вход/изход и с файловата система е значително увеличена. Например, при разархивиране на компресиран архив WSL2 е 20 пъти по-бърз от WSL1, а при изпълнение на операции "git clone", "npm install", "apt update" и "apt upgrade" е 2-5 пъти по-бърз.
В WSL2 се предлага компонент на база Linux ядро 4.19, което работи в среда на Windows с помощта на виртуална машина, вече използвана в Azure. Актуализациите за Linux ядрото се доставят чрез механизма Windows Update и се тестват в инфраструктурата за непрекъсната интеграция на Microsoft. Всички подготвени за интеграция на ядрото с WSL промени обещават да бъдат публикувани под свободна лицензия GPLv2. Подготвените пачове включват оптимизации за съкращаване на времето за стартиране на ядрото, намаляване на консумацията на памет и оставяне в ядрото на минимално необходимия набор от драйвери и подсистеми.
Поддръжката на старата версия WSL1 е запазена и двете системи могат да се използват паралелно, в зависимост от предпочитанията на потребителите. WSL2 може да действа като прозрачна замяна на WSL1. Както и в WSL1, компонентите на потребителското пространство отделно и се основават на сборки от различни дистрибуции. Например, за инсталиране в WSL в каталога Microsoft Store сборките , , ,
, и .
Околна среда в отделен дисков образ (VHD) с файловата система ext4 и виртуален мрежов адаптер. За взаимодействие с предлаганото в WSL2 Linux ядро е необходимо включването в дистрибутива на малък инициализационен скрипт, който променя стартиращия процес. За превключване между режимите на работа на дистрибутивите е предложена нова команда „wsl —set-version“, а за избор на използваната по подразбиране версия на WSL командата „wsl —set-default-version“.
Източник: opennet.ru
