Компания Microsoft анонсировала, что уже в июне 2019 г. Windows 10 выйдет со встроенным ядром Linux. Нет, это не шутка и сегодня не 1 апреля. Windows действительно будет подставляться с настоящим ядром Linux. Конечно, ядро Linux не будет использоваться для «управления» системой, оно будет поставляться как часть компонента WSL 2.
Прежде чем перейти к описанию будущих нововведений, стоит сказать пару слов о том, что же такое вообще WSL.
Что такое WSL 1
WSL 1 появился в августе 2016 г.
WSL 1 (Windows Subsystem for Linux) — это специальный компонент системы Windows, который представляет собой программный интерфейс (слой) для запуска Linux приложений внутри Windows 10 и Windows Server 2019, как если бы они работали внутри Linux.
То есть WSL 1 позволяет запускать бинарные файлы, предназначенные для Linux, внутри Windows без использования виртуализации. В чем-то подобное решение можно сравнить с Wine.
WSL 1 позволяет запускать командную оболочку Bash, использовать нативные Linux утилиты (такие как sed, awk), интерпретаторы языков программирования (Ruby, Python и т.д.) и даже некоторые графические приложения с использованием X11.
WSL 1 является собственной разработкой Microsoft и не содержит в себе исходных кодов ядра Linux.
Основные недостатки WSL 1 заключались в падении производительности при использовании файловой системы, а также в крайне ограниченном количестве поддерживаемых Linux-приложений. Но при этом WSL 1 показывала относительно высокую общую производительность.
WSL 2 и ядро Linux внутри Windows
6 мая 2019 Microsoft анонсировала выход абсолютно новой версии WSL 2.
WSL 2 имеет кардинально новую архитектуру для запуска Linux-приложений. Вместо использования слоя для адаптации системных вызовов теперь используется совершенно новый бэкэнд на основе виртуальной машины. Но, как заявляет Microsoft, здесь используется другой архитектурный подход, поэтому его нельзя сравнивать с классическими виртуальными машинами, которые, как правило, крайне требовательны к ресурсам и работают обособленно от домашней операционной системы.
Microsoft заявляет, что WSL 2 обеспечивает увеличение скорости выполнения некоторых операций в двадцать раз по сравнению с WSL 1.
WSL 2 значительно расширяет количество Linux-приложений, которые можно запустить внутри Windows. Например, заявлена поддержка Docker. Поддерживаются только 64-разрядные приложения.
Одним из основных компонентов WSL 2 является настоящее ядро Linux, которое позволит обеспечить полную совместимость системных вызовов между Linux и Windows.
Где Microsoft берет ядро Linux
Microsoft использует обычную стабильную версию ядра Linux, доступную на Kernel.org. Первые сборки будут основаны на LTS-версии ядра 4.19.
В ядро вносятся изменения, чтобы обеспечить совместимость с WSL 2, снизить потребление ресурсов, увеличить время загрузки. Также из ядра удаляются некоторые неиспользуемые компоненты и драйвера.
Исходный код измененного ядра будет открыт (Open Source) и вскоре появится на GitHub.
Заявлено, что ядро Linux можно будет обновлять. То есть пользователи будут получать свежие исправления и улучшения ядра Linux.
Это все-таки виртуальная машина или нет?
WSL 2 использует новейшую технологию виртуализации для запуска ядра Linux внутри облегченной виртуальной машины. WSL 2 является виртуальной машиной, но лишена основных недостатков виртуальных машин и имеет архитектурные особенности, отличающие ее от традиционных виртуальных машин.
Обычно, когда речь заходит о виртуальных машинах, то подразумевается некоторая изолированная от домашней системы среда, которая отъедает большую часть программных и аппаратных ресурсов, чтобы обеспечить функционирование гостевой системы. Сюда же можно добавить и, зачастую, медленную работу гостевой системы, долгую загрузку и требование некоторого опыта для настройки.
По заявлениям Microsoft технология WSL 2 лишена этих недостатков. Она будет иметь те же преимущества, что и WSL 1: высокую интеграцию между Windows и Linux, быстрое время загрузки, низкое потребление ресурсов и отсутствие необходимости выполнять настройку виртуальной машины.
Подводя итог, можно сказать, что WSL 2 использует виртуальную машину, но с пользовательской точки зрения работа в Linux из под Windows будет выполняться так, как если вы работаете с приложениями Linux прямо внутри Windows.
Насколько быстро работает WSL 2
Microsoft указывает на то, что WSL 2 работает существенно быстрее WSL 1.
Тесты распаковки zip-архивов показали 20-кратный прирост производительности.
Использование операций git clone, npm install и cmake показали 2-5-кратный прирост производительности.
Полная совместимость с системными вызовами Linux
Linux-приложения используют системные вызовы для выполнения многих функций — доступа к файловой системе, управления памятью, создания процессов и так далее. В WSL 1 использовался отдельный программный слой, который интерпретировал системные вызовы и позволял им работать с ядром Windows. Реализация подобного функционала крайне сложная и трудоемкая задача. Поэтому Microsoft принял решение отказаться от такого подхода.
В WSL 2 включено собственное ядро Linux, которое, естественно, включает все системные вызовы и позволяет Linux-приложениям функционировать, независимо от дополнительных программных интерфейсов (слоев).
Какие дистрибутивы будут поддерживаться
В настоящее время компания Canonical выразила готовность сотрудничества с Microsoft и анонсировала полную поддержку Ubuntu внутри WSL 2.
Ожидается также поддержка Debian, Kali Linux, SUSE и openSUSE, которые уже доступны для WSL 1.
Microsoft любит Linux ❤
В 2018 году Microsoft использовала Linux для создания операционной системы Azure Sphere, поэтому знакома с ней не понаслышке.
Но сейчас — это первый случай, когда ядро Linux будет поставляться вместе с Windows. И, как пишут на сайте Microsoft, это истинное свидетельство того, как сильно Microsoft любит Linux.
Когда можно будет протестировать
Первые сборки WSL 2 будут доступны в конце июня 2019 г. в тестовых версиях Windows 10 Insider.
Пока рано говорить о том, насколько стабильно будет работать WSL 2, и насколько правдивыми окажутся обещания Microsoft.
Комментарии
18:11
02:44
05:19
14:35
Я прочитал все ваши комментарии на сайте. Вы производите впечатление разумного человека.
Можно с вами по электронной почте пообщаться? Или в мессенджере? Или в ВК? Да где угодно.
20:52
14:53
14:56
15:00
15:06
15:17
15:18
Wine распространяется на условиях свободной лицензии GNU LGPL.
Учи матчасть
02:40
А так WSL -- не более костыль чем Snap, Flatpak и пр Docker-подобные. Не то чтобы прям костыль -- а скорее иная концепция, которая плохо сочетается с существующими традициями и убеждениями (втч моими).
16:50
22:25
https://i.imgur.com/meklXMw.jpg
И делаем выводы...
06:12
15:02
02:30
08:03
09:09
Всё идёт к тому, что пытаются всё открытое и бесплатное запретить, а все программы надо покупать, даже самые простые.