Linux-приложения в Windows 10

Ежегодная конференция Build на этот раз оказалась интересной не только для поклонников редмондского гиганта, но и для пользователей лагеря Linux. Во-первых, более подробно рассказали о возможностях запуска Linux-систем в облаке Microsoft Azure, о которой уже было известно некоторое время. А, во-вторых, и это самое главное, Microsoft совместно с Canonical интегрировала в Windows 10 практически полноценную ОС Ubuntu. В сборках Windows Insider появилась возможность запуска бинарных исполняемых файлов Linux (ELF64). В ядре теперь имеется специальная прослойка, транслирующая системные вызовы Linux в вызовы Windows. Linux-приложения в Windows 10Подробнее об этом вы можете узнать в статье Скотта Хансельмана.

Главное преимущество такого подхода — высокая скорость исполнения ненативного кода и универсальность. Ранее для получения подобной функциональности требовалось либо использование различного рода виртуализированных сред, что естественным образом приводило к снижению быстродействию и отдельным проблемам с тем, как бесшовно связать обе системы. Либо же предлагалась установка портированных на Windows Linux-программ, что на самом деле приводило к ещё большим проблемам совместимости — часть ПО в принципе невозможно заставить работать в Windows без переписывания значительной части исходного кода.

Теперь же подобных проблем нет — в Windows 10 стало доступно нормальное окружение Ubuntu, то есть это не только возможность запуска Linux-программ, но и доступ к множеству дополнительных функций, и доступ к огромному репозиторию уже готового и протестированного ПО. Впрочем, это лишь вершина айсберга. Разработчики проделали огромную работу по корректной интеграции одной ОС в другую. В Windows 10 появились специальные пикопроцессы и пикодрайверы. За счёт и службы LXSS Linux-приложения получают полноценный доступ к NT-ядру, хотя она даже не «догадываются», что работают в Windows. Естественно, часть весьма специфичных для Linux концепций здесь не реализовано. Тем не менее, для комфортной работы того, что есть, вполне достаточно. Самое главное, что теперь в Windows 10 разработчикам облачных и серверных приложений доступное родное окружение, что значительно облегчает создание нового ПО, а потом и его развёртывание в подходящей среде — например, в том же облаке Windows Azure!

Чтобы получить доступ к бета-версии Ubuntu в Windows надо стать участником программы предварительной оценки. В разделе дополнительных настроек Центра обновление Windows необходимо выбрать ранний доступ к сборкам Insider Preview и дождаться установки последней версии ОС. Ubuntu доступна в сборке 14316 или более поздних. После установки обновления и перезагрузки ПК среди компонентов Windows появится новый пункт — Windows Subsystem for Linux (Beta). По окончании установки в главном меню появится новый пункт Bash on Ubuntu on Windows для запуска командной оболочки bash. Аналогичную команду можно выполнить и в старом добром cmd или оболочке PowerShell. Вот и всё — теперь доступно окружение Ubuntu. Первым делом нелишним будет обновить список доступного ПО командой apt-get update, после чего можно доустановить необходимое по из репозиториев Ubuntu.

Собственно говоря, большая часть из тысяч и тысяч Linux-приложений в Windows 10 уже работает. Можно даже поставить сторонний X-сервер и попробовать запустить программы с графическим интерфейсом. Правда, не стоит забывать, что вся эта среда создавалась для разработчиков, а потому вряд ли им понадобятся GUI на сервер или, например, вывод звука. Зато создатели очень аккуратно подошли к реализации файловых систем – доступ к файлам двусторонний и абсолютно прозрачный для обоих окружений. VolFS предлагает в Windows поддержку специфических для Linux параметров ФС: систему прав доступа, символические ссылки, чувствительность к регистру в путях, а также символов в именах файлов и папок, которые в Windows не разрешены. DriveFS предлагает всё то же самое, но в обратную сторону, то есть добавляет в Linux поддержку специфичных для Windows особенностей работы с ФС.

Таким образом пользователь получает возможность использовать преимущества обеих систем сразу. Например, работать в любимой IDE под Windows и создавать Linux-приложения. И это большой шаг Microsoft в сторону открытых технологий. Более подробно ознакомиться с возможностями совместной работы Windows и Linux можно на сайте LinuxLoves. Кроме того, Microsoft сейчас предлагает бесплатную пробную версию облачных служб Azure для работы с Linux, а в магазине Azure уже есть около сотни готовых шаблонов на базе этой ОС.

На правах рекламы

Источник:

linux, Microsoft, open source, ubuntu, windows 10, ядро

Читайте также