Microsoft открыла исходный код Wsl на github спустя девять лет после релиза

Microsoft сделала исходный код подсистемы Windows для Linux (WSL) общедоступным спустя почти девять лет после первого релиза. Теперь большая часть компонентов WSL выложена в открытый репозиторий на GitHub под лицензией MIT. Это означает, что разработчики по всему миру могут не только изучать внутреннюю архитектуру подсистемы, но и участвовать в её доработке и развитии.

WSL позволяет запускать приложения, разработанные для Linux, в среде Windows 10 и 11 — без необходимости их перекомпиляции или переноса. Также пользователи могут устанавливать популярные дистрибутивы Linux, такие как Ubuntu и Fedora, прямо из Microsoft Store. При этом отпадает необходимость использовать сторонние инструменты виртуализации.

Проект WSL был впервые представлен в апреле 2016 года, а уже в августе того же года стал частью финального релиза Windows 10. Изначально была реализована версия WSL1, обеспечивающая работу Linux-программ за счёт прослойки, которая транслировала системные вызовы Linux в вызовы Windows NT, используя драйвер lxcore.sys. Однако такой подход не обеспечивал полной совместимости с большим количеством Linux-приложений.

Второй этап развития — WSL2 — стартовал в 2019 году. Microsoft внедрила полноценное ядро Linux, модифицированное под нужды Windows. В этой версии подсистема работает через виртуальную машину, которая запускается в фоновом режиме. Это решение дало значительный прирост производительности, особенно в области ввода-вывода, и сняло множество ограничений по совместимости. Также появилась возможность запускать Linux-программы с графическим интерфейсом и использовать аппаратное ускорение с помощью GPU.

Весной 2020 года стало известно, что WSL2 получит поддержку графических Linux-приложений. Это стало возможным благодаря внедрению компонента WSLg — графической подсистемы, основанной на собственном дистрибутиве Microsoft под названием CBL-Mariner (позднее переименованном в Azure Linux). В WSLg используются такие компоненты, как PulseAudio, Wayland, X-сервер и RDP, которые обеспечивают отображение интерфейса Linux-программ в Windows-среде. Все они упакованы в компактный контейнер и взаимодействуют с пользовательскими дистрибутивами через сокеты.

Теперь Microsoft опубликовала исходники многих ключевых компонентов WSL, включая утилиты командной строки (wsl.exe, wslg.exe), фоновые службы (wslservice.exe), а также связанные с ними Linux-демоны, отвечающие за настройку сети, проброс портов и другие функции. Код доступен в репозитории “microsoft/WSL” на GitHub. Техническую документацию на английском языке можно найти на сайте wsl.dev, а руководство пользователя, включая русскоязычную версию, — на официальном портале Microsoft Docs.

В то же время исходный код некоторых критически важных элементов, являющихся частью закрытой архитектуры Windows, корпорация публиковать не планирует. Среди них драйвер ядра lxcore.sys для WSL1, а также компоненты 9rdr.sys и p9np.dll, обеспечивающие доступ к файловой системе Linux через протокол 9P и маршрут “\wsl.localhost”.

Открытие кода WSL даёт возможность всем желающим вносить улучшения, разрабатывать новые функции и лучше понимать принципы работы подсистемы. Однако Microsoft пока не сообщила, планирует ли передать управление проектом сообществу или сохранит над ним полный контроль.

Прокрутить вверх