La empresa Siemens lanzamiento del hipervisor libre . El hipervisor es compatible con sistemas x86_64 con extensiones VMX+EPT o SVM+NPT (AMD-V), así como con procesadores ARMv7 y ARMv8/ARM64 con extensiones para virtualización. Además un generador de imágenes para el hipervisor Jailhouse, formado en base a paquetes de Debian para dispositivos compatibles. El código del proyecto bajo la licencia GPLv2.
El hipervisor está implementado como un módulo para el núcleo de Linux y proporciona virtualización a nivel de núcleo. Los componentes para sistemas invitados ya están incluidos en el núcleo principal de Linux. Para gestionar el aislamiento se utilizan los mecanismos de virtualización proporcionados por los CPU modernos. Las características distintivas de Jailhouse son su implementación ligera y su enfoque en la vinculación de máquinas virtuales a un CPU fijo, áreas de RAM y dispositivos de hardware. Este enfoque permite que en un servidor multiprocesador físico funcionen múltiples entornos virtuales independientes, cada uno de los cuales está vinculado a su propio núcleo de procesador.
Con una fuerte vinculación al CPU, los gastos generales del funcionamiento del hipervisor se reducen al mínimo y su implementación se simplifica significativamente, ya que no es necesario realizar un planificador complejo de distribución de recursos; dedicar un núcleo de CPU garantiza que no se ejecuten otras tareas en ese CPU. Una ventaja de este enfoque es la posibilidad de garantizar acceso a los recursos y un rendimiento predecible, lo que hace de Jailhouse una solución adecuada para tareas que se ejecutan en tiempo real. Una desventaja es la limitada escalabilidad, que se encuentra restringida por el número de núcleos de CPU.
En la terminología de Jailhouse, los entornos virtuales se denominan "celdas" (cell, en el contexto de jailhouse). Dentro de una celda, el sistema se presenta como un servidor uniprocesador, mostrando un rendimiento al rendimiento de un núcleo de CPU dedicado. En la celda puede ejecutarse un entorno de cualquier sistema operativo, así como entornos reducidos para ejecutar una sola aplicación o aplicaciones específicamente preparadas para resolver tareas en tiempo real. La configuración se establece en , que definen el entorno de CPU seleccionado, regiones de memoria y puertos de entrada/salida.

En esta nueva versión
- Se agregó soporte para las plataformas Marvell MACCHIATObin, Xilinx Ultra96,
Microsys miriac SBC-LS1046A y Texas Instruments AM654 IDK; - Se agregó estadísticas desglosadas por cada núcleo de CPU;
- Se aseguró el restablecimiento de dispositivos PCI al finalizar el trabajo de la cámara;
- La estructura del Device Tree se ha adaptado a las últimas versiones del núcleo de Linux;
- Para las plataformas ARM y ARM64 se añadió protección contra ataques Spectre v2. Se han tenido en cuenta los cambios en las últimas versiones de QEMU en la configuración de qemu-arm64. Se solucionaron problemas con la reescritura del firmware PSCI en las placas Orange Pi Zero;
- Para la plataforma x86, al iniciar entornos de demostración (inmates), se habilitó el uso de instrucciones SSE y AVX, así como un informe sobre excepciones añadido.
Entre los planes futuros se destaca el soporte tan esperado para IOMMUv3, la mejora en la eficiencia del uso de la caché del procesador (), la resolución de problemas con el APIC en los procesadores AMD Ryzen, la reestructuración del dispositivo ivshmem y la incorporación de controladores al núcleo.
Fuente: opennet.ru
