Jailhouse, un hyperviseur de partitionnement statique qui mise sur les performances

Prison

Jailhouse est un hyperviseur de partitionnement basé sur Linux (Il a été développé en tant que projet logiciel gratuit GPLv2). Est capable d'exécuter des applications ou des systèmes d'exploitation complets (adapté) en plus de Linux. À cette fin, configure les caractéristiques de virtualisation du processeur et des périphériques de la plate-forme matériel de sorte qu'aucun de ces domaines, appelés «cellules», ne puisse interférer les uns avec les autres de manière inacceptable.

Ceci signifie que Jailhouse n'émule pas les ressources que vous n'avez pas. Simplement divise le matériel en compartiments isolés appelés «cellules» Ils sont entièrement dédiés aux logiciels invités appelés «détenus».

À propos de Jailhouse

Jailhouse est optimisé pour la simplicité plutôt que la richesse des fonctionnalités. Contrairement aux hyperviseurs Linux complets tels que KVM ou Xen, Jailhouse ne prend pas en charge le surengagement des ressources comme le processeur, la RAM ou les appareils. Il ne fait aucune programmation et virtualise uniquement ces ressources en logiciel, qui sont essentielles pour une plateforme et ne peuvent pas être partitionnées sur le matériel.

Une fois que Jailhouse est activé, il s'exécute complètement, ce qui signifie qu'il prend le contrôle total du matériel et ne nécessite aucun support externe.

L'hyperviseur est implémenté en tant que module pour le noyau Linux et fournit une virtualisation au niveau du noyau. Les composants invités sont déjà inclus dans le noyau Linux principal.

Des mécanismes de virtualisation matérielle sont utilisés pour contrôler l'isolation fournis par les processeurs modernes. Les caractéristiques de Jailhouse sont sa mise en œuvre légère et son orientation vers la liaison de machines virtuelles à un processeur fixe, une zone RAM et des périphériques matériels. Cette approche permet le fonctionnement de plusieurs environnements virtuels indépendants sur un serveur multiprocesseur physique, chacun étant affecté à son propre cœur de processeur.

Avec un lien étroit avec le processeur, la surcharge de l'opération de l'hyperviseur est minimisée et sa mise en œuvre est grandement simplifiée, car il n'est pas nécessaire d'exécuter un planificateur d'allocation de ressources complexe - l'allocation d'un cœur de processeur distinct garantit qu'il n'exécute pas d'autres tâches sur ce CPU.

L'avantage de cette approche est la capacité à fournir un accès garanti aux ressources et des performances prévisibles, faisant de Jailhouse une solution appropriée pour créer des tâches en temps réel. L'inconvénient est l'évolutivité limitée, qui est basée sur le nombre de cœurs de processeur.

À propos de la nouvelle version de Jailhouse 0.12

Actuellement, Jailhouse est dans sa version 0.12 et il met en évidence le Prise en charge du Raspberry Pi 4 modèle B et du Texas Instruments J721E-EVM.

En plus du périphérique ivshmem utilisé pour organiser l'interaction entre les cellules, a été repensé et qu'il peut également implémenter le transport pour VIRTIO.

La possibilité de désactiver la création de grandes pages mémoire (grande page) a été implémentée pour bloquer la vulnérabilité CVE-2018-12207 sur les processeurs Intel, permettant à un attaquant non privilégié d'initier un déni de service, conduisant au gel du système dans la "Vérification de la machine État d'erreur ".

Pour les systèmes dotés de processeurs ARM64, SMMUv3 est pris en charge (System Memory Management Unit) et TI PVU (Peripheral Virtualization Unit). Pour les environnements sandbox qui s'exécutent sur l'ordinateur, la prise en charge PCI a été ajoutée.

Sur les systèmes x86, il est possible d'activer le mode CR4. (Prévention des instructions en mode utilisateur) fournie par les processeurs Intel, qui permet d'interdire l'exécution de certaines instructions dans l'espace utilisateur, telles que SGDT, SLDT, SIDT, SMSW et STR, qui peuvent être utilisées dans des attaques visant à augmenter les privilèges sur le système .

Obtenez Jailhouse

Jailhouse prend en charge le fonctionnement sur les systèmes x86_64 avec les extensions VMX + EPT ou SVM + NPT (AMD-V), ainsi que sur les processeurs ARMv7 et ARMv8 / ARM64 avec des extensions de virtualisation.

Même si en outre, un générateur d'images est en cours de développement, basé sur des packages Debian pour les périphériques compatibles.

Vous pouvez trouver les instructions de compilation et d'installation, ainsi que d'autres informations dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.