За прошедшие годы Microsoft осуществила несколько собственных проектов Linux. Существовали ОС на базе Linux для сетевых коммутаторов в центрах обработки данных и ОС на основе Linux для микроконтроллеров, созданных для встраиваемой службы безопасности Azure Sphere. А теперь стало известно ещё об одном проекте на базе Linux, над которым какое-то время трудились специалисты Microsoft.
В первый день конференции разработчиков Build 2019 программный гигант объявил о создании собственной версии ядра Linux, которое станет частью Windows 10. Первые тестовые сборки для участников программы Insider будут выпущены уже в конце июня. Это ядро обеспечит основу для архитектуры Microsoft Windows Subsystem for Linux (WSL) 2. Как отметили представители Microsoft в своём блоге, это первый случай, когда полноценное ядро Linux станет встроенным компонентом Windows.
Напомним: WSL 1 представлял собой слой совместимости, по сути эмулятор, для выполнения бинарных файлов Linux (ELF) в среде операционной системы Windows 10 и Windows Server 2019. Это, например, позволило в последние годы перенести в Windows оболочку Bash, добавить поддержку OpenSSH в Windows 10, а также включить дистрибутивы Ubuntu, SUSE Linux и Fedora в магазин приложений Microsoft Store.
Появление полноценного ядра открытой ОС в WSL 2 позволит улучшить совместимость, существенно повысить производительность приложений Linux под Windows, ускорить время загрузки, оптимизировать использование оперативной памяти, ускорить работу ввода-вывода файловой системы и запускать контейнеры Docker напрямую, а не через виртуальную машину.
Реальный прирост производительности будет зависеть от того, о каком приложении идёт речь и как оно взаимодействует с файловой системой. Внутренние тесты Microsoft показывают, что WSL 2 работает в 20 раз быстрее по сравнению с WSL 1 при распаковке архивов tarball и примерно в 2–5 раз быстрее при использовании git clone, npm install и cmake в различных проектах.
Ядро Microsoft Linux первоначально будет основано на последней долгосрочной стабильной версии 4.19, которая применяется компанией, и в технологиях, задействованных облачными сервисами Azure. По словам официальных представителей Microsoft, ядро будет полностью открытым: то есть все вносимые Microsoft изменения будут предоставлены сообществу разработчиков Linux. Компания также обещает, что с выходом следующей долгосрочной стабильной версии ядра обновится и версия для WSL 2, чтобы разработчики всегда имели доступ к последним новшествам Linux.
WSL 2 по-прежнему не будет включать каких-либо бинарных файлов пользовательского пространства, как и в случае с текущей версией WSL 1. Пользователи по-прежнему смогут выбирать, какой именно дистрибутив Linux им больше подходит, загружая его как через Microsoft Store, так и из других источников.
Одновременно Microsoft представила новое мощное приложение командной строки для Windows 10, которое получило название Windows Terminal. Оно включает вкладки, ярлыки, текстовые смайлики, поддерживает темы, расширения и рендеринг текста на основе GPU. Приложение предназначено для доступа к таким средам, как PowerShell, Cmd и WSL. Это ещё один шаг Microsoft, призванный упростить взаимодействие разработчиков с Windows 10. Предварительная версия Windows Terminal уже доступна в виде репозитория на GitHub, а появление в Microsoft Store обещано в середине июня.