Компания 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, региони на паметта и входно-изходни портове на средата.

В новото издание
- Добавена е поддръжка за платформите Marvell MACCHIATObin, Xilinx Ultra96,
Microsys miriac SBC-LS1046A и Texas Instruments AM654 IDK; - Добавена е статистика на ниво всяко ядро на CPU;
- Обезпечен е нулирането на PCI устройства при изключване на камерата;
- Структурата на Device Tree е адаптирана за последните версии на ядрото на Linux;
- За платформите ARM и ARM64 е добавена защита срещу атаки Spectre v2. В настройките на qemu-arm64 са отчетени промените от последните версии на QEMU. Решени са проблемите с записването на фърмуера PSCI на платките Orange Pi Zero;
- За платформата x86 при стартиране на демонстрационни среди (inmates) е активирано използването на инструкции SSE и AVX, както и добавен доклад за изключения.
В плановете за бъдещето се отбелязва дългоочакваната поддръжка на IOMMUv3, повишаване на ефективността на използване на кеша на процесора (), отстраняване на проблеми с APIC на процесорите AMD Ryzen, преработка на устройството ivshmem и напредък с драйверите в основния състав на ядрото.
Източник: opennet.ru
