Опубликована вторая версия Служб интеграции Hyper-V для Linux
Сегодняшняя новость уже успела вызвать неслабый ажиотаж в некоторых кругах. Шутка ли — Microsoft заявила о том, что вносит свой вклад в ядро Linux на условиях General Public License (GPL) 2. Речь идёт, ни много ни мало, о примерно двадцати тысячах строках кода.
Открыты исходные тексты служб интеграции для Hyper-V, и драйверы для синтетических устройств внесены на рассмотрение разработчиков Linux для включения в следующие версии ядра. В разультате службы интеграции Hyper-V станут доступны как в будущих версиях популярных дистрибутивов Linux, так и вообще в любых системах — при сборке ядра с соответствующими условиями.
Что было раньше?
Для того, чтобы правильно понять то, о чём было объявлено сегодня, потребуется разобраться и в том, что же было до того. И начать придётся с понимания того факта, что это уже вторая версия Служб интеграции Hyper-V для Linux.
Первая версия Служб интеграции Hyper-V для Linux | Вторая версия Служб интеграции Hyper-V для Linux |
---|---|
Разработана компанией Citrix | Разработана Технологическим центром открытых исходных текстов Micorsoft (Microsoft Open Source Technology Center, OSTC) |
Поддерживает только первую версию Hyper-V (роль виртуализации в Windows Server 2008 и Hyper-V Server 2008); | Поддерживает обе версии Hyper-V.
первую версию Hyper-V:
|
Требует использования расширений Xen для ядра Linux, так как работает через адаптер гипервызовов (Hypercall Adapter). | Не требует использования расширенй Xen для ядра Linux. Это — одна из причин заявленного увеличения производительности второй версии. |
Доступна для использования в производственной среде. | Опубликована предварительная версия (см. ниже). |
Что стало теперь?
Сегодня Microsoft опубликовала дистрибутив второго Кандидата для выпуска (Release Candidate 2, RC2) второй версии Служб интеграции Hyper-V для Linux. Кроме того, корпорация предложила его исходный текст для включения в ядро Linux. Фактически речь идёт об одном и том же коде, представленном в двух вариантах для двух разных аудиторий и целей.
Готовый дистрибутив | Исходный текст |
---|---|
Предназначен для администраторов | Предназначен для разработчиков |
Опубликован для загрузки на сайте Microsoft Connect | Предложен для включения в ядро Linux и расположен в дереве исходных текстов по адресу «/drivers/staging/hv». |
Предназначен для использования только с дистрибутивами, которые поддерживаются Microsoft по условиям соглашений, заключённых ранее с Novell и Red Hat.
|
Предназначен для свободного использования в любых дистрибутивах Linux, но не предполагает никакой поддержки со стороны Microsoft. Все обязательства по поддержке ложатся на поставщика дистрибутива, включающего Службы интеграции в свой продукт. |
Со временем будет вытеснен кодом Служб интеграции, который будет добавлен в ядро соответствующих дистрибутивов. | Со временем будет добавлен в большинство популярных дистрибутивов. |
Но зачем?
Вы можете поинтересоваться — какая в этом выгода для Microsoft. Ведь Linux всегда был конкурентом Windows — так зачем же за свой счёт облегчать жизнь как разработчикам, так и пользователям конкурирующего продукта?
Дело в том, что эпоха ожесточённой конкуренции на рынке ОС уже фактически в прошлом. Ниши чётко поделены, и по собственной статистике Microsoft в около 80% виртуальных машин запущены различные версии Windows. Для того, чтобы изменить баланс сил, потребовалось бы приложить огромные усилия. Они в любом случае не окупятся за счёт тех долей процента, которые можно было бы выиграть тем или иным образом.
Зато виртуализация — это сравнительно молодая и очень быстро растущая отрасль. И вот здесь конкуренция даёт о себе знать очень остро. Поэтому представить условия для установки любых продуктов поверх своего решения — это очень хороший ход.
Теперь получается, что в недалёком будущем практически любая версия Linux прямо «из коробки» будет отлично работать в виртуальных машинах Microsoft. Во-первых, это даст сильное преимущество перед конкурирующими решениями для виртуализации, если их разработчики не смогут быстро предоставить такое же удобство своим пользователям. А во-вторых, это страхует Microsoft против возможных упрёков во включении служб интеграции в состав своих собственных ОС, что тоже немаловажно.
Но как?
Некоторые технические и организационные подробности для тех, кому близка тема свободных ОС. Текущая версия Служб интеграции Hyper-V для Linux включает три драйвера.
- VMBus (высокопроизводительная шина данных для обмена информацией между ВМ и родительской системой);
- синтетический сетевой контроллер;
- синтетический контроллер дисков с поддержкой быстрой загрузки (FastPath).
Вообще говоря, Linux может работать в виртуальных машинах Hyper-V и без этих драйверов, что уже было неоднократно подтверждено различными энтузиастами. Разница только в производительности — ведь без драйверов синтетических устройств вы сможете использовать только их эмулируемые аналоги. В частности, придётся в явном виде добавить в ВМ эмулируемую сетевую карту, а подсистема работы с дисками хоть и не потребует каких-то изменений в конфигурации ВМ, но просто будет вынуждена работать через обычные драйверы.
Код, предложенный Microsoft, будет добавлен в ядро Linux версии 2.6.32 через Linux Driver Project. Как следует из названия, это команда разработчиков, которые занимаются добавлением и поддержкой драйверов в ядре Linux. Если быть ещё более точным, то со стороны сообщества Linux с программистами Micorosft тесно сотрудничал Грег Кроа-Хартман (Greg Kroah-Hartman).
Более того, Microsoft берёт на себя обязательства и в дальнейшем поддерживать и улучшать код служб интеграции. Для чего специально выделены два сотрудника из лаборатории Microsoft, расположенной в Кэмбридже, штат Массачусетс. Хэнк Джансен (Hank Janssen) и Хайанг Янг (Haiyang Zhang) официально назначены специалистами по поддержке (maintainer) проекта служб интеграции Hyper-V для Linux. В планах по дальнейшему развитию значится добавление таких функций, как:
- симметричная многопроцессорность (SMP). Сегодня в Hyper-V поддерживаются только ВМ с Linux, использующие один вирутальный процессор;
- дополнительные службы, а именно:
- завершение работы гостевой ОС по сигналу из родительской системы (Shutdown);
- обмен парами ключей и значений (KVP Exchange).
По мере завершения работы над этими функциями их код будет так же направляться для включения в ядро Linux.
Важно понимать, что ещё одно популярное дополнение, которое является частью Служб интеграции для Windows, не входит в комплект Служб интеграции для Linux. Речь идёт о драйвере для мыши, также известном как InputVSC. Он позволяет переносить указатель мыши между окнами виртуальной машины и рабочим столом родительской системы без необходимости предварительно извлекать его с помощью клавиатурной комбинации. Также он решает распространённую проблему, которая заключается в том, что мышь вообще не работает в окне подключения к виртуальной машине (VMConnect), открытом через сеанс «Удалённого рабочего стола» (Remote Desktop). Этот драйвер разработан отдельно компанией Citrix в рамках «Project Satori». Вы можете загрузить его на сайте Служб интеграции Citrix для Hyper-V.
Дополнительная информация
- Официальный пресс-релиз: Microsoft Contributes Linux Drivers to Linux Community;
- видеозапись интервью с Томасом Ханраханом (Tom Hanrahan), директором Технологического центра открытых исходных текстов Micorsoft на сайте Девятого канала: Microsoft Contributes Code to the Linux Kernel;
- Microsoft Releases Device Driver Code to the Linux Community;
- More on the Hyper-V Linux Integration Components.
Comments
Anonymous
January 01, 2003
Дело в том, что проверка английской орфографии помечает любые русские слова как неизвестные. В результате толку от неё никакого, и я её отключаю совсем. Таким образом иногда проскакивают ошибки в любых словах — как русских, так и английских.Anonymous
January 01, 2003
The comment has been removedAnonymous
January 01, 2003
Статью писал я. Спеллчекер в WLW есть. Но в английской версии он не проверяет русский язык, а пользоваться русифицированным ПО мне не позволяет религия. Ошибки допустил не нарочно, хотя соглашусь, что статистика забавная. Просто «Linux» — не самое часто употребляемое слово в моём лексиконе, поэтому рука не набита. Но за замечания спасибо. Впредь постараюсь быть внимательнее. Насколько это вообще возможно при написании заметок в четыре часа утра.Anonymous
January 01, 2003
Антон, вы к кому обращаетесь конкретно, и чего именно вас задело? Где вы нашли что0то про издевательства?Anonymous
January 01, 2003
Увы, ОО не умеет писать на блоги. А в Writer нет спелчекера.. Поправил )Anonymous
January 01, 2003
Если кому-то интересно, Линус Торвальдс дал интервью по этому поводу:Anonymous
July 22, 2009
Да уж, шума действительно много... Только почему-то немногие решили хоть чуть-чуть разобраться в сути данного события... Вот один из примеров: http://habrahabr.ru/blogs/linux/64986/Anonymous
July 22, 2009
Петр, растолкуйте в чем та самая суть? :) Из вашей ссылки я ничего не понял. http://lkml.org/lkml/2009/7/20/167 Тут больше по делу.Anonymous
July 22, 2009
The comment has been removedAnonymous
July 22, 2009
В тексте 3 опечатки, поправте Lunux->Linux. Буковки рядом =)Anonymous
July 22, 2009
К афтору статьи. если с орфографией проблемы, установите ООо 3 проверьте в нем. ведь не на заборе статью пишите, а как бы сообществу пытаетсь рассказать какие в Microsoft'e хорошие люди и тут же осокорбляете его.Anonymous
July 22, 2009
Ну проверить текст на орфографию можно и в нем) и спелчекер имеет ФФ или религия не позволяет? :) ЗЫ: Спасибо.Anonymous
July 22, 2009
Антон, у меня нету ООо, но спелчекеры не подчеривают Lunix, ибо такое слово есть. http://en.wikipedia.org/wiki/LUnix :)Anonymous
July 22, 2009
2 Dmitry увы, но слово было Lunux, а не Lunix. 2 Artem Linux ни разу не русское слово, и да спасибо за улучшение качества метериала, из-за этого плохо ни кому не будет.