Siemens a publié l'hyperviseur Jailhouse 0.11

société Siemens опубликовала version gratuite de l'hyperviseur Prison 0.11. L'hyperviseur prend en charge les systèmes x86_64 avec les extensions VMX+EPT ou SVM+NPT (AMD-V), ainsi que les processeurs ARMv7 et ARMv8/ARM64 avec les extensions de virtualisation. Séparément développe générateur d'images pour l'hyperviseur Jailhouse, généré sur la base des packages Debian pour les appareils pris en charge. Code de projet distribué par sous licence GPLv2.

L'hyperviseur est implémenté en tant que module pour le noyau Linux et assure la virtualisation au niveau du noyau. Les composants pour les systèmes invités sont déjà inclus dans le noyau Linux principal. Pour gérer l'isolation, les mécanismes de virtualisation matérielle fournis par les processeurs modernes sont utilisés. Les caractéristiques distinctives de Jailhouse sont sa mise en œuvre légère et sa concentration sur la liaison des machines virtuelles à un processeur, une zone RAM et des périphériques matériels fixes. Cette approche permet à un serveur multiprocesseur physique de prendre en charge le fonctionnement de plusieurs environnements virtuels indépendants, chacun étant attribué à son propre cœur de processeur.

Grâce à un lien étroit avec le processeur, la surcharge de l'hyperviseur est minimisée et sa mise en œuvre est considérablement 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'aucune autre tâche n'est exécutée sur ce processeur. . L'avantage de cette approche est la capacité de fournir un accès garanti aux ressources et des performances prévisibles, ce qui fait de Jailhouse une solution adaptée pour créer des tâches exécutées en temps réel. L'inconvénient est une évolutivité limitée, limitée par le nombre de cœurs de processeur.

Dans la terminologie Jailhouse, les environnements virtuels sont appelés « caméras » (cellule, dans le contexte de la prison). À l'intérieur de la caméra, le système ressemble à un serveur monoprocesseur affichant les performances fermer aux performances d'un cœur de processeur dédié. La caméra peut exécuter l'environnement d'un système d'exploitation arbitraire, ainsi que des environnements allégés pour exécuter une application ou des applications individuelles spécialement préparées conçues pour résoudre des problèmes en temps réel. La configuration est définie dans fichiers .cell, qui déterminent le processeur, les régions de mémoire et les ports d'E/S alloués à l'environnement.

Siemens a publié l'hyperviseur Jailhouse 0.11

Dans la nouvelle version

  • Ajout de la prise en charge de Marvell MACCHIATObin, Xilinx Ultra96,
    Microsys Mirac SBC-LS1046A et Texas Instruments AM654 IDK ;

  • Ajout de statistiques pour chaque cœur de processeur ;
  • Permet de réinitialiser les périphériques PCI lorsque la caméra est éteinte ;
  • La structure de l'arborescence des périphériques a été adaptée aux dernières versions du noyau Linux ;
  • Ajout d'une protection contre les attaques Spectre v64 pour les plateformes ARM et ARM2. Les paramètres qemu-arm64 prennent en compte les modifications apportées aux dernières versions de QEMU. Les problèmes de réécriture du firmware PSCI sur les cartes Orange Pi Zero ont été résolus ;
  • Pour la plateforme x86, lors de l'exécution d'environnements de démonstration (détenus), l'utilisation des instructions SSE et AVX est activée et un rapport d'exception est ajouté.

Les plans pour l'avenir incluent la prise en charge tant attendue d'IOMMUv3, augmentant l'efficacité de l'utilisation du cache du processeur (coloration du cache), éliminant les problèmes avec l'APIC sur les processeurs AMD Ryzen, retravaillant le périphérique ivshmem et promouvant les pilotes vers le noyau principal.

Source: opennet.ru

Ajouter un commentaire