Выбор будет не между Windows и Linux, а что сначала загружается: Hyper-V или KVM, а уже стеки Windows и Ubuntu будут хорошо совместимы друг с другом.
В последнее время развернулась некоторая дискуссия о том, что Microsoft может в будущем перенести свою операционную систему Windows на ядро Linux.
Я как никто другой знаю о проектах Linux в Microsoft, поскольку работаю в подразделении настольных компьютерных систем в Canonical и помогаю выпустить Ubuntu на WSL (Windows Subsystem for Linux). По работе приходится регулярно общаться со многими сотрудниками Microsoft, которые занимаются Linux и различными проектами с открытым исходным кодом. Мне приходят сводки по продуктам Microsoft и стратегии. Обращаю внимание, что в этой статье только мои личные мысли, я не разглашаю никакой секретной информации.
Я стал своего рода посредником между сообществами Microsoft и Linux, и с радостью играю эту роль. В обоих сообществах есть творческие, добрые и обаятельные люди. Самое интересное, когда между этими сообществами размываются границы.
Использование планировщика Windows для запуска автоматических обновлений в Ubuntu на WSL
Я глубоко скептически отношусь к идее, что Microsoft собирается в ближайшее время перенести операционную систему Windows на ядро Linux. Против этого есть и продуктовые, и инженерные причины. Позвольте объяснить.
Во-первых, почему эта фантазия постоянно возникает на Slashdot и Hacker News:
- Это эффективный кликбейт.
- Это давняя фантазия сторонников открытого исходного кода и Linux.
- Роль Windows меняется, а мировой рынок операционных систем на устройствах теперь делят Android, iOS, macOS, Chrome OS и Ubuntu.
- Правдоподобность таких фантазий возрастает в связи с распространением использования Linux в облаке Azure и подсистеме WSL. Окно Овертона сдвигается.
«Конкуренция с Windows и macOS делает Linux лучше»
Причины, по которым Windows не перейдёт на ядро Linux:
- Ядро NT в Windows обеспечивает такую степень обратной совместимости, долгосрочной поддержки и доступности драйверов, к которой Linux только приближается. Воспроизвести это в Linux обойдётся в миллионы долларов. У Microsoft есть много платных клиентов, которые продолжают сидеть на Windows, некоторые на протяжении десятилетий. Windows не является источником затрат, что оправдало бы расходы по переходу на Linux ради экономии, как утверждал Рэймонд. Сейчас множество прибыльных бизнесов основано исключительно на обслуживании существующих операционных систем. Даже если бы дело дошло до перехода на Linux, это могло бы привести к нежелательной монокультуре. Конкуренция с Windows и macOS делает Linux лучшей операционной системой. Вместо этого хочется, чтобы опенсорсные инновации распространялись во всех операционных системах и между ними. Чтобы разработчики Windows и Linux делились лучшим из обеих экосистем.
- Неясно, можно ли вообще перенести пользовательское пространство Windows с NT на ядро Linux и сохранить совместимость, за которую платят корпоративные клиенты с критически важными приложениями. В Windows нет такого же строгого разделения между пространством ядра и пользовательским пространством, как в Linux. В ядре NT около 400 документированных системных вызовов плюс около 1700 документированных вызовов Win32 API. Чтобы обеспечить точную совместимость для разработчиков и инструментария требуется огромная работа. Это не просто какие-то исправления в Wine. В Linux всего 313 системных вызовов на amd64, и даже здесь повторная реализация десятков нестандартных способов, которыми разработчики используют Linux ABI, стала огромной занозой в заднице и одной из причин, по которой Microsoft переключилась с уровня трансляции системных вызовов в WSL 1 на виртуализированное ядро в WSL 2. Одно дело — обеспечить связанный с NT уровень совместимости для SQL Server на Linux, которым владеет Microsoft, и совсем другое — гарантировать его для миллионов приложений других разработчиков.
- В последние годы Microsoft удвоила свои усилия по разработке Windows. Она сильно поработала над удобством использования, новыми функциями и улучшениями производительности в Windows 10, и эти вложения окупились. Сделанные усовершенствования, а также сотрудничество с производителями оборудования и Surface помогли оживить рынок ПК, который в какой-то момент оказался под угрозой падения до уровня айпадов и хромбуков. Microsoft упорно работает над тем, чтобы сделать Windows отличной платформой разработки, с такими проектами, как Windows Terminal, PowerToys, WSL и Visual Studio 2019. Программа Insiders чрезвычайно успешна. Windows поддерживает большую часть линейки устройств Surface, что сейчас является ключевым направлением деятельности Microsoft. Внутренние реорганизации в 2018 и 2020 годах показывают, что Surface и Windows в будущем станут неразрывно связаны. Windows поддерживает Xbox, и мы переживаем возрождение компьютерных игр для Windows. У Microsoft также есть идеи для Windows 10X, концепта следующей операционной системы после Windows 10 (которая, наверное, будет проявляться постепенно), с учётом будущего оборудования, такого как Surface Neo.
- Microsoft не нужно переходить на Linux, чтобы оставаться на переднем краю прогресса. После отказа от Windows на мобильных устройствах компания понимает изменение диспозиции на рынке и видит более разнообразный набор операционных систем и платформ, включая Android, Ubuntu, iOS, macOS, Alexa, Chrome OS — и не только x86, но и ARM. Microsoft показала, что способна адаптироваться, портируя продукты и услуги на этих платформах, одновременно сохраняя конкурентоспособной собственную платформу Windows. Microsoft теперь продвигает инновации на Android в мобильном пространстве не только с портированными офисными приложениями, но и с лаунчером домашнего экрана, а теперь и с Surface Duo. На Ubuntu они предлагают свои инструменты, которые имеют смысл для рабочих станций Linux — это Code, .NET, инструменты Azure, Teams, PowerShell, Sysinternals для Linux, а скоро и Edge со специальными инструментами для веб-разработчиков от Microsoft. Хотите запустить Ubuntu на Azure? Для этого Microsoft тесно сотрудничает с Canonical.
Гораздо более интересный вопрос не в переходе Windows на Linux, а в том, насколько далеко Windows зайдёт в своих играх с открытым исходным кодом. Мы уже видим, что Windows Terminal, PowerToys и другие компоненты Windows или изначально разрабатываются опенсорсными, или переходят на открытый код. Более логичной и реалистичной целью здесь является дальнейшее открытие компонентов Windows и процесса разработки Windows, даже за пределами программы Insiders, чтобы это приносило пользу другим операционным системам.
В конце концов, Windows уже приняла шестимесячные интервалы Ubuntu с релизами в апреле и октябре, с расширенной поддержкой избранных выпусков. Windows 2004 и Ubuntu 20.04 вышли через нескольких дней. Я шучу.
Рэймонд прав в одном ключевом тезисе. Я действительно думаю, что эпоха десктопных войн заканчивается. Мы вступаем в новую эру, когда ваша высокопроизводительная рабочая станция будет работать с несколькими ОС одновременно, как с рантаймами, и не обязательно все они будут выполняться локально. Выбор будет не между Windows и Linux, а что сначала загружается: Hyper-V или KVM, а стеки Windows и Ubuntu будут хорошо совместимы друг с другом. Microsoft вносит патчи в ядро Linux, чтобы оно хорошо запускалось на Hyper-V, и настраивает Windows, чтобы она отлично работала на KVM.
Лучшее из Ubuntu появится в Windows, а лучшие опенсорсные части Windows придут в Ubuntu благодаря растущему принятию опенсорса в Microsoft.
Однако ключевой вывод заключается в том, что опенсорс победил. И Рэймонд может гордиться тем, что помог сформулировать аргументы в пользу модели разработки с открытым исходным кодом.
Отрывок из документального фильма «Revolution OS»
Ни Windows, ни Ubuntu никуда не денутся. Они просто продолжат улучшаться с помощью открытого исходного кода. У каждого останутся свои относительные преимущества. Только сейчас вырастет сотрудничество и обмен открытым кодом.
Работа по поддержке GUI в WSL потенциально может значительно улучшить работу удалённого рабочего стола и виртуализации Windows в Linux
Автор: m1rko