Jailhouse - это гипервизор разметки на базе Linux. (Он был разработан как бесплатный программный проект GPLv2). Является способен запускать полные приложения или операционные системы (адаптировано) в дополнение к Linux. Для этого configure характеристики виртуализации ЦП и устройств платформы оборудования, так что ни один из этих доменов, называемых «ячейками», не может мешать друг другу недопустимым образом.
Это означает, что Jailhouse не эмулирует ресурсы, которых у вас нет. просто разделяет оборудование на изолированные отсеки, называемые «ячейками» Они полностью посвящены гостевому программному обеспечению под названием «сокамерники».
О тюрьме
Jailhouse оптимизирован для простоты а не богатство возможностей. В отличие от полнофункциональных гипервизоров на базе Linux, таких как KVM или Xen, Jailhouse не поддерживает чрезмерное использование ресурсов например, ЦП, ОЗУ или устройства. Он не занимается программированием и виртуализирует только те ресурсы в программном обеспечении, которые необходимы для платформы и не могут быть разделены на аппаратном уровне.
После активации Jailhouse запускается полностью, а это означает, что он получает полный контроль над оборудованием и не требует внешней поддержки.
Гипервизор реализован в виде модуля для ядра Linux. и обеспечивает виртуализацию на уровне ядра. Гостевые компоненты уже включены в основное ядро Linux.
Механизмы аппаратной виртуализации используются для управления изоляцией обеспечивается современными процессорами. Отличительной чертой Jailhouse является его легкая реализация. и его ориентация на связывание виртуальных машин с фиксированным ЦП, областью ОЗУ и аппаратными устройствами. Такой подход позволяет работать нескольким независимым виртуальным средам на физическом многопроцессорном сервере, каждой из которых назначается собственное процессорное ядро.
Благодаря тесной связи с ЦП накладные расходы на работу гипервизора сводятся к минимуму, а его реализация значительно упрощается, поскольку нет необходимости выполнять сложный планировщик распределения ресурсов - выделение отдельного ядра ЦП гарантирует, что он не выполняет другие задачи на этот процессор.
Преимущество такого подхода - возможность обеспечить гарантированный доступ к ресурсам и предсказуемую производительность, что делает Jailhouse подходящим решением для создания задач в реальном времени. Обратной стороной является ограниченная масштабируемость, которая зависит от количества ядер ЦП.
О новой версии Jailhouse 0.12
В настоящее время Jailhouse находится в версии 0.12 и выделяет Поддержка Raspberry Pi 4 Model B и Texas Instruments J721E-EVM.
В дополнение к устройству ivshmem используется для организации взаимодействия между клетками, был переработан, и что он также может реализовывать транспорт для VIRTIO.
Возможность отключить создание больших страниц памяти (огромных страниц) была реализована для блокировки уязвимости CVE-2018-12207 на процессорах Intel, что позволяет непривилегированному злоумышленнику инициировать отказ в обслуживании, что приводит к зависанию системы в «Проверка машины» Состояние ошибки.
Для систем с процессорами ARM64 поддерживается SMMUv3. (Блок управления системной памятью) и TI PVU (блок периферийной виртуализации). Для сред «песочницы», которые работают поверх компьютера, добавлена поддержка PCI.
В системах x86 можно включить режим CR4. (Предотвращение инструкций пользовательского режима), предоставляемых процессорами Intel, что позволяет запретить выполнение определенных инструкций в пользовательском пространстве, таких как SGDT, SLDT, SIDT, SMSW и STR, которые могут быть использованы в атаках, направленных на повышение привилегий в системе .
Получить тюрьму
Jailhouse поддерживает работу в системах x86_64 с расширениями VMX + EPT или SVM + NPT (AMD-V), а также на процессорах ARMv7 и ARMv8 / ARM64 с расширениями виртуализации.
Хотя кроме того, разрабатывается генератор изображений на основе пакетов Debian для совместимых устройств.
Вы можете найти инструкции по компиляции и установке, а также другую информацию По следующей ссылке.