Компания Siemens ревизия на свободния хипервизор . Хипервизорът поддържа работа на системи x86_64 с разширения VMX+EPT или SVM+NPT (AMD-V), а също и на процесори ARMv7 и ARMv8/ARM64 с разширения за виртуализация. Отделно генератор на образи за хипервизора Jailhouse, формирани на основата на пакети Debian за поддържани устройства. Кодът на проекта под лицензия GPLv2.
Хипервизорът е реализиран като модул за ядрото на Linux и осигурява виртуализация на ниво ядро. Компонентите за гостуващи системи вече са включени в основното ядро на Linux. За управление на изолацията се използват предоставените от съвременните CPU апаратни механизми за виртуализация. Отличителните характеристики на Jailhouse са леката реализация и ориентацията към привързването на виртуални машини към фиксиран CPU, области на RAM и хардуерни устройства. Този подход позволява на един физически многоядрен сървър да осигури работа на няколко независими виртуални среди, всяка от които е закрепена за своето ядро на процесора.
При строгата привързаност към CPU разходите за работа с хипервизора се свеждат до минимум и неговата реализация се улеснява, тъй като няма нужда от сложен разпределителен планировчик на ресурси — назначаването на отделно ядро на CPU позволява гарантиране на отсъствието на изпълнение на други задачи на този CPU. Плюсът на подобен подход е възможността да се осигури гарантиран достъп до ресурсите и предсказуема производителност, което прави Jailhouse подходящо решение за създаване на задачи, изпълнявани в реално време. Минусът е ограничената скалируемост, която се изразява в броя на ядрата на CPU.
В терминологията на Jailhouse виртуалните среди се наричат "камери" (cell, в контекста на jailhouse). Вътре в камерата системата изглежда като еднопроцесорен сървър, показващ производителност до производителността на отделно ядро на CPU. В камерата може да бъде стартирано окружение на произволна операционна система, а също и ограничени среди за стартиране на едно приложение или специално подготвени отделни приложения, предназначени за решаване на задачи в реално време. Конфигурацията се задава в , определящи CPU, региони на паметта и входно-изходни портове на средата.

В новото издание
- Добавена поддръжка на платформи Raspberry Pi 4 Model B и Texas Instruments J721E-EVM;
- устройство ivshmem, използвано за организиране на взаимодействие между клетките. Върху новото ivshmem може да бъде реализиран транспорт за VIRTIO;
- Реализирана е възможност за деактивиране на създаването на големи страници памет (hugepage) с цел блокиране на уязвимостта в процесорите 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, които могат да бъдат използвани в атаки насочени към повишаване на привилегиите в системата.
Източник: opennet.ru
