Компания Siemens выпустила гипервизор Jailhouse 0.12
4 февраля 2020 года
Компания Siemens опубликовала релиз свободного гипервизора Jailhouse 0.12. Гипервизор поддерживает работу на системах x86_64 с расширениями VMX+EPT или SVM+NPT (AMD-V), а также на процессорах ARMv7 и ARMv8/ARM64 с расширениями для виртуализации. Отдельно развивается генератор образов для гипервизора Jailhouse, формируемых на основе пакетов Debian для поддерживаемых устройств. Код проекта распространяется под лицензией GPLv2.
Гипервизор реализован в виде модуля для ядра Linux и обеспечивает виртуализацию на уровне ядра. Компоненты для гостевых систем уже включены в состав основного ядра Linux. Для управления изоляцией используются предоставляемые современными CPU аппаратные механизмы виртуализации. Отличительными особенностями Jailhouse являются легковесная реализация и ориентация на привязку виртуальных машин к фиксированному CPU, области ОЗУ и аппаратным устройствам. Такой подход позволяет на одном физическом многопроцессорном сервере обеспечить работу нескольких независимых виртуальных окружений, каждое из которых закреплено за своим процессорным ядром.
При жесткой привязке к CPU накладные расходы от работы гипервизора сводятся к минимуму и существенно упрощается его реализация, так как нет необходимости выполнения сложного планировщика распределения ресурсов - выделение отдельного ядра CPU позволяет гарантировать отсутствие выполнения на данном CPU других задач. Плюсом подобного подхода является возможность обеспечить гарантированный доступ к ресурсам и предсказуемую производительность, что делает Jailhouse подходящим решением для создания задач, выполняемых в режиме реального времени. Минусом является ограниченная масштабируемость, упирающаяся в число ядер CPU.
В терминологии Jailhouse виртуальные окружения именуются "камерами" (cell, в контексте jailhouse). Внутри камеры система выглядит как однопроцессорный сервер, показывающий производительность близкую к производительности выделенного ядра CPU. В камере может быть запущено окружение произвольной операционной системы, а также урезанные окружения для запуска одного приложения или специально подготовленные отдельные приложения, предназначенные для решения задач реального времени. Конфигурация задаётся в .cell-файлах, определяющих выделяемые окружению CPU, регионы памяти и порты ввода/вывода.
В новом выпуске
- Добавлена поддержка платформ Raspberry Pi 4 Model B и Texas Instruments J721E-EVM;
- Переработано устройство ivshmem, применяемое для организации взаимодействия между ячейками. Поверх нового ivshmem можно реализовать транспорт для VIRTIO;
- Реализована возможность отключения создания больших страниц памяти (hugepage) для блокирования уязвимости CVE-2018-12207 в процессорах Intel, которая позволяет непривилегированному атакующему инициировать отказ в обслуживании, приводящий к зависанию системы в состоянии "Machine Check Error";
- Для систем с процессорами ARM64 реализована поддержка SMMUv3 (System Memory Management Unit) и TI PVU (Peripheral Virtualization Unit). Для изолированных окружений, запускаемых поверх оборудования (bare-metal), добавлена поддержка PCI;
- На системах x86 для корневых камер реализована возможность включения предоставляемого процессорами Intel режима CR4.UMIP (User-Mode Instruction Prevention), позволяющего запретить выполнение в пространстве пользователя некоторых инструкций, таких как SGDT, SLDT, SIDT, SMSW и STR, которые могут применяться в атаках, нацеленных на повышение привилегий в системе.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.