Comment activer la virtualisation matérielle. VT-x et VT-d : qu'est-ce que c'est dans le BIOS et pourquoi est-il nécessaire

La virtualisation matérielle offre les performances d'une machine virtuelle quasiment identiques à celles d'une machine non virtualisée, cette technologie est nécessaire pour pouvoir travailler avec des machines virtuelles sur votre ordinateur. Par défaut, la virtualisation peut être désactivée sur certains. Dans cet article, je vais vous expliquer comment savoir si votre processeur prend en charge la technologie Intel VT-X (processeurs Intel) ou la technologie AMD-V (processeurs AMD). Dans cet article, vous apprendrez également comment activer les technologies Intel VT-X et AMD-V.

Intel VT-x Il s'agit de la virtualisation matérielle d'Intel. Pour savoir si votre processeur supporte la technologie Intel VT-X téléchargez le programme CPU-Z . . Après le lancement, dans la fenêtre du programme, nous examinons les technologies prises en charge par votre processeur :

S'il y a VT-X dans la colonne « Instruction », alors votre processeur prend en charge la virtualisation.

AMD-V

AMD-V est une technologie de virtualisation matérielle d'AMD. Pour vérifier si votre processeur prend en charge cette technologie, nous avons également besoin du programme CPU-Z, exécutez-le et regardez l'élément « instruction ». S'il y a AMD-V, alors votre processeur prend en charge la virtualisation :

Activation de VT-X/AMD-V dans le Bios

Démarrez dans le Bios. Dans le Bios, l'image peut être différente pour chacun, il faut trouver une mention de virtualisation (technologie de virtualisation Intel ou virtualisation) et activer cette fonction. Dans mon cas, c'était comme ça :


Enregistrez les paramètres du Bios et redémarrez. Ça y est, la virtualisation est activée et activée !

Activation de VT-X/AMD-V dans UEFI

Dans le cas de l'UEFI, j'ai dû aller dans l'onglet Avancé > Configuration du CPU et y activer la virtualisation :

Après avoir activé VT-X et AMD-V, vous avez la possibilité de créer des machines virtuelles sur votre ordinateur

Nous permettons la virtualisation matérielle des processeurs centraux, les technologies AMD - AMD-V et Intel - VT-X. Découvrez comment vérifier si la virtualisation est prise en charge par le processeur et comment activer la virtualisation dans le BIOS. La technologie est vérifiée et activée simplement...

La virtualisation est - la virtualisation désigne une architecture de processeur ayant la capacité de simuler du matériel (systèmes invités virtuels) à l'aide de méthodes logicielles. La technologie de virtualisation permet d'exécuter plusieurs systèmes d'exploitation (OS virtuels) sur un ordinateur physique réel, avec des processus informatiques isolés et séparés, avec des ressources logiques dédiées, dont certaines incluent la puissance du processeur, la RAM et un sous-système de fichiers provenant d'un pool commun.

En termes simples, la virtualisation permet à l'utilisateur d'exécuter diverses machines virtuelles avec différents types de systèmes d'exploitation (Windows, Android, Linux, MacOS X) ou les mêmes avec n'importe quel ensemble de programmes sur un seul ordinateur personnel physique. Le plus demandé actuellement par les joueurs, il permet de lancer et d'accélérer .

Comment vérifier si la virtualisation est prise en charge et activée.

Pour ceux qui ont peur d'entrer dans le BIOS, vous pouvez vérifier si le processeur prend en charge ou non la technologie de virtualisation et si elle est activée dans le BIOS, vous pouvez utiliser le programme SecurAble. L'utilitaire est gratuit, ne nécessite pas d'installation - la version portable, littéralement en deux clics - lancée, découverte du résultat, fermée. Vous pouvez télécharger le programme en allant sur Site officiel de SecurAble ou téléchargez via un lien direct depuis - office. site.


Paramètres sécurisables :
1. Valeur du paramètre Longueur maximale en bits indique la profondeur de bits maximale disponible du système, 32 bits ou 64 bits.

2. Valeurs Matériel D.E.P.- une technologie responsable de la sécurité, introduite pour contrer le lancement de codes malveillants.

3.Options Virtualisation matérielle- le paramètre peut produire quatre valeurs :
Oui- la technologie de virtualisation est prise en charge par le processeur - activé ;
Non- la virtualisation n'est pas supportée par le processeur ;
Verrouillé sur- activé et pris en charge, mais ne peut pas être désactivé dans le BIOS ;
Verrouillé- la technologie est prise en charge, mais elle est désactivée et ne peut pas être activée dans le BIOS.

Le message Locked Off n'est pas toujours une condamnation à mort - le flashage du BIOS peut corriger la situation.

Comment activer la virtualisation dans le BIOS.

La technologie de virtualisation est chargée d'activer la virtualisation matérielle dans le BIOS. Pour désactiver l'option ou activer la virtualisation dans le BIOS, nous envoyons le PC redémarrer. Lorsque les premiers signes de chargement apparaissent, cliquez sur la touche du clavier « F2 » ou « Supprimer » (différentes versions du BIOS), recherchez un indice en bas de l'écran au début.

Accédez à la section « BIOS avancé - Fonctionnalités », recherchez l'option « Virtualisation » ou « Avancé » → « Configuration CPU », option « Technologie de virtualisation Intel ».


On se déplace à l'aide des flèches du clavier (dans le BIOS UEFI avec la souris), on appuie sur « Entrée », on change le paramètre « Virtualisation » de « Désactivé » à « Activé » (activé). La virtualisation a été activée dans le BIOS, il ne vous reste plus qu'à ne pas manquer un clic important - n'oubliez pas d'appuyer sur le bouton "F10", qui correspond à la valeur - enregistrez les paramètres (Save).

Et surtout, rappelez-vous : la technologie de virtualisation crée uniquement un environnement pour les émulateurs et les systèmes d'exploitation Android et n'affecte en rien les performances réelles du matériel (elle ne rend pas l'ordinateur puissant). Travaillez dur d'abord , en choisissant judicieusement les composants et en exigeant ensuite quelque chose.

On sait aujourd'hui que la prise en charge de la virtualisation matérielle Intel VT-x/VT-d et AMD-V nécessaires au fonctionnement des machines virtuelles, telles que Boîte Virtuelle Et Poste de travail VMware , ainsi que pour le fonctionnement de programmes dits d'émulation pour les systèmes d'exploitation mobiles, par exemple pour Android OS.

Aujourd'hui, presque tout ordinateurs modernes ont un support pour cette technologie, mais bien sûr, il y a ceux qui ne la prennent pas en charge. Et afin de savoir si notre processeur supporte cette technologie, nous allons d'abord aller voir BIOS notre ordinateur et voir si le paramètre qui nous intéresse est là. J'ai ajouté à l'article plusieurs exemples de ce à quoi ressemble l'élément d'activation de la virtualisation dans différentes versions du BIOS. Fondamentalement, l'activation de cette option se trouve dans l'onglet avancé De plus, comme le montre l'image ci-dessous, sous le nom se trouvent des preuves cachées que cet ordinateur prend en charge cette technologie.

Dans cette version BIOS allez dans l'onglet BIOS avancé caractéristiques où l'on voit aussi dans le paragraphe virtualisation prise en charge de cette technologie.


Et ici au point fonctionnalités du BIOS avancées On voit que la virtualisation matérielle est prise en charge par le processeur.


Eh bien, la dernière option, où dans l'onglet avancé en point mode machine virtuelle sécurisé, nous pouvons également activer cette technologie.

Mais il existe également des cas où le BIOS de notre ordinateur ne dispose pas d'une option permettant d'activer la virtualisation matérielle. mode machine virtuelle sécurisé ou technologie de virtualisation Intel, bien qu'ils disent que le processeur de votre ordinateur prend en charge cette technologie. Pour s'en assurer, un petit utilitaire appelé Sécurisable ce qui montrera avec précision si notre processeur prend en charge la virtualisation matérielle. Nous allons sur le site officiel du fabricant en utilisant le lien https://www.grc.com/securable.htm, où nous cliquons sur l'élément ci-dessous Télécharger maintenant. Le téléchargement va commencer, puis on lance le programme, il n'est pas nécessaire de l'installer, puisque ce version portable.


Après le lancement, le programme affichera immédiatement des informations indiquant si votre processeur prend en charge ou non la technologie de virtualisation. Vous pouvez le voir dans le troisième bloc. Comme vous l'avez peut-être deviné, s'il y a une inscription Oui cela signifie qu'il y a du soutien.


Si c'est écrit Verrouillé, cela signifie que cette technologie est prise en charge, mais elle doit être activée. Et il s'allume, comme nous le savons déjà, dans BIOS-e de notre ordinateur.


Eh bien, si le bloc porte l'inscription NON, Cela signifie que la technologie de virtualisation matérielle n'est pas prise en charge par votre processeur.


À PROPOS Donnez votre avis sur cet article, et bien sûr, posez vos questions si quelque chose ne va pas pour vous.

Merci pour votre attention!

En général, l'autre jour, j'ai rencontré un problème tel que l'impossibilité d'exécuter des systèmes d'exploitation invités sur une machine virtuelle. Plus précisément, je ne pouvais pas exécuter de systèmes 64 bits, bien que mon processeur prenne entièrement en charge ces systèmes. De plus, il y a eu un problème au démarrage Distribution Linuxà partir d'un lecteur flash, le même problème est apparu.

Après avoir cherché sur Internet une nuit, j'ai découvert un certain paramètre appelé Virtualization Technology, qui active la technologie de virtualisation. Il est activé dans le BIOS. Ainsi, si vous l'activez, vous pouvez facilement utiliser des systèmes invités sur des machines virtuelles telles que, par exemple, d'autres. Surtout, cette fonction n'affecte pas le fonctionnement du système ; par défaut, il est désactivé (Disabled).

Dans différents systèmes BIOS, il peut porter des noms différents, par exemple Virtualisation, Vanderpool Technology, VT Technology.

Ainsi, nous avons réalisé que la virtualisation matérielle offre un support avec des fonctionnalités spéciales. Architecture du processeur. Il existe deux technologies de virtualisation : AMD-V et Intel-VT.

AMD-V– cette technologie porte également l’abréviation SVM (Secure Virtual Machines). Technologie d'entrée/sortie IOMMU. Il s'avère qu'il est encore plus efficace qu'Intel-VT.

Intel-VT (technologie de virtualisation Intel)– cette technologie met en œuvre la virtualisation de l'adressage réel. Peut être abrégé VMX (Virtual Machine eXtension).

Je ne décrirai pas en détail ce que signifient ces technologies, car de nombreuses informations ont été écrites à ce sujet sur Internet.

Comment activer la technologie de virtualisation ?

Eh bien, en fait, tout est très simple ici. Vous avez d'abord besoin, puis trouvez l'article Technologie virtuelle, on peut l'appeler un peu différemment, comme je l'ai écrit ci-dessus, par exemple.

Dans différents types de BIOS, l'élément peut être situé à différents endroits, par exemple, dans le BIOS des cartes mères AWARD et Gigabyte, vous le verrez dès que vous entrerez dans le BIOS, pour l'activer, il vous suffit de déplacer le paramètre au poste "Activé".


Dans le BIOS d'American Megatrends Inc, cette technologie est activée par défaut et se trouve dans le "Avancé". Là, vous pouvez l'activer ou le désactiver.


Dans le BIOS de certains ordinateurs portables HP (Hewlett-Packard Company) et dans l'utilitaire de configuration BIOS InsydeH20, la fonction de virtualisation est désactivée. Pour l'activer, vous devez vous rendre dans l'onglet "Configuration du système".


http://site/wp-content/uploads/2016/06/virtualization-technology.jpghttp://site/wp-content/uploads/2016/06/virtualization-technology-150x150.jpg 2017-04-21T11:45:19+00:00 EvilSin225 Windows AMD-V, technologie de virtualisation Intel, qu'est-ce que c'est, Intel-VT, technologie de virtualisation, technologie de virtualisation dans le BIOS, qu'est-ce que c'estEn général, l'autre jour, j'ai rencontré un problème tel que l'impossibilité d'exécuter des systèmes d'exploitation invités sur une machine virtuelle. Plus précisément, je ne pouvais pas exécuter de systèmes 64 bits, bien que mon processeur prenne entièrement en charge ces systèmes. De plus, il y a eu un problème avec le lancement de la distribution Linux à partir d'une clé USB, la même chose est apparue...EvilSin225 Andreï Terekhov Administrateur Technologies informatiques

Bonjour, Alexey ici! Le mot « virtuel » est aujourd’hui sur toutes les lèvres. J’associe toujours la « virtualité » au film « The Lawn Mower », sorti dans les années 90. Beaucoup de temps s’est écoulé depuis. Nous n'avons pas encore de réalité virtuelle, Dieu merci. Nous vivons et pensons toujours dans le monde réel. Mais des ordinateurs virtuels peuvent facilement être créés par n’importe qui à la maison. Cela peut être fait en utilisant la technologie de virtualisation sur le processeur de votre ordinateur (ou ordinateur portable).

Dans le matériel d'aujourd'hui, je vais donner un bref aperçu de son fonctionnement et vous expliquer pourquoi un ordinateur virtuel est nécessaire. L’exemple le plus simple est que vous disposez d’un ordinateur de bureau moderne à la maison. Le système d'exploitation Windows 7 est installé.

Vous avez décidé d'apprendre Windows 10 ou un autre système d'exploitation, comme Linux Mint. Auparavant, seules deux options étaient disponibles. Ou installez-en un nouveau à la place de l'ancien, puis transférez-y les données. Vous pouvez installer les deux systèmes sur un ordinateur et les exécuter un par un. Mais ce n'est pas pratique.

Afin de pouvoir exécuter plusieurs systèmes d'exploitation simultanément sur un seul ordinateur, la technologie de virtualisation a été mise en œuvre. Ce problème ne s'avère pas nouveau : dans les années 80 du XXe siècle, ils ont tenté de le résoudre en Occident. À la maison, par exemple, vous pouvez facilement apprendre à installer et à maîtriser de manière indépendante des systèmes d'exploitation que vous ne connaissiez pas auparavant. Et puis apprenez à les utiliser.

Vous pouvez tester des programmes sur différents systèmes d'exploitation. Vous pouvez jouer à vos anciens jeux préférés qui ne fonctionnent pas sur les nouveaux systèmes d'exploitation. Qu'apporte d'autre l'exécution de plusieurs systèmes d'exploitation ? La virtualisation a été inventée pour économiser de l'argent espèces. Les grandes organisations disposent de serveurs coûteux et, au lieu de dépenser de l'argent pour acheter du nouveau matériel, vous pouvez installer, par exemple, deux serveurs virtuels sur UNE unité système physique.

L'un est le courrier, l'autre est le DNS. Nous obtenons DEUX serveurs distincts. Chacun de ces Serveurs virtuels fonctionne indépendamment les uns des autres comme un ordinateur séparé. Dans ce cas, les ressources de l'ordinateur physique sont utilisées à leur pleine capacité (si elles sont calculées correctement). Pas de temps d'arrêt. Et si nous achetions deux serveurs distincts pour ces tâches, leurs ressources seraient alors utilisées à hauteur de quarante pour cent, voire moins. Et ce n’est pas rentable, même du point de vue de la consommation électrique.

Pour que la technologie fonctionne sur votre PC, son processeur doit la prendre en charge. Quelle est son essence en termes simples ? Un processeur typique fonctionne à peu près comme ceci. Il existe un système d'exploitation (n'importe lequel) et un processeur. Une partie des données du système d'exploitation est traitée par le processeur au niveau " 1 ". Une autre partie importante des commandes du système d'exploitation fonctionne avec le processeur, par exemple uniquement au niveau " 0 " et occupe cette zone. Vous essayez de démarrer une machine virtuelle, et cette zone « nulle » est déjà occupée par le système d'exploitation réel.

Rien ne s'arrangera. Le processeur doit donc avoir une zone " -1 », qui accepterait simultanément les commandes du « nouveau » système d’exploitation et n’affecterait pas le fonctionnement de « l’ancien ». Vous avez besoin d'un processeur capable de gérer simultanément le fonctionnement de deux systèmes d'exploitation.

Que signifie la virtualisation des processeurs AMD ?

On pense traditionnellement que les processeurs AMD sont plus accessibles et moins chers qu'INTEL. Cela ne veut pas du tout dire qu'ils sont pires. De nombreux ordinateurs de jeu à domicile sont alimentés par des processeurs AMD. Il existe une opinion selon laquelle la technologie de virtualisation d’AMD est également plus simple et plus efficace que celle d’Intel.

Virtualisation DMLA (DMLAV™) - Ce un ensemble de fonctionnalités uniques sur puce qui permettent aux clients basés sur un processeur DMLA exécuter plusieurs systèmes d’exploitation et applications sur une seule machine. Apparu pour la première fois en 2008 sur les processeurs Athlon x64

Lorsque vous installez une machine virtuelle, vous allouez une partie du matériel de l'ordinateur physique pour l'exécuter. Une partie du disque dur et la quantité spécifiée de RAM seront occupées par le système d'exploitation invité, qui fonctionnera indépendamment du système principal. AMD permet une utilisation optimale des ressources du système informatique dans diverses échelles- de l'ordinateur personnel aux pools de serveurs. Avec une configuration et un contrôle appropriés, le système est fiable et sûr.

Qu'est-ce que la virtualisation dans les processeurs Intel Core i5 ?

Intel a annoncé ses développements dans ce sens en 2005. La technologie s'appelle Intel VT et depuis le Pentium4 (672), ses processeurs prennent en charge cette fonctionnalité. Depuis, les fonctionnalités ont été continuellement améliorées et de nouvelles fonctionnalités ont été ajoutées. Il existe une courte liste de réalisations sur le site Internet de l'entreprise :

  • Concernant le processeur, sur une machine virtuelle les performances du processeur seront quasiment les mêmes que sur une machine physique. Lors du remplacement du processeur par un processeur plus productif, la migration est possible. Vous pouvez créer une autre machine virtuelle sur une machine virtuelle (virtualisation imbriquée) ;
  • RAM en cours d'utilisation Vermont est divisé et isolé dans la mesure que vous lui attribuez ;
  • la fonction de mise en œuvre d'une entrée/sortie de données optimale sur le disque dur et les cartes réseau garantit la vitesse de mise en réseau et de lecture/écriture ;
  • La capacité de prendre en charge les GPU dans une machine virtuelle a été optimisée, vous permettant de créer des postes de travail virtuels distants sur un seul serveur.


Quel est le meilleur - AMD ou Intel - ici, je pense que les deux sociétés ont obtenu à peu près les mêmes résultats. Maintenant que nous connaissons la théorie, passons à la pratique. Pour que cela fonctionne pour vous, vous devez vérifier si cette fonction est activée dans les paramètres de votre carte mère.

Que signifie la virtualisation du processeur dans le BIOS ?

Tous processeurs modernes soutenir la fonction. Il te suffit de l'allumer carte mère. Habituellement, il est désactivé et la machine virtuelle ne démarre pas. Tout d'abord, nous nous assurons que notre processeur prend en charge la virtualisation. Cela peut être fait avec n'importe quelle application capable de collecter des données sur votre matériel et de les émettre sous la forme d'un rapport.

Comment vérifier si la virtualisation est activée sur votre PC ?

Il existe des utilitaires qui vérifient si une fonction est activée sur votre processeur, et pas seulement sa présence. J'utilise CPU-Z et vérifie qu'il est activé dans le BIOS. Après avoir lancé le programme, allez dans l'onglet « Processeur » :

J'ai un processeur Intel et le jeu d'instructions devrait être AVX. Sur les processeurs DMLA en conséquence ce sera AMD-V. Si vous disposez d'une telle entrée dans votre jeu d'instructions, vous devez l'activer dans le BIOS.

L'activation de la virtualisation n'affecte en rien les performances du processeur si vous n'exécutez aucune machine virtuelle sur l'ordinateur. Cependant, si vous utilisez une machine virtuelle, les performances augmentent.

Dans le BIOS UEFI, la virtualisation est activée à peu près comme ceci :

Sur le BIOS standard, vous pouvez l'activer comme ceci :

Vous pouvez maintenant installer et configurer la machine virtuelle. À ce sujet

La virtualisation est un phénomène dont parlent de nombreuses sommités de l'informatique, un terme souvent utilisé par les fabricants de processeurs et de logiciels, mais de quoi s'agit-il réellement ? Mais en fait, il n'y a rien de compliqué à utiliser la virtualisation, mais en même temps, n'importe qui, y compris un utilisateur domestique, peut tirer des avantages pratiques de l'utilisation de divers outils de virtualisation logiciels et matériels. En fait, cela sera discuté dans ce document.

Il a été remarqué que presque tout le monde comprend inconsciemment le sens du mot « virtualité », mais n'est pas toujours en mesure d'en donner une définition. Mais, dans la plupart des cas, ce concept est spécifiquement associé à l'industrie informatique : certains se souviennent du programme populaire des années 90 « Virtual Reality », qui parlait de jeux pour consoles 8 bits, d'autres pensent aux moyens modernes qui permettent de s'immerger. dans " monde virtuel"(casques, gants et autres engins).

Une introduction aussi longue et à première vue abstraite n'a été faite que dans un seul but : pour que vous, cher lecteur, réfléchissiez également au terme « virtualité ». J'ai longuement réfléchi à la manière d'illustrer le sens de ce mot dans les sciences naturelles et par rapport à technologies informatiques en particulier. Ne donnez pas de définition tirée d'un dictionnaire qui, bien sûr, interprétera correctement le mot, mais, malheureusement, n'est pas tout à fait complète et pas entièrement applicable à notre sujet d'aujourd'hui. Finalement, un exemplaire a été trouvé dans une zone plutôt inhabituelle.

En mécanique théorique, il existe "principe virtuel mouvements", qui est utilisé pour résoudre certains problèmes. L'idée principale, pour faire court, est que le système en question, qui est en équilibre, est mis en mouvement en libérant théoriquement les liens qui le maintiennent (c'est-à-dire les mouvements qui le maintiennent). nous pourrions cela arriverait sans les connexions). Ce principe, à un moment donné, a été rebaptisé dans notre pays (alors URSS) en « principe possible mouvements." Ainsi, nous voyons que le terme " virtuel"est l'équivalent de" possible"!

Il me semble que cet exemple illustre de manière extrêmement réussie le concept de virtualisation, y compris dans le domaine informatique : grâce à cette technologie, vous pouvez créer par programme possible configuration informatique, à savoir créer possible (ou virtuel) processeur, mémoire, disques durs et d'autres composants.

Donnons maintenant une définition plus claire :

Virtualisation est le processus d'exécution d'un logiciel spécialisé sous un système d'exploitation appelé hôte ( Système d'exploitation hôte), permettant de créer des machines virtuelles ( Machine virtuelle), ayant les caractéristiques spécifiées des ordinateurs réels, et y exécutant divers systèmes d'exploitation invités indépendamment les uns des autres ( Système d'exploitation invité).

Cette définition est assez stricte et, dans une certaine mesure, difficile à comprendre. Par conséquent, à titre d’exemple, nous considérerons la situation la plus courante aujourd’hui, lorsque MS Windows XP est installé sur l’ordinateur d’un certain utilisateur. S'il a besoin de travailler, par exemple, sous Linux OS, il devra pour cela installer ce système soit sur un autre disque dur, soit sur l'un des disques logiques d'un disque existant.

Ces deux options vont sans aucun doute dérouter l'utilisateur et, en outre, vous devrez travailler tour à tour dans chacun de ces systèmes. Pour éviter tous ces désagréments, vous pouvez recourir à la virtualisation. Avec son aide, vous pouvez installer Linux sur un disque virtuel créé situé sur le disque dur et exécuter le système depuis Windows sans aucun problème. Ainsi, nous aurons la possibilité de travailler avec deux systèmes d'exploitation fondamentalement différents en même temps, et en même temps, dans certains cas, même d'échanger des informations entre eux. Nous parlerons de ce cas plus en détail plus tard, en examinant des exemples spécifiques de programmes de virtualisation.

Pour mettre en œuvre la virtualisation elle-même, il existe deux approches : matérielle et logicielle.

Virtualisation matérielle

Il est implémenté via ce qu'on appelle l'hyperviseur ( Hyperviseur) - un logiciel spécialisé, qui est lui-même en quelque sorte un système d'exploitation. Le terme moniteur ou gestionnaire de machines virtuelles est également souvent utilisé dans la littérature. (Moniteur de machine virtuelle/Directeur, abrégé VMM). Il s'agit d'une sorte de « couche logicielle » ou « couche logicielle », puisque c'est l'hyperviseur qui assure l'interaction des systèmes d'exploitation et du matériel (notamment le processeur). Ainsi, les systèmes invités n’utilisent pas les ressources du système hôte, mais directement les ressources matérielles de l’ordinateur. L'hyperviseur gère les machines virtuelles, distribue les ressources, assure leur indépendance et, dans certains cas, leur interaction.

Le plus surprenant est que lorsque j'ai examiné les publications imprimées et électroniques lors de la préparation de cet article, la plupart d'entre elles, lorsqu'elles mentionnaient la technologie de virtualisation matérielle, manquaient complètement d'informations sur le système hôte. Plusieurs ont même explicitement déclaré qu'absolument toutes les actions étaient effectuées par l'hyperviseur. Naturellement, ce n’est pas le cas. Les systèmes invités doivent toujours être installés sur le système hôte, mais via un logiciel spécialisé prenant en charge les techniques de virtualisation matérielle. Les produits les plus connus de cette catégorie sont de haute qualité, fonctionnels et en même temps totalement gratuits. Xen, après quoi les produits d'autres sociétés ont reçu un soutien pour cette technologie.

Il existe aujourd'hui sur le marché deux technologies de virtualisation matérielle, présentées par deux plus grands fabricants de processeurs. Intel Et Micro-systèmes avancés (DMLA).

Technologie Technologie de virtualisation Intel (Intel VT) nécessite la prise en charge non seulement du processeur, mais également du chipset et du BIOS de la carte mère. Le principe de fonctionnement est le suivant : l'utilisateur lance un programme de virtualisation, qui à son tour active un mode de fonctionnement spécial du processeur. Ensuite, tous les travaux de maintenance correcte de la machine virtuelle sont pris en charge par VMM.

Selon le site officiel d'Intel, voici une liste des processeurs prenant en charge cette technologie au moment de la rédaction. Veuillez noter que dans certaines lignes, même relativement nouvelles, il existe des copies sansjeIntelVermont.

  • Intel Pentium 4 processeurs: 672, 662
  • Intel Pentium D processeur: 960, 950, 940, 930, 920
  • Processeur Intel Pentium Édition Extrême : 965, 955, 840(?). Concernant ces derniers, différentes données sont indiquées.
  • Processeur Intel Core Solo:
    • Processeur Intel Core Solo Ultra Basse Tension: U1500, U1400, U1300
  • Processeur Intel Core2 Solo: U2200, U2100
  • Processeur Intel Core Duo: T2700, T2600, T2500, T2400, T2300
    • Processeur Intel Core Duo basse tension: L2500, L2400, L2300
    • Processeur Intel Core Duo Ultra Basse Tension: U2500, U2400
  • Processeur Intel Core2 Duo: E6850, E6750, E6700, E6600, E6550, E6540, E6420, E6400, E6320, E6300 ; T7800, T7700, T7600, T7500, T7400, T7300, T7250, T7200, T7100, T5600
    • Intel Core2 Duo basse tension: L7500, L7400, L7300, L7200
    • Intel Core2 Duo ultra basse tension: U7600, U7500
  • Processeur Intel Core2 Quad: Q6700, Q6600
  • Processeur Intel Core2 Extrême: QX6850, QX6800, QX6700, X7900, X7800, X6800
  • Processeur Intel Itanium 2: 9050, 9040, 9030, 9020, 9015
  • Intel Xéon processeur: toute la ligne

AMD a proposé à ses utilisateurs sa propre technologie DMLAVvirtualisation (AMD-V), basé sur une autre technologie propriétaire Connection directe. La virtualisation elle-même est conçue de telle manière que VMM considère tous les systèmes d'exploitation exécutés sur un ordinateur comme virtuels :

Lors de la création d'une machine virtuelle, le processeur passe en mode dit invité, après quoi le VMM, contrairement à la technologie Intel, ne participe pratiquement pas au fonctionnement du système.

Avec la liste des processeurs prenant en charge la technologie, les choses sont un peu pires. Pour des raisons totalement inconnues, AMD n'a pas publié de liste de processeurs prenant en charge la virtualisation. Et ce qui est le plus surprenant, c'est que ce n'est même pas toujours mentionné dans le cahier des charges. Cependant, sur le forum officiel, nous avons découvert qu'AMD-V est pris en charge par tous les processeurs sur sockets. AM2, S1, F, à l'exception du dirigeant Sempron. Il convient de noter que, malgré toutes les similitudes externes, ces technologies ne sont pas compatibles entre elles. Alors, utilisez la virtualisation matérielle FIV grâce à des programmes qui soutiennent exclusivement la technologie DMLA- V, et vice versa, cela ne fonctionnera pas.

Faisons d'emblée une réserve sur le fait qu'il est tout simplement inutile de tirer des conclusions et de privilégier l'une ou l'autre technologie à ce stade. Toutes les conclusions seront principalement fondées sur des hypothèses qui, par définition, ne peuvent constituer une comparaison objective. Afin de comparer ces technologies, il est nécessaire de réaliser de nombreux tests assez complexes, qui sortent totalement du cadre de cet article.

Virtualisation logicielle

Dans ce cas, aucun matériel spécialisé n’est requis, comme c’est le cas pour la virtualisation matérielle. L'utilisateur installe simplement l'un des programmes de virtualisation, y crée des machines virtuelles et y exécute des systèmes d'exploitation invités. Dans ce cas, bien entendu, seules les ressources consommées par le système hôte sont utilisées.

Parmi les produits les plus connus de cette classe figurent la gamme de programmes VMware(Poste de travail, Serveur, Lecteur), Boîte Virtuelle, Poste de travail Parallels, PC virtuel Microsoft, Qému Et Bochs. Nous examinerons la fonctionnalité de tous ces produits un peu plus tard. Aussi, pour chacun d'eux, des instructions assez détaillées pour l'installation d'un système d'exploitation invité seront données (en prenant comme exemple le kit de distribution Ubuntu, qui est récemment devenu très populaire parmi de nombreux utilisateurs de Linux).

Ainsi, dans ces revues, vous pouvez vous familiariser avec différents programmes de virtualisation :

Il a été décidé de ne pas considérer le Xen mentionné précédemment, car il est destiné à être utilisé principalement sur des plates-formes prenant en charge la méthode matérielle, et en son absence, une modification très laborieuse du noyau du système installé est de plus nécessaire. , il est installé exclusivement sous le système d'exploitation Linux. Je note également que la plupart des produits mentionnés prennent en charge les techniques de virtualisation matérielle.

Machine virtuelle et monde extérieur

Nous avons mentionné plus tôt que, dans certains cas, il doit y avoir une interaction entre les systèmes virtuels et réels. Qu’est-ce que cela signifie en pratique ? C'est simple : les programmes de virtualisation doivent, à la demande de l'utilisateur, fournir un service d'échange de données entre systèmes. Il peut s'agir, par exemple, d'un échange de fichiers et (dans le sens hôte ↔ invité et invité ↔ invité) et d'une configuration. réseau local. Autrement dit, la machine virtuelle doit être aussi complète et fonctionnelle que la vraie.

Dans la pratique, cela n'est pas possible à mettre en œuvre, car s'il est toujours possible de prendre en charge des ressources matérielles telles que des cartes vidéo et son, des périphériques USB et d'autres « matériels », alors avec les logiciels, les choses sont bien pires. Dans certains cas, il n'existe pas de prise en charge complète, même pour le système hôte lui-même. Par exemple, il n'est pas possible d'attribuer des dossiers partagés (en d'autres termes "partager", de l'anglais " merde un anneau"), accessible à la fois à l’OS hôte et à l’OS invité), ce qui rend l’échange d’informations entre systèmes assez déroutant.

Virtualisation matérielle ou logicielle ?

Mais vraiment, demandons-nous : quels sont les avantages de la virtualisation matérielle par rapport aux logiciels ? Pourquoi dépenser de l’argent pour un processeur prenant en charge cette fonctionnalité ? Le fait est que grâce à ce mécanisme, il est possible d'augmenter considérablement les performances du système dans son ensemble. Cela se produira du fait que l'hyperviseur, comme nous l'avons découvert précédemment, interagira directement avec le processeur lors de l'exécution des opérations.

Les estimations de performances varient, atteignant parfois le contraire. Ainsi, certaines sources ont déclaré avoir atteint un taux d'utilisation de la productivité de 90 % ou plus. processeur physique, dans d'autres - sur son absence et, dans certains cas, même sur sa perte.

Pourquoi la virtualisation est-elle nécessaire ?

Nous allons maintenant essayer d'identifier les situations les plus évidentes dans lesquelles un utilisateur peut avoir besoin de technologies de virtualisation :

  • Les programmeurs et les testeurs de logiciels peuvent l'utiliser pour suivre les bogues dans les produits publiés.
  • Les propriétaires de serveurs devraient apprécier les économies de coûts matériel, qui, selon certaines estimations, atteint 50 %. Cela est dû à la possibilité d'exécuter plusieurs serveurs virtuels sur un seul matériel physique.
  • Administrateurs système, je pense qu'ils trouveront opportunité utile répartition rapide des ressources entre les machines virtuelles (dans la plupart des cas, cela ne nécessite que quelques clics de souris). De plus, la migration des systèmes d'exploitation virtuels est beaucoup plus rapide et plus sûre que celle des systèmes d'exploitation traditionnels.
  • Les utilisateurs réguliers devraient également trouver la virtualisation très attractive. À la maison, par exemple, vous pouvez tester certains logiciels ou une nouvelle version du système d'exploitation, et comme nous l'avons découvert au tout début, le processus d'installation lui-même sera sensiblement plus simple.

Aujourd'hui, un nombre croissant de systèmes informatiques modernes se tournent vers les technologies de virtualisation. Certes, tout le monde ne comprend pas clairement de quoi il s’agit, pourquoi il est nécessaire et comment résoudre les problèmes liés à son inclusion ou à son utilisation pratique. Nous allons maintenant voir comment activer la virtualisation dans le BIOS en utilisant la méthode la plus simple. Notons tout de suite que cette technique est applicable à absolument tous les systèmes existants, notamment au BIOS et au système UEFI qui l'a remplacé.

Qu'est-ce que la virtualisation et pourquoi est-elle nécessaire ?

Avant de commencer à résoudre directement le problème de l'activation de la virtualisation dans le BIOS, examinons ce qu'est cette technologie et pourquoi elle est nécessaire.

La technologie elle-même est destinée à être utilisée dans n'importe quel système d'exploitation de machines dites virtuelles, capables d'émuler de vrais ordinateurs avec tous leurs composants matériels et logiciels. En d'autres termes, dans le système principal, vous pouvez créer quelque chose avec une sélection de processeur, de RAM, de carte vidéo et son, Adaptateur de réseau, disque dur, support optique et Dieu sait quoi d'autre, y compris l'installation d'un «OS» invité (fille), qui ne sera pas différent d'un véritable terminal informatique.

Types de technologies

Si quelqu'un ne le sait pas, les technologies de virtualisation ont été créées par les principaux fabricants de processeurs - les sociétés Intel et AMD, qui, même aujourd'hui, ne peuvent pas partager la palme dans ce domaine. À l'aube de l'époque, l'hyperviseur (logiciel de gestion des machines virtuelles) créé par Intel ne répondait pas à toutes les exigences de performances, c'est pourquoi le développement de la prise en charge des systèmes virtuels a commencé, qui devaient être « câblés » dans les puces du processeur. eux-mêmes.

Intel a appelé cette technologie Intel-VT-x et AMD l'a appelée AMD-V. Ainsi, le support a optimisé le travail processeur central sans affecter le système principal.

Il va sans dire que vous ne devez activer cette option dans les préréglages du BIOS que si vous machine physique une machine virtuelle est censée être utilisée, par exemple, pour tester des programmes ou prédire un comportement Système d'ordinateur avec divers composants « matériels » après l’installation d’un système d’exploitation particulier. Dans le cas contraire, ce support ne pourra pas être utilisé. De plus, par défaut, il est complètement désactivé et, comme déjà mentionné, n'a absolument aucun effet sur les performances du système principal.

Connectez-vous au BIOS

Quant aux systèmes BIOS ou UEFI, tout ordinateur ou ordinateur portable en dispose, quelle que soit la complexité de l'équipement installé. Le BIOS lui-même sur un ordinateur est une petite puce sur la carte mère, chargée de tester le matériel lorsque le terminal est allumé. Dans celui-ci, malgré la mémoire d'environ 1 Mo seulement, les paramètres de base et les caractéristiques de l'équipement sont enregistrés.

Selon la version du BIOS ou le fabricant, la connexion peut être effectuée à l'aide de plusieurs méthodes différentes. Le plus courant consiste à utiliser la touche Suppr immédiatement après avoir allumé l'ordinateur ou l'ordinateur portable. Cependant, il existe d'autres méthodes, par exemple les touches F2, F12, etc.

Comment activer la virtualisation dans le BIOS de la manière la plus simple ?

Définissons maintenant quelques paramètres et menus de base. Nous partons du fait que vous avez déjà entré le BIOS de l'ordinateur. Il y a plusieurs sections principales ici, mais dans ce cas nous nous intéressons à tout ce qui concerne la puce du processeur.

En règle générale, ces options sont contenues dans le menu Paramètres avancés ou dans la section Sécurité. Ils peuvent également être appelés différemment, mais, en règle générale, il s'agit de quelque chose comme Processeur ou Chipset BIOS (bien que d'autres noms puissent également apparaître).

Ainsi, la question de savoir comment activer la virtualisation dans le BIOS peut désormais être prise au sérieux. Dans les sections ci-dessus, il existe une ligne spéciale Technologie de virtualisation (dans le cas d'Intel, le nom de la société est ajouté au nom principal). Lorsque vous entrez dans le menu correspondant, deux paramètre disponible: Activé et Désactivé. Comme cela est déjà clair, le premier est le mode de virtualisation activé, le second est une désactivation complète.

Il en va de même pour le système UEFI, dans lequel l'activation de cette option se fait de manière tout à fait similaire.

Maintenant que le BIOS a été réglé sur le paramètre de mode activé, il ne reste plus qu'à enregistrer les modifications (F10 ou la commande Save & Exit Setup) et à appuyer sur la touche de confirmation Y, correspondant au mot anglais Yes. Le système redémarre automatiquement avec les paramètres nouvellement enregistrés.

Que devez-vous savoir à part cela ?

Comme vous pouvez le constater, la procédure d'activation de la virtualisation dans le BIOS est assez simple. Cependant, il y a quelques subtilités à considérer ici concernant l'éventuelle désactivation de cette fonction. Le fait est que lors de l'utilisation de machines virtuelles comme WMware Virtual Machine, Virtual PC, VirtualBox ou même le module « natif » Microsoft appelé Hyper-V, cette option doit être activée même si la prise en charge des composants Windows est activée directement dans les paramètres système.

Cela s'applique principalement aux plus récents Modifications de Windows, commençant par "sept". Dans "expish" ou "Vista", ce n'est pas un prérequis. Cependant, si ces systèmes d'exploitation sont installés sur le matériel le plus récent, une prise en charge active peut également être nécessaire. Cependant, il est peu probable qu'un utilisateur sur une telle machine installe un système d'exploitation obsolète, ce qui ne lui permettra pas de « tirer le meilleur parti » du matériel informatique dont il est capable. Il est donc préférable d'utiliser les composants matériels les plus récents en combinaison non seulement avec les dernières versions des systèmes d'exploitation, mais également avec les systèmes de diagnostic et les contrôles UEFI, qui ont remplacé le BIOS qui a servi si longtemps.

Aujourd'hui, un nombre croissant de systèmes informatiques modernes se tournent vers les technologies de virtualisation. Certes, tout le monde ne comprend pas clairement de quoi il s’agit, pourquoi il est nécessaire et comment résoudre les problèmes liés à son inclusion ou à son utilisation pratique. Nous allons maintenant voir comment activer la virtualisation dans le BIOS en utilisant la méthode la plus simple. Notons tout de suite que cette technique est applicable à absolument tous les systèmes existants, notamment au BIOS et au système UEFI qui l'a remplacé.

Qu'est-ce que la virtualisation et pourquoi est-elle nécessaire ?

Avant de commencer à résoudre directement le problème de l'activation de la virtualisation dans le BIOS, examinons ce qu'est cette technologie et pourquoi elle est nécessaire.

La technologie elle-même est destinée à être utilisée dans n'importe quel système d'exploitation de machines dites virtuelles, capables d'émuler de vrais ordinateurs avec tous leurs composants matériels et logiciels. En d'autres termes, dans le système principal, vous pouvez créer une sorte d'ordinateur virtuel avec une sélection de processeur, de RAM, de carte vidéo et son, d'adaptateur réseau, de disque dur, de support optique et Dieu sait quoi d'autre, y compris l'installation d'un invité ( enfant) « OS », qui ne fait rien, ne sera pas différent d'un vrai terminal informatique.

Types de technologies

Si quelqu'un ne le sait pas, les technologies de virtualisation ont été créées par les principaux fabricants de processeurs - les sociétés Intel et AMD, qui, même aujourd'hui, ne peuvent pas partager la palme dans ce domaine. À l'aube de l'époque, l'hyperviseur (logiciel de gestion des machines virtuelles) créé par Intel ne répondait pas à toutes les exigences de performances, c'est pourquoi le développement de la prise en charge des systèmes virtuels a commencé, qui devaient être « câblés » dans les puces du processeur. eux-mêmes.

Intel a appelé cette technologie Intel-VT-x et AMD l'a appelée AMD-V. Ainsi, le support a optimisé les performances du processeur central sans affecter le système principal.

Il va sans dire que vous ne devez activer cette option dans les paramètres préliminaires du BIOS que si vous avez l'intention d'utiliser une machine virtuelle sur une machine physique, par exemple pour tester des programmes ou prédire le comportement d'un système informatique avec divers composants « matériels » après installer un système d'exploitation particulier. Dans le cas contraire, ce support ne pourra pas être utilisé. De plus, par défaut, il est complètement désactivé et, comme déjà mentionné, n'a absolument aucun effet sur les performances du système principal.

Connectez-vous au BIOS

Quant aux systèmes BIOS ou UEFI, tout ordinateur ou ordinateur portable en dispose, quelle que soit la complexité de l'équipement installé. Le BIOS lui-même sur un ordinateur est une petite puce sur la carte mère, chargée de tester le matériel lorsque le terminal est allumé. Dans celui-ci, malgré la mémoire d'environ 1 Mo seulement, les paramètres de base et les caractéristiques de l'équipement sont enregistrés.

Selon la version du BIOS ou le fabricant, la connexion peut être effectuée à l'aide de plusieurs méthodes différentes. Le plus courant consiste à utiliser la touche Suppr immédiatement après avoir allumé l'ordinateur ou l'ordinateur portable. Cependant, il existe d'autres méthodes, par exemple les touches F2, F12, etc.

Comment activer la virtualisation dans le BIOS de la manière la plus simple ?

Définissons maintenant quelques paramètres et menus de base. Nous partons du fait que vous avez déjà entré le BIOS de l'ordinateur. Il y a plusieurs sections principales ici, mais dans ce cas nous nous intéressons à tout ce qui concerne la puce du processeur.

En règle générale, ces options sont contenues dans le menu Paramètres avancés ou dans la section Sécurité. Ils peuvent également être appelés différemment, mais, en règle générale, il s'agit de quelque chose comme Processeur ou Chipset BIOS (bien que d'autres noms puissent également apparaître).

Ainsi, la question de savoir comment activer la virtualisation dans le BIOS peut désormais être prise au sérieux. Dans les sections ci-dessus, il existe une ligne spéciale Technologie de virtualisation (dans le cas d'Intel, le nom de la société est ajouté au nom principal). Lorsque vous entrez dans le menu correspondant, deux options disponibles seront affichées : Activé et Désactivé. Comme cela est déjà clair, le premier est le mode de virtualisation activé, le second est une désactivation complète.

Il en va de même pour le système UEFI, dans lequel l'activation de cette option se fait de manière tout à fait similaire.

Maintenant que le BIOS a été réglé sur le paramètre de mode activé, il ne reste plus qu'à enregistrer les modifications (F10 ou la commande Save & Exit Setup) et à appuyer sur la touche de confirmation Y, correspondant au mot anglais Yes. Le système redémarre automatiquement avec les paramètres nouvellement enregistrés.

Que devez-vous savoir à part cela ?

Comme vous pouvez le constater, la procédure d'activation de la virtualisation dans le BIOS est assez simple. Cependant, il y a quelques subtilités à considérer ici concernant l'éventuelle désactivation de cette fonction. Le fait est que lors de l'utilisation de machines virtuelles comme WMware Virtual Machine, Virtual PC, VirtualBox ou même le module « natif » Microsoft appelé Hyper-V, cette option doit être activée même si la prise en charge des composants Windows est activée directement dans les paramètres système.

Pour la plupart, cela s'applique aux modifications les plus récentes de Windows, en commençant par « sept ». Dans "expish" ou "Vista", ce n'est pas un prérequis. Cependant, si ces systèmes d'exploitation sont installés sur le matériel le plus récent, une prise en charge active peut également être nécessaire. Cependant, il est peu probable qu'un utilisateur sur une telle machine installe un système d'exploitation obsolète, ce qui ne lui permettra pas de « tirer le meilleur parti » du matériel informatique dont il est capable. Il est donc préférable d'utiliser les composants matériels les plus récents en combinaison non seulement avec les dernières versions des systèmes d'exploitation, mais également avec les systèmes de diagnostic et les contrôles UEFI, qui ont remplacé le BIOS qui a servi si longtemps.

fb.ru

Comment activer la virtualisation matérielle dans le BIOS ? Technologie de virtualisation - technologie de virtualisation matérielle pour système d'exploitation invité (avec photo) - configuration du BIOS

Option technologie de virtualisation. L'activation de cette option active la technologie de virtualisation matérielle basée sur une architecture de processeur spéciale. Contrairement à la virtualisation logicielle, cette technique permet d'utiliser des systèmes invités isolés (machines virtuelles - VMware, Virtual PC, etc.) contrôlés directement par l'hyperviseur. Le système invité est indépendant de l’architecture de la plateforme hôte et de la mise en œuvre de la plateforme de virtualisation.

Cette option n'a pratiquement aucun effet sur le fonctionnement des programmes utilisateur dans un système d'exploitation standard.

Valeurs des options :

L'option peut également avoir d'autres noms :

  • Technologie virtuelle
  • Technologie Vanderpool
  • Technologie VT
  • Virtualisation

Remarque 1. Virtualisation matérielle avec prise en charge d'une architecture de processeur spéciale. La virtualisation matérielle offre des performances comparables à celles d'une machine non virtualisée, ce qui rend la virtualisation pratique et répandue. Les technologies de virtualisation les plus courantes sont Intel-VT et AMD-V.

  1. Intel VT (Intel Virtualization Technology) implémente une virtualisation en mode d'adressage réel (mode de compatibilité 8086). La virtualisation des E/S matérielles correspondante est VT-d. Souvent abrégé VMX (Virtual Machine eXtension). Nom de code : Vanderpool.
  2. AMD-V est souvent abrégé en SVM (Secure Virtual Machines). Nom de code : Pacifica. La technologie de virtualisation d'E/S correspondante est IOMMU. AMD-V est plus simple et plus efficace qu'Intel VT. La prise en charge d'AMD-V a été introduite dans Xen 3.3.

Intel VT (Intel Virtualization Technology) - la technologie de virtualisation Intel, qu'est-ce que c'est ?

Intel VT constitue la base matérielle de la virtualisation logicielle, réduisant sa taille, son coût et sa complexité. Par exemple, lorsque de tels systèmes utilisent la mémoire cache, un système d'entrée-sortie. Il est principalement utilisé par les utilisateurs des secteurs de l'entreprise, du cloud et des communications.

VT-x Le 13 novembre 2005, Intel a lancé deux modèles Pentium 4 (modèles 662 et 672), qui furent les premiers processeurs à prendre en charge VT-x (« Vanderpool »). VT-x est la technologie de virtualisation en mode d'adressage réel d'Intel sur la plate-forme x86 - VMX (Virtual Machine eXtension).

La virtualisation du mode d'adressage réel a été implémentée (mode de compatibilité avec 8086).

VT-d (Technologie de virtualisation pour E/S dirigées) est une technologie de virtualisation matérielle d'E/S créée par Intel en plus de sa technologie de virtualisation informatique VT-x. La virtualisation d'E/S vous permet de transmettre des périphériques sur le bus PCI (et des bus similaires plus modernes) au système d'exploitation invité, afin qu'il puisse fonctionner avec lui en utilisant son fonds réguliers. Pour rendre cela possible, la logique de la carte mère utilise une unité de gestion de mémoire d'E/S dédiée (IOMMU), qui fonctionne de la même manière que la MMU du processeur, en utilisant des tables de pages et une table de remappage DMA spéciale (DMAR) que l'hyperviseur reçoit du BIOS via ACPI. . Le mappage DMA est nécessaire car l'hyperviseur ne sait rien des spécificités du fonctionnement du périphérique avec la mémoire à des adresses physiques connues uniquement du pilote. À l'aide de DMAR, il crée des tables de mappage afin que le pilote du système d'exploitation invité voie les adresses IOMMU virtuelles de la même manière qu'il verrait les adresses physiques sans lui et l'hyperviseur.

La technologie de virtualisation Intel pour E/S dirigées (VT-d) constitue la prochaine étape importante vers une prise en charge matérielle complète pour la virtualisation de plate-forme sur Basé sur Intel. VT-d étend les capacités de la technologie de virtualisation (VT) trouvées dans IA-32 (VT-x) et Itanium (VT-i) et ajoute la prise en charge de la virtualisation de nouveaux périphériques d'E/S. Vous pouvez en savoir plus sur l'aspect technique du problème ici https://ru.wikipedia.org/wiki/

Programme d'installation du BIOS d'AWARD Software International Inc sur les cartes mères GIGABYTE TECHNOLOGY

Valeur par défaut de virtualisation

Signification possible :

Désignation Options du BIOS Description de l'option dans le BIOS Valeur traduite de l'option BIOS

Technologie de virtualisation assistée par matériel qui aide à améliorer les performances du système exécutant les logiciels de machine virtuelle.

La machine virtuelle permet plusieurs systèmes d'exploitation sur un ordinateur simultanément.

Équipement d'assistance à la virtualisation est une technologie qui permet d'améliorer les performances d'un système exécuté sur une machine virtuelle.

Une machine virtuelle vous permet d'exécuter plus efficacement plusieurs systèmes d'exploitation sur un seul ordinateur en même temps.

N'activez pas la technologie de virtualisation matérielle basée sur une architecture de processeur spéciale.

Inclut une technologie de virtualisation matérielle basée sur une architecture de processeur spéciale.

Utilitaire de configuration Aptio - BIOS d'American Megatrends Inc sur les cartes mères Dell Inc.

Le nom de cette option pour ce fabricant dans cette version du BIOS (ordinateur portable) :

Valeur par défaut de virtualisation

Signification possible :

Insyde Software BIOS Insydeh30 Setup Utility sur les cartes mères Hewlett-Packard Company (HP)

Le nom de cette option pour ce fabricant dans cette version du BIOS :

Valeur par défaut de la technologie de virtualisation

Cette option se trouve sur l'onglet : « Configuration du système »

www.NastrojkaBios.ru

Comment vérifier si votre processeur prend en charge la virtualisation matérielle Intel VT-x/VT-d et AMD-V

Aujourd'hui, on sait que la prise en charge de la virtualisation matérielle Intel VT-x/VT-d et AMD-V est nécessaire pour le fonctionnement des machines virtuelles, telles que VirtualBox et VMware Workstation, ainsi que pour le fonctionnement des programmes dits d'émulation pour systèmes d'exploitation mobiles, par exemple pour Android OS .

De nos jours, presque tous les ordinateurs modernes prennent en charge cette technologie, mais bien sûr, il y en a qui ne le font pas. Et afin de savoir si notre processeur supporte cette technologie, nous allons d'abord aller dans le BIOS de notre ordinateur et voir si le paramètre qui nous intéresse s'y trouve. J'ai ajouté à l'article plusieurs exemples de ce à quoi ressemble l'élément d'activation de la virtualisation dans différentes versions du BIOS. Fondamentalement, l'inclusion de ce paramètre se trouve sur l'onglet avancé, puis, comme on peut le voir dans l'image ci-dessous, sous le nom de technologie de virtualisation Intel et il existe des preuves cachées que cet ordinateur prend en charge cette technologie.

Dans cette version du BIOS, nous accédons à l'onglet Fonctionnalités avancées du BIOS, où nous voyons également la prise en charge de cette technologie dans l'élément de virtualisation.

Et ici, dans l'élément des fonctionnalités avancées du BIOS, vous pouvez voir que la virtualisation matérielle est prise en charge par le processeur.

Eh bien, la dernière option, où dans l'onglet avancé de l'élément de mode machine virtuelle sécurisée, nous pouvons également activer cette technologie.

Mais il existe également des cas où dans le BIOS de notre ordinateur, il n'y a pas d'option pour activer la virtualisation matérielle en mode machine virtuelle sécurisée ou la technologie de virtualisation Intel, bien qu'ils disent que le processeur de votre ordinateur prend en charge cette technologie. Pour nous en assurer, un petit utilitaire appelé SecurAble nous aidera, qui montrera avec précision si notre processeur prend en charge la virtualisation matérielle. Accédez au site officiel du fabricant en utilisant le lien https://www.grc.com/securable.htm, où en bas nous cliquons sur l'élément Télécharger maintenant. Le téléchargement va commencer, puis on lance le programme, il n'est pas nécessaire de l'installer, puisqu'il s'agit d'une version portable.

Après le lancement, le programme affichera immédiatement des informations indiquant si votre processeur prend en charge ou non la technologie de virtualisation. Vous pouvez le voir dans le troisième bloc. Comme vous l’avez peut-être deviné, s’il dit oui, cela signifie qu’il existe un soutien.

S'il indique Locked OFF, cela signifie que cette technologie est prise en charge, mais elle doit être activée. Et il s'allume, comme nous le savons déjà, dans le BIOS de notre ordinateur.

Eh bien, si le bloc est marqué NON, alors la technologie de virtualisation matérielle n'est pas prise en charge par votre processeur.

Laissez votre avis sur cet article et, bien sûr, posez vos questions si quelque chose ne va pas pour vous.

Merci pour votre attention!

ITremont.info

Virtualisation matérielle. Théorie, réalité et support dans les architectures de processeurs

Dans cet article, je vais essayer de décrire les raisons et les caractéristiques de l'utilisation du support matériel pour la virtualisation informatique. Je commencerai par définir trois conditions nécessaires à la virtualisation et par formuler les bases théoriques pour les réaliser. Ensuite, je décrirai comment la théorie se reflète dans la dure réalité. À titre d'illustration, nous décrirons brièvement comment différents fournisseurs de processeurs de diverses architectures ont implémenté la virtualisation dans leurs produits. Enfin, la question de la virtualisation récursive sera abordée. Tout d’abord, quelques définitions, peut-être pas tout à fait typiques des articles sur ce sujet, mais utilisées dans cet article.
  • L'hôte est le système matériel sur lequel le moniteur ou le simulateur de machine virtuelle s'exécute.
  • L'invité est un système virtuel ou simulé fonctionnant sous le contrôle d'un moniteur ou d'un simulateur. Également parfois appelé système cible.
Je vais essayer de définir le reste de la terminologie telle qu'elle apparaît dans le texte. La virtualisation présentait un intérêt avant même l'invention du microprocesseur, à une époque où grands systèmes- les mainframes, dont les ressources étaient très coûteuses, et dont les temps d'arrêt étaient économiquement inacceptables. La virtualisation a permis d'augmenter le degré d'utilisation de tels systèmes, tout en évitant aux utilisateurs et aux programmeurs d'applications de réécrire leurs logiciels, puisque de leur point de vue la machine virtuelle était identique à la machine physique. Le pionnier dans ce domaine fut IBM avec les mainframes System/360 et System/370, créés dans les années 1960 et 1970. Il n’est pas surprenant que les critères permettant de créer un moniteur de machine virtuelle efficace aient été développés à peu près à la même époque. Elles sont formulées dans l'ouvrage classique de Gerald Popek et Robert Goldberg de 1974 « Exigences formelles pour les architectures virtualisables de troisième génération ». Considérons ses principales prémisses et formulons sa principale conclusion. Dans ce qui suit, nous utilisons une représentation simplifiée d'un ordinateur « standard » de l'article, constitué d'un processeur central et d'une RAM linéaire homogène. Les périphériques, ainsi que les moyens d'interaction avec eux, sont omis. Le processeur prend en charge deux modes de fonctionnement : le mode superviseur, utilisé par le système d'exploitation, et le mode utilisateur, dans lequel les applications d'application sont exécutées. La mémoire prend en charge un mode de segmentation utilisé pour organiser la mémoire virtuelle. Configuration requise pour un moniteur de machine virtuelle (VM) :
  1. Isolation - Chaque machine virtuelle doit avoir accès uniquement aux ressources qui lui ont été attribuées. Cela ne devrait pas pouvoir affecter le fonctionnement du moniteur et des autres machines virtuelles.
  2. Equivalence - tout programme exécuté sous le contrôle d'une VM doit démontrer un comportement totalement identique à son exécution sur un système réel, à l'exception des effets provoqués par deux circonstances : des différences dans le nombre de ressources disponibles (par exemple, la VM peut avoir moins mémoire) et durées des opérations (de -pour la possibilité de partager le temps d'exécution avec d'autres VM).
  3. Efficacité - dans l'œuvre originale, la condition est formulée comme suit : « un sous-ensemble statistiquement dominant d'instructions de processeur virtuel doit être exécuté directement par le processeur hôte, sans l'intervention du moniteur VM ». Autrement dit, une partie importante des instructions doit être simulée en mode exécution directe. L’exigence d’efficacité est la plus ambiguë des trois exigences énumérées, et nous y reviendrons plus tard. Dans le cas des simulateurs basés sur l'interprétation de consignes, la condition d'efficacité n'est pas satisfaite, car Chaque instruction invité nécessite un traitement par le simulateur.
L'état du processeur contient au moins trois registres : M, qui détermine s'il est en mode superviseur ou utilisateur, P - un pointeur vers l'instruction en cours et R - un état qui détermine les limites du segment de mémoire utilisé (dans le cas le plus simple, R spécifie un segment, c'est-à-dire R = (l,b), où l est l'adresse du début de la plage, b est sa longueur). La mémoire E est constituée d'un nombre fixe de cellules accessibles par leur numéro t, par exemple E[t]. La taille de la mémoire et des cellules n'est pas importante à cet égard.

Une fois exécutée, chaque instruction i peut généralement modifier à la fois (M, P, R) et la mémoire E, c'est-à-dire c'est une fonction de transformation : (M1,P1,R1,E1) -> (M2,P2,R2,E2).

Pour certaines conditions d'entrée, une instruction est considérée comme provoquant une exception trap si, suite à son exécution, le contenu de la mémoire ne change pas, à l'exception de la seule cellule E, qui contient l'état précédent du processeur (M1, P1 , R1). Le nouvel état du processeur (M2, P2, R2) est copié de E. En d'autres termes, le piège permet de sauvegarder l'état complet du programme au moment précédant son exécution. dernière instruction et transférer le contrôle au gestionnaire, qui dans le cas des systèmes conventionnels fonctionne généralement en mode superviseur et est conçu pour fournir des actions supplémentaires sur l'état du système, puis rendre le contrôle au programme, restaurant l'état de E. De plus, les pièges peuvent avoir deux caractéristiques.

  1. Causé par une tentative de changement de l'état du processeur (piège de flux de contrôle).
  2. Accès au contenu de la mémoire en dehors de la plage définie dans (piège de protection de la mémoire).
Veuillez noter que ces fonctionnalités ne s’excluent pas mutuellement. Autrement dit, le résultat de l'exécution peut être à la fois un piège de flux de contrôle et un piège de protection de la mémoire. Les instructions machine du processeur en question peuvent être classées comme suit :
  • Privilégié. Les instructions exécutées avec M = u provoquent toujours un piège de flux de contrôle. En d’autres termes, une telle instruction ne peut être exécutée qu’en mode superviseur, sinon elle lèvera définitivement une exception.
  • Service (anglais : sensible. Je ne connais pas le terme russe établi pour ce concept. Parfois dans la littérature, il existe une traduction des instructions « sensibles »). La classe se compose de deux sous-classes. 1. Instructions qui ont terminé l'exécution sans interruption de protection de la mémoire et ont provoqué une modification de M ​​et/ou R. Elles peuvent changer le mode du processeur de superviseur à utilisateur ou vice versa, ou modifier la position et la taille d'un segment de mémoire accessible. 2. Des instructions dont le comportement, lorsqu'elles ne déclenchent pas de trap de protection mémoire, dépend soit du mode de M, soit de la valeur de R.
  • Inoffensif (anglais : inoffensif). Non-officiel. La classe la plus large d'instructions qui ne manipulent rien d'autre que le pointeur d'instruction P et la mémoire E, dont le comportement ne dépend pas du mode ou de l'adresse mémoire dans lequel ils se trouvent.
Le respect des trois conditions formulées ci-dessus pour la possibilité de construire un moniteur de machine virtuelle est donné dans la phrase suivante : l'ensemble des instructions de service est un sous-ensemble d'instructions privilégiées (Fig. 1). En omettant la preuve formelle du théorème 1 de l'article, nous notons les circonstances suivantes.
  • L'isolement est assuré en plaçant le moniteur en mode superviseur et la VM uniquement en mode utilisateur. Dans le même temps, ce dernier ne peut pas volontairement modifier les ressources du système - une tentative provoquerait un interruption du flux de contrôle sur l'instruction de service et un saut vers le moniteur, ainsi que la mémoire du fait que la configuration ne le permet pas, et le Le processeur exécutera une interruption de protection de la mémoire.
  • L'équivalence est prouvée par le fait que les instructions inoffensives sont exécutées de la même manière, qu'un moniteur soit présent ou non dans le système, tandis que les instructions de service provoquent toujours une exception et sont interprétées. A noter que même dans le schéma simple décrit ci-dessus, la première condition d'affaiblissement apparaît : même sans prendre en compte la mémoire nécessaire pour stocker le code et les données de l'hyperviseur, la quantité de mémoire disponible pour la VM sera d'au moins deux cellules inférieure à celui du système hôte.
  • L'efficacité est garantie par le fait que toutes les instructions inoffensives à l'intérieur de la VM sont exécutées directement, sans ralentissement. Cela implique que leur ensemble comprend « un sous-ensemble statistiquement dominant d’instructions de processeur virtuel ».

Riz. 1 : La condition de virtualisabilité est remplie. L'ensemble des instructions de service est un sous-ensemble d'instructions privilégiées. Malgré la simplicité du modèle utilisé et les conclusions qui en sont tirées, les travaux de Goldberg et Popek sont toujours d'actualité. Il convient de noter que le non-respect des conditions qui y sont décrites ne rend pas fondamentalement impossible la création ou l'utilisation de machines virtuelles sur une certaine architecture, et il existe des exemples pratiques de mise en œuvre qui le confirment. Cependant, maintenir un équilibre optimal entre les trois propriétés d’isolement, d’équivalence et d’efficacité devient impossible. Le plus souvent, vous devez payer pour la rapidité de fonctionnement des machines virtuelles en raison de la nécessité d'une recherche minutieuse et d'un contrôle logiciel sur l'exécution des instructions de service, mais non privilégiées, car le matériel lui-même ne le fournit pas (Fig. 2) . Même une seule instruction de ce type exécutée directement par la VM menace travail stable moniteur, et il est donc obligé d'analyser l'intégralité du flux d'instructions invité.

Riz. 2 : Non-respect de la condition de virtualisabilité. Les instructions de service, mais non privilégiées, nécessitent la mise en œuvre d'une logique complexe dans le moniteur. L'ouvrage lui-même contient à la fois des simplifications explicitement énoncées de la structure des systèmes réels étudiés (manque de périphériques et de systèmes d'entrée-sortie) et des hypothèses implicites sur la structure. de programmes invités exécutables (presque entièrement constitués d'instructions inoffensives) et de systèmes hôtes (monoprocesseur). Examinons maintenant ces limites plus en détail et suggérons également comment le degré d'applicabilité du critère peut être étendu à des ressources supplémentaires nécessitant une virtualisation, et ainsi augmenter sa valeur pratique pour les architectes de nouveaux systèmes informatiques. Pour travail efficace les programmes à l’intérieur d’une VM exigent que la plupart de leurs instructions soient inoffensives. Cela est généralement vrai pour les applications. Les systèmes d'exploitation, à leur tour, sont conçus pour gérer les ressources du système, ce qui signifie qu'ils utilisent des instructions privilégiées et de service, et que le moniteur doit les intercepter et les interpréter avec une baisse de performances correspondante. Par conséquent, idéalement, le jeu d’instructions devrait contenir le moins d’instructions privilégiées possible afin de minimiser l’incidence des pièges. Les périphériques étant une ressource de service informatique, il est évident que pour assurer les conditions d'isolement et d'équivalence, il est nécessaire que toutes les tentatives d'accès à ceux-ci soient contrôlées par le moniteur VM de la même manière qu'elles sont contrôlées dans un système d'exploitation multitâche par son noyau. Actuellement, l'accès aux périphériques s'effectue le plus souvent via le mécanisme consistant à les refléter dans la mémoire physique du système (E/S mappées en mémoire), ce qui signifie qu'à l'intérieur du moniteur, cette lecture/écriture de certaines régions doit soit déclencher un piège de protection de la mémoire ou être sans service, c'est-à-dire ne déclenchez pas de piège et n’affectez pas l’État de manière incontrôlée. L'intensité de l'interaction entre les applications et les périphériques peut être différente et est déterminée par leur fonctionnalité, ce qui affecte leur ralentissement lors de la virtualisation. De plus, le moniteur de VM peut rendre différentes classes de périphériques présentes sur l'hôte disponibles au sein de plusieurs VM de différentes manières.

  • Un appareil dédié est un appareil accessible exclusivement au sein d’un seul système invité. Exemples : clavier, moniteur.
  • Partagé - commun à plusieurs invités. Un tel dispositif soit comporte plusieurs parties dont chacune est dédiée aux besoins de l'une d'entre elles (mode partitionné), par exemple un disque dur comportant plusieurs partitions, soit est connecté à chacune d'elles tour à tour (mode partagé). Exemple : carte réseau.
  • Complètement virtuel - un périphérique absent du système réel (ou présent, mais en quantité limitée) et simulé par un logiciel à l'intérieur du moniteur. Exemples : Minuteries d'interruption : chaque invité possède sa propre minuterie, même si le système hôte n'en possède qu'une, et elle est utilisée pour les besoins propres du moniteur.
Les interruptions sont un mécanisme permettant d'informer le processeur des événements de périphérique externe qui nécessitent l'attention du système d'exploitation. Dans le cas des machines virtuelles, le moniteur doit être capable de contrôler l'envoi des interruptions, puisque certaines ou la totalité d'entre elles doivent être traitées au sein du moniteur. Par exemple, une interruption de minuterie peut être utilisée pour surveiller/limiter l'utilisation du processeur des invités et pour pouvoir basculer entre plusieurs machines virtuelles exécutées simultanément. De plus, dans le cas de plusieurs invités, il n'est pas clair à l'avance lequel d'entre eux doit délivrer l'interruption, et c'est le moniteur qui doit prendre la décision. La solution la plus simple pour assurer l’isolation consiste à acheminer toutes les interruptions vers le moniteur de VM. Dans ce cas, l'équivalence sera assurée d'elle-même : une interruption, si nécessaire, sera délivrée à l'intérieur du client par une simulation d'un changement de son état. Le moniteur peut en outre créer des interruptions virtuelles, provoquées uniquement par la logique de son fonctionnement, et non par des événements externes. Toutefois, l’efficacité d’une telle solution ne sera pas optimale. En règle générale, la réponse du système à une interruption doit se produire dans un temps limité, sinon elle n'aura aucun sens pour un périphérique externe ou aura des conséquences catastrophiques pour le système dans son ensemble. L'introduction d'une couche de virtualisation augmente le délai entre le moment où un événement survient et le moment où il est traité dans l'invité par rapport à un système sans virtualisation. Plus efficace est le contrôle matériel sur l'émission des interruptions, qui permet de rendre certaines d'entre elles inoffensives pour l'état du système et de ne pas nécessiter l'intervention du programme de surveillance à chaque fois. Presque tous les ordinateurs modernes contiennent plus d’un cœur ou processeur. De plus, plusieurs machines virtuelles peuvent être exécutées sur un seul moniteur, chacune pouvant disposer de plusieurs processeurs virtuels. Voyons comment ces circonstances affectent les conditions de virtualisation. L’introduction de plusieurs processeurs hôtes et invités laisse intactes les conditions d’une virtualisabilité efficace. Cependant, il est nécessaire de prêter attention au respect des conditions nécessaires au fonctionnement efficace des applications multithread au sein d’une VM. Contrairement à ceux à thread unique, ils se caractérisent par des processus de synchronisation de parties de programme exécutées sur différents processeurs virtuels. Dans ce cas, tous les threads participants attendent jusqu'à ce qu'ils atteignent tous un point prédéterminé dans l'algorithme, ce qu'on appelle. barrière. Si le système est virtualisé, un ou plusieurs threads invités peuvent être inactifs, préemptés par le moniteur, faisant perdre du temps aux autres.

Un exemple d’un tel comportement inefficace des systèmes invités est la synchronisation utilisant des verrous tournants à l’intérieur d’une VM. Bien qu'inefficace et donc inutilisable pour les systèmes à processeur unique, dans le cas de plusieurs processeurs, il s'agit d'une alternative légère aux autres verrous plus lourds utilisés pour accéder aux sections critiques des algorithmes parallèles. Le plus souvent, ils sont utilisés à l'intérieur du système d'exploitation, mais pas programmes utilisateur, puisque seul le système d'exploitation peut déterminer avec précision quelles ressources système peuvent être efficacement protégées à l'aide de verrous circulaires. Cependant, dans le cas d'une machine virtuelle, la planification des ressources n'est en réalité pas effectuée par le système d'exploitation, mais par le moniteur de la VM, qui n'en a généralement pas conscience et peut préempter un thread capable de libérer la ressource, tandis qu'un deuxième thread effectuera un round robin, perdant du temps processeur. La solution optimale dans ce cas est de désactiver le thread bloqué jusqu'à ce que la ressource dont il a besoin soit libérée.

Les solutions existantes à ce problème sont décrites ci-dessous.

  1. Le moniteur de machine virtuelle peut tenter de détecter l’utilisation de verrous tournants du système d’exploitation invité. Cela nécessite une analyse du code avant l'exécution et la définition de points d'arrêt aux adresses de verrouillage. La méthode n'est pas caractérisée par l'universalité et la fiabilité de la détection.
  2. Le système invité peut signaler l'intention du moniteur d'utiliser le verrouillage circulaire à l'aide d'une instruction spéciale. La méthode est plus fiable, mais nécessite une modification du code du système d'exploitation invité.
Enfin, notez que les schémas de livraison et de traitement des interruptions sur les systèmes multiprocesseurs sont également plus complexes, ce qui doit être pris en compte lors de la conception d'un moniteur de VM pour de tels systèmes, et peuvent ne pas être aussi efficaces qu'un équivalent monoprocesseur. Le modèle d'instruction machine utilisé précédemment pour formuler l'énoncé sur la virtualisation efficace utilisait un simple diagramme linéaire traduction d'adresses basée sur la segmentation, populaire dans les années 70 du siècle dernier. Il est simple sur le plan informatique, ne change pas lorsqu'un moniteur de VM est introduit et, par conséquent, l'influence du mécanisme de traduction d'adresses sur l'efficacité n'a pas été analysée. Actuellement, les mécanismes de mémoire virtuelle paginée utilisent la conversion non linéaire des adresses virtuelles des applications utilisateur en adresses physiques utilisées par le matériel. La ressource système impliquée est un pointeur de registre vers l'adresse de la table de conversion (le plus souvent, en pratique, plusieurs tables sont utilisées, formant une hiérarchie ayant une racine commune). Dans le cas d'une VM, ce pointeur doit être virtualisé, puisque chaque système invité a son propre contenu de registre, ainsi que la position/contenu de la table. Le coût de mise en œuvre logicielle de ce mécanisme à l'intérieur du moniteur est élevé, de sorte que les applications qui utilisent activement la mémoire peuvent perdre en efficacité lorsqu'elles sont virtualisées. Pour résoudre ce problème, une traduction d'adresses matérielles à deux niveaux est utilisée (Fig. 3). Les systèmes d'exploitation invités ne voient que le premier niveau, tandis que l'adresse physique générée pour eux est ensuite traduite par le deuxième niveau en adresse réelle.

Riz. 3 : Traduction d’adresse à deux niveaux. Le premier niveau est contrôlé par le système d'exploitation invité, le second par le moniteur de la machine virtuelle. Une autre ressource informatique responsable de la traduction des adresses est le tampon de traduction (TLB), composé de plusieurs entrées. Chaque système invité possède son propre contenu TLB, donc lors du changement de VM active ou du passage à un moniteur, il doit être réinitialisé. Cela a un impact négatif sur les performances du système car la restauration de son contenu prend du temps, temps pendant lequel il est nécessaire d'utiliser un accès moins efficace à la table de traduction d'adresses située en mémoire. La solution consiste à partager les ressources TLB entre tous les systèmes. Chaque ligne de buffer est associée à un identifiant – un tag unique pour chaque VM. Lorsque le matériel le recherche, seules les lignes dont le tag correspond à la VM actuelle sont prises en compte. En plus des processeurs, les périphériques peuvent également accéder directement à la RAM grâce à la technologie DMA (direct memory access). Dans le même temps, les appels dans les systèmes classiques sans virtualisation sont dirigés vers des adresses physiques. Évidemment, ces adresses doivent être traduites à l’intérieur de la machine virtuelle, ce qui entraîne des frais généraux et réduit l’efficacité du moniteur. La solution consiste à utiliser le périphérique IOMMU (Input Output Memory Management Unit), qui permet de contrôler l'accès à la mémoire physique par les périphériques hôtes. Élargissons la condition de virtualisabilité en remplaçant le mot « instruction » par « opération » : l'ensemble des opérations de service est un sous-ensemble d'opérations privilégiées. Dans ce cas, par opération, nous entendons toute activité définie par l'architecture pour lire ou modifier l'état du système, y compris les instructions, les interruptions, les accès aux appareils, les conversions d'adresses, etc. Dans ce cas, la condition pour augmenter l'efficacité de la virtualisation sera la suivante : l'architecture du système doit contenir un nombre minimum d'opérations de service. Cela peut être réalisé de deux manières : en rendant les instructions de service inoffensives ou en réduisant le nombre d'instructions privilégiées. Pour ce faire, la plupart des architectures ont choisi d'ajouter un nouveau mode r au registre d'état M - le mode moniteur VM (mode racine anglais). Il se rapporte au mode s comme s se rapporte à u ; en d’autres termes, la classe mise à jour d’instructions privilégiées déclenche désormais un piège de flux de contrôle qui fait passer le processeur de s à r. Regardons l'essentiel architecture moderne les systèmes informatiques utilisés sur les serveurs, les postes de travail et les systèmes embarqués, du point de vue mise en œuvre pratique les principes théoriques décrits ci-dessus. Voir aussi la série d'articles. IBM a été l'un des premiers à introduire une architecture de virtualisation matérielle sur le marché des microprocesseurs de serveur avec la série POWER4 en 2001. Il était prévu de créer des partitions logiques isolées (LPAR), chacune étant associée à un ou plusieurs processeurs et ressources d'E/S. Pour ce faire, un nouveau mode hyperviseur a été ajouté au processeur aux modes superviseur et utilisateur déjà présents. Pour protéger la mémoire, chaque partition logique est limitée à un mode avec traduction d'adresse désactivée et n'a accès qu'à une petite région de mémoire privée ; Pour utiliser la mémoire restante, le système d'exploitation invité doit activer la traduction contrôlée par le moniteur de VM. En 2004, le développement de cette architecture, baptisée POWER5, a apporté des améliorations majeures aux mécanismes de virtualisation. Ainsi, un nouveau dispositif de minuterie a été ajouté, disponible uniquement pour le moniteur VM, ce qui lui a permis de contrôler plus précisément les systèmes invités et de leur allouer des ressources de processeur avec une précision au centième de processeur. De plus, le moniteur VM a la capacité de contrôler l'adresse de livraison des interruptions - dans la partition logique ou dans l'hyperviseur. L'innovation la plus importante était le fait que la présence d'un hyperviseur était obligatoire : il chargeait et gérait les ressources système, même s'il n'y avait qu'une seule partition LPAR dans le système. Les systèmes d'exploitation pris en charge (AIX, Linux, IBM i) ont été modifiés dans cet esprit pour prendre en charge une sorte de schéma de paravirtualisation. Pour gérer les périphériques d'E/S, un (ou deux, pour l'équilibrage de charge) de la partition logique charge un système d'exploitation spécial : le serveur d'E/S virtuel (VIOS), qui fournit ces ressources pour les partitions restantes. Sun, le développeur d'UltraSPARC et du système d'exploitation Solaris, propose une virtualisation au niveau du système d'exploitation (appelée conteneurs ou zones) depuis 2004. En 2005, la virtualisation matérielle a été introduite dans les processeurs multithread Niagara 1. Dans le même temps, la granularité de la virtualisation était égale à un thread (au total, la puce avait huit cœurs, quatre threads chacun). Pour l'interaction entre le système d'exploitation et l'hyperviseur, une interface publique et stable pour les applications privilégiées a été introduite, cachant la plupart des registres architecturaux au système d'exploitation. Pour traduire les adresses, le schéma à deux niveaux décrit précédemment avec des adresses virtuelles, réelles et physiques est utilisé. Cependant, le TLB ne stocke pas l'adresse de traduction intermédiaire. Contrairement à POWER et SPARC, l'architecture IA-32 (et son extension AMD64) n'a jamais été contrôlée par une seule entreprise, qui pourrait ajouter une fonctionnalité de (para)virtualisation entre le matériel et le système d'exploitation qui romprait la rétrocompatibilité avec les systèmes d'exploitation existants. De plus, cela viole clairement les conditions d'une virtualisation efficace : environ 17 instructions de service ne sont pas privilégiées, ce qui a empêché la création de moniteurs de VM pris en charge par le matériel. Cependant, les moniteurs logiciels ont existé jusqu'en 2006, lorsque Intel a introduit la technologie VT-x et qu'AMD a introduit la technologie AMD-V similaire, mais incompatible. De nouveaux modes de processeur ont été introduits - VMX root et non root, et les modes de privilèges préexistants 0 à 3 peuvent être utilisés dans les deux. La commutation entre les modes peut être effectuée à l'aide des nouvelles instructions vmxon et vmxoff.

Pour stocker l'état des systèmes invités et du moniteur, une nouvelle structure VMCS (virtual machine control structure) est utilisée, dont des copies se trouvent dans la mémoire physique et sont accessibles au moniteur VM.

Une solution intéressante est la possibilité de configurer les événements de l'invité qui déclencheront un événement d'interruption et seront transmis à l'hyperviseur, et ceux qui seront traités par le système d'exploitation. Par exemple, pour chaque invité, vous pouvez choisir si les interruptions externes seront gérées par lui ou par le moniteur ; écrire dans quels bits des registres de contrôle CR0 et CR4 seront interceptés ; quelles exceptions doivent être gérées par le client et lesquelles par le moniteur, etc. Cette décision permet d'obtenir un compromis entre le degré de contrôle sur chaque VM et l'efficacité de la virtualisation. Ainsi, pour les invités de confiance, le contrôle du moniteur peut être affaibli, tandis que les systèmes d'exploitation tiers exécutés simultanément avec eux seront toujours sous sa stricte surveillance. Pour optimiser le fonctionnement du TLB, la technique décrite ci-dessus consistant à marquer ses entrées à l'aide de l'ASID (identifiant de l'espace d'adressage) est utilisée. Pour accélérer le processus de traduction d'adresses, le système de traduction à deux niveaux a été nommé Intel EPT (extended page walk). Intel a ajouté la virtualisation matérielle à Itanium (technologie VT-i) en même temps que l'IA-32, en 2006. Le mode spécial a été activé à l'aide d'un nouveau bit dans le registre d'état PRS.vm. Avec ce bit activé, les instructions de service précédemment mais non privilégiées commencent à provoquer une interruption et une sortie vers le moniteur. Pour revenir au mode OS invité, utilisez l'instruction vmsw. Une partie des instructions, qui sont des instructions de service, lorsque le mode de virtualisation est activé, génère le nouveau genre exception synchrone, pour laquelle son propre gestionnaire est alloué.

Étant donné que le système d'exploitation accède au matériel via une interface spéciale PAL (niveau d'abstraction du processeur), cette dernière a été étendue pour prendre en charge des opérations telles que la création et la destruction d'environnements invités, la sauvegarde et le chargement de leur état, la configuration des ressources virtuelles, etc. On peut noter que l'ajout de la virtualisation matérielle à l'IA-64 a nécessité moins d'efforts que l'IA-32.

L'architecture ARM était initialement destinée aux systèmes embarqués et mobiles, dont la virtualisation efficace, comparée aux systèmes serveurs, n'a pas longtemps été un facteur clé de succès commercial et technologique. Cependant, ces dernières années, on a constaté une tendance à utiliser des machines virtuelles sur les appareils mobiles pour protéger les parties critiques du code du système, telles que les clés cryptographiques utilisées pour traiter les transactions commerciales. De plus, les processeurs ARM ont commencé à s'implanter sur le marché des serveurs, ce qui a nécessité une extension de l'architecture et l'ajout de fonctionnalités telles que la prise en charge de grandes quantités de mémoire et la virtualisation. Ces deux aspects se reflètent dans l'approche choisie par ARM pour le développement de son architecture. En figue. La figure 4 montre un diagramme impliquant l'imbrication de deux niveaux de virtualisation, introduits en 2010 dans une mise à jour de l'architecture Cortex A15. Riz. 4 : virtualisation ARM. Le moniteur TrustZone assure l'isolation et l'authentification cryptographique du monde de confiance. Dans le « monde » normal, le propre moniteur de la VM est utilisé. Pour assurer l’isolation des composants critiques, la première couche de virtualisation, appelée TrustZone, est utilisée. Avec son aide, tous les composants logiciels en cours d'exécution sont divisés en deux « mondes » : fiable et normal. Dans le premier environnement, les parties du système sont exécutées dont le fonctionnement ne doit pas être soumis à influences extérieures code régulier. Dans le deuxième environnement, les applications utilisateur et le système d'exploitation sont exécutés, ce qui pourrait théoriquement être compromis. Cependant, le « monde » ordinaire n’a pas accès au monde de confiance. Le moniteur TrustZone fournit un accès inversé, permettant à un code fiable de surveiller l'état du matériel. La deuxième couche de virtualisation s'exécute sous le contrôle d'un moniteur non fiable et offre la possibilité de multiplexer le travail de plusieurs systèmes d'exploitation utilisateur. Il ajoute de nouvelles instructions HVC et ERET pour entrer et sortir du ou des modes hyperviseur. Pour les événements d'interruption, le vecteur d'interruption précédemment réservé 0x14 a été utilisé, de nouveaux registres ont été ajoutés : le pointeur de pile SPSR, l'état des ressources virtuelles HCR et le registre « syndrome » HSR, qui stocke la raison pour laquelle l'invité a quitté le moniteur, qui permet à ce dernier d'analyser rapidement la situation et d'émuler les fonctionnalités nécessaires sans lecture excessive de l'état de l'invité. Tout comme cela a été fait dans les architectures évoquées précédemment, pour accélérer les mécanismes de traduction d'adresses, un schéma à deux niveaux est utilisé, dans lequel les adresses physiques du système d'exploitation invité sont intermédiaires. Les interruptions externes peuvent être configurées soit pour être transmises au moniteur, qui les redirige ensuite vers l'invité à l'aide du mécanisme d'interruption virtuelle, soit pour être envoyées directement au système invité. Les processeurs MIPS ont évolué dans la direction opposée à celle observée pour ARM : des systèmes hautes performances aux systèmes embarqués et mobiles. Cependant, la virtualisation matérielle est apparue relativement récemment, en 2012. L'architecture MIPS R5 a introduit le mode de virtualisation MIPS VZ. Il est disponible pour les options d'architecture 32 bits et 64 bits. L'état architectural ajouté vous permet de stocker séparément le contexte de la VM et du moniteur. Par exemple, pour les besoins de l'hyperviseur, une copie du registre système COP0 a été introduite, indépendante de la copie invitée. Cela permet d'optimiser le temps de commutation entre eux, tandis que la commutation entre plusieurs systèmes d'exploitation invités nécessite la mise à jour de COP0 avec le contenu de la mémoire et est moins efficace. De plus, une partie des bits du registre invité, qui décrivent l'ensemble des capacités de la version actuelle de l'architecture et n'étaient donc auparavant utilisés qu'en lecture, sont inscriptibles depuis le mode moniteur, ce qui lui permet de déclarer des capacités différentes. de ceux réellement présents sur l’hôte.

Les privilèges de l'hyperviseur, du système d'exploitation et de l'utilisateur forment ce qu'on appelle. modèle oignon. Dans celui-ci, le traitement des interruptions s'effectue de l'extérieur vers l'intérieur, c'est-à-dire Tout d'abord, chacun d'eux est vérifié pour sa conformité aux règles du moniteur, puis du système d'exploitation. Les exceptions synchrones (pièges), au contraire, sont traitées d'abord par le système d'exploitation, puis par le moniteur.

Tout comme cela a été fait dans les architectures évoquées précédemment, les balises du TLB et la traduction à deux niveaux dans la MMU sont utilisées pour accélérer les mécanismes de traduction d'adresses. Pour prendre en charge le développement d'invités de paravirtualisation, une nouvelle instruction hypercall a été ajoutée, qui provoque un piège et une sortie en mode surveillance. En conclusion, nous examinerons d'autres problèmes liés à la garantie d'une virtualisation efficace liée à la commutation entre les modes moniteur et VM. Les interruptions fréquentes de la machine virtuelle dues à la nécessité d'accéder au moniteur affectent négativement la vitesse de simulation. Bien que les fabricants de processeurs s'efforcent de réduire la latence associée à ces transitions (voir le tableau 1 pour un exemple), elles sont encore suffisamment importantes pour que des tentatives soient faites pour minimiser leur fréquence d'apparition.

Microarchitecture Date de lancement Latence, cycles d'horloge
Prescott 3 m² 2005 3963
Mérom 2 m² 2006 1579
Penryn 1 m² 2008 1266
Néhalem 3 m² 2009 1009
Westmere 1 m² 2010 761
Pont de Sable 1 m² 2011 784
Tableau 1. Durée de transition entre les modes de virtualisation matérielle pour différentes générations de microarchitectures Processeurs Intel IA-32 (données tirées de)

Si l'exécution directe utilisant la virtualisation est inefficace, il est logique de passer à un autre schéma de fonctionnement, par exemple l'interprétation ou la traduction binaire (voir ma série d'articles sur IDZ : 1, 2, 3).

Dans la pratique d'exécution du système d'exploitation, une situation typique est que les instructions qui provoquent des interruptions de flux de contrôle forment des clusters dans lesquels deux ou plusieurs d'entre elles sont proches les unes des autres, tandis que la distance entre les clusters est importante. Le bloc de code suivant pour IA-32 montre un exemple d'un tel cluster. Un astérisque indique toutes les instructions qui entraînent une sortie sur le moniteur. * en %al,%dx * en sortie $0x80,%al mov %al,%cl mov %dl,$0xc0 * en sortie %al,%dx * en sortie $0x80,%al * en sortie %al,%dx * en sortie $0 x80,%al Afin d'éviter de répéter le scénario : quitter la VM vers le moniteur, interpréter l'instruction, revenir à la VM uniquement pour quitter à nouveau le moniteur à l'instruction suivante, l'aperçu de l'instruction est utilisé. Une fois l'interruption traitée, avant que le moniteur ne redonne le contrôle à la machine virtuelle, le flux d'instructions est analysé plusieurs instructions à l'avance pour rechercher des instructions privilégiées. S'ils sont détectés, la simulation passe temporairement en mode de traduction binaire. Cela évite l’impact négatif de l’effet de clustering des instructions privilégiées. La situation dans laquelle un moniteur de machine virtuelle s'exécute sous le contrôle d'un autre moniteur s'exécutant directement sur le matériel est appelée virtualisation récursive. Théoriquement, cela ne peut pas être limité à seulement deux niveaux : à l'intérieur de chaque moniteur de VM, le suivant peut être exécuté, formant ainsi une hiérarchie d'hyperviseurs. La possibilité d'exécuter un hyperviseur sous le contrôle d'un moniteur VM (ou, ce qui revient au même, d'un simulateur) a une valeur pratique. Tout moniteur de VM est un programme assez complexe pour lequel les méthodes habituelles de débogage des applications et même du système d'exploitation ne sont pas applicables, car il se charge très tôt dans le fonctionnement du système, lorsqu'il est difficile de connecter un débogueur. L'exécution sous le contrôle du simulateur permet d'inspecter et de contrôler son fonctionnement dès la première instruction. Goldberg et Popek, dans leurs travaux mentionnés précédemment, ont examiné les questions de support efficace, y compris la virtualisation récursive. Cependant, leurs conclusions ne prennent malheureusement pas en compte bon nombre des caractéristiques mentionnées ci-dessus des systèmes modernes. Considérons l'une des difficultés liées aux spécificités du lancement imbriqué des moniteurs de VM : la gestion des interruptions et des interruptions. Dans le cas le plus simple, le moniteur le plus externe est toujours chargé de traiter tous les types de situations d'exception, dont la tâche est soit de traiter l'événement de manière indépendante, le « cachant » ainsi aux autres niveaux, soit de le transmettre au suivant. Tant pour les interruptions que pour les pièges, cela est souvent sous-optimal : l'événement doit passer par plusieurs niveaux de la hiérarchie, dont chacun introduira un retard dans son traitement. En figue. La figure 5 montre le traitement de deux types de messages : une interruption survenue dans le matériel externe et une interruption de flux de contrôle survenue au sein de l'application.

Riz. 5 : Virtualisation récursive. Tous les événements doivent être traités par un moniteur externe, ce qui les pousse vers le bas de la hiérarchie, ce qui crée un délai. Pour une gestion optimale des différents types d'interruptions et d'interruptions, un niveau de la hiérarchie du moniteur VM doit être sélectionné pour chacun d'eux, et quand un événement se produit, le contrôle doit être transféré directement à ce niveau, en contournant traitement supplémentaire niveaux supérieurs et sans les frais généraux associés. Les fabricants de processeurs accordent beaucoup moins d'attention à la tâche de prise en charge matérielle du deuxième ou de plusieurs niveaux d'imbrication de virtualisation qu'à son premier niveau. Pourtant, de tels travaux existent. Ainsi, dans les années 80 du XXe siècle, pour les systèmes IBM/370, la possibilité de lancer des copies du logiciel système à l'intérieur du système d'exploitation déjà exécuté sur le matériel a été réalisée. Pour cette tâche, l'instruction SIE (démarrer l'exécution interprétée) a été introduite. Il existe des propositions pour une interface entre les couches de virtualisation imbriquées, qui permettrait de prendre en charge efficacement l'imbrication de plusieurs moniteurs de VM, et une implémentation de virtualisation récursive pour IA-32. Cependant, les architectures de processeurs modernes se limitent encore à la prise en charge matérielle d'au plus un niveau de virtualisation.

  1. Goodacre John. Virtualisation accélérée par le matériel dans les processeurs ARM Cortex. 2011. xen.org/files/xensummit_oul11/nov2/2_XSAsia11_JGoodacre_HW_accelerated_virtualization_in_the_ARM_Cortex_processors.pdf
  2. Virtualisation assistée par matériel avec le module de virtualisation MIPS. 2012. www.mips.com/application/login/login.dot?product_name=/auth/MD00994-2B-VZMIPS-WHT-01.00.pdf
  3. Documents de référence Hyperviseur/Sun4v. 2012. kenai.com/projects/hypervisor/pages/ReferenceMaterials
  4. Technologie de virtualisation Intel / F. Leung, G. Neiger, D. Rodgers et al. // Journal technologique Intel. 2006. Vol. 10. www.intel.com/technology/itj/2006/v10i3
  5. McGhan Harlan. Le gHost dans la machine : partie 1 // Rapport sur le microprocesseur. 2007. mpronline.com
  6. McGhan Harlan. Le gHost dans la machine : partie 2 // Rapport sur le microprocesseur. 2007. mpronline.com
  7. McGhan Harlan. Le gHost dans la machine : partie 3 // Rapport sur le microprocesseur. 2007. mpronline.com
  8. Popek Gerald J., Goldberg Robert P. Exigences formelles pour les architectures virtualisables de troisième génération // Communications de l'ACM. Vol. 17. 1974.
  9. Gabriel du Sud. Analyse de la planification du processeur de la VM SMP. 2008. cs.gmu.edu/~hfoxwell/cs671projects/southern_v12n.pdf
  10. Yang Rongzhen. Tampon de recherche de traduction virtuelle. 2008. www.patentlens.net/patentlens/patent/US_2008_0282055_A1/en.
  11. Techniques logicielles pour éviter les sorties de virtualisation matérielle / Ole Agesen, Jim Mattson, Radu Rugina, Jeffrey Sheldon // Actes de la conférence USENIX 2012 sur la conférence technique annuelle. USENIX ATC"12. Berkeley, Californie, États-Unis : USENIX Association, 2012. P. 35-35. www.usenix.org/system/files/conference/atc12/atc12-final158.pdf
  12. Poon Wing-Chi, Mok A.K. Améliorer la latence du transfert VMExit dans la virtualisation récursive pour l'architecture x86 // System Science (HICSS), 2012 45e Conférence internationale d'Hawaï sur. 2012. P. 5604-5612.
  13. Osisek D. L., Jackson K. M., Gum P. H. Architecture d'exécution interprétative ESA/390, fondement de VM/ESA // IBM Syst. J. - 1991- V. 30, n° 1. - Pp. 34-51. - ISSN : 0018-8670. -DOI : 10.1147/sj.301.0034.
  14. Andy Glew. SIE. - semipublic.comp-arch.net/wiki/SIE
  15. Le projet Turtles : conception et mise en œuvre de virtualisation imbriquée / Muli Ben-Yehuda //. - 2010. - P. 423-436. www.usenix.org/event/osdi10/tech/full_papers/Ben-Yehuda.pdf

habrahabr.ru

Technologie virtuelle

Autres noms d’options identiques : Vanderpool Technology, VT Technology.

L'option Technologie de virtualisation est conçue pour permettre au processeur de prendre en charge la technologie de virtualisation matérielle. Cette option ne peut prendre que deux valeurs – Activé et Désactivé.

  • Principe d'opération
  • Dois-je l'inclure ?

Principe d'opération

Que signifie réellement le terme « virtualisation » ? La technologie de virtualisation permet à un utilisateur de disposer de plusieurs ordinateurs virtuels sur un seul ordinateur physique. Naturellement, cette approche présente souvent de nombreux avantages par rapport à plusieurs ordinateurs physiques, principalement en termes de réduction des coûts d’équipement et de réduction de la consommation d’énergie.

Pour créer des ordinateurs virtuels, un logiciel spécial est requis. Les logiciels de virtualisation les plus connus sont VMWare et Microsoft Virtual PC.

Le cœur de tout système de virtualisation est une technologie appelée Virtual Machine Monitor (VMM). Cette technologie constitue une base solide pour la gestion de la virtualisation. Les fonctions du gestionnaire de machine virtuelle (que l'on appelle aussi parfois hyperviseur) incluent la gestion en temps réel des ressources informatiques et leur répartition entre systèmes virtuels. L'hyperviseur peut transférer des données entre les systèmes et créer disques virtuels.

Virtual Machine Manager vous permet d'exécuter soit plusieurs systèmes d'exploitation (généralement appelés systèmes d'exploitation invités), soit plusieurs copies du même système d'exploitation sur un seul ordinateur. Ses tâches incluent également la gestion des ressources de mémoire, de processeur et de périphérique d'entrée/sortie afin de les répartir entre différents ordinateurs virtuels. De cette manière, l'hyperviseur peut permettre à plusieurs systèmes d'exploitation de partager le même processeur, le rendant ainsi plus efficace.

Cependant, pendant longtemps, la technologie de virtualisation reposait uniquement sur des méthodes logicielles et n'était pratiquement pas prise en charge au niveau matériel, notamment en raison du manque de normes claires. Bien que l'une des premières implémentations de la virtualisation matérielle ait été la prise en charge du mode de fonctionnement virtuel du processeur Intel 8086, intégré au processeur 80386 et aux processeurs Intel ultérieurs (vous pouvez en savoir plus sur les processeurs ici), les capacités de cette technologie étaient néanmoins limité. Aujourd'hui, les principaux fabricants de processeurs, Intel et AMD, proposent leurs propres technologies de virtualisation conçues pour le mode de fonctionnement protégé du processeur.

La version Intel de la technologie de virtualisation s'appelle VT-x. Elle est apparue en 2005. Cette technologie a apporté un certain nombre d'améliorations aux plates-formes serveur et client prenant en charge les logiciels de virtualisation. La technologie VT-x permet à différents systèmes d'exploitation et applications de s'exécuter sur des partitions indépendantes et peut transformer un ordinateur en un ensemble de systèmes d'exploitation virtuels.

La technologie de virtualisation d'AMD s'appelle AMD-V. Elle est apparue pour la première fois dans les processeurs Athlon 64 en 2006. Cette technologie permet de reprendre logiciellement certaines des tâches effectuées par l'hyperviseur et de les simplifier grâce au jeu d'instructions amélioré intégré aux processeurs AMD.

Par rapport à la méthode de virtualisation logicielle, la virtualisation matérielle présente de nombreux avantages. Le fait est que les systèmes d'exploitation conçus pour la plate-forme Intel ont été développés de telle manière que le système d'exploitation devait avoir un accès direct aux ressources matérielles de l'ordinateur. La virtualisation logicielle émulait le matériel nécessaire, et les technologies de virtualisation matérielle permettaient au système d'exploitation d'accéder directement aux ressources matérielles, évitant ainsi toute émulation.

Les extensions de virtualisation de processeur offrent de nouvelles approches de gestion de la virtualisation. En bref, l'essentiel des améliorations peut être décrit comme suit. Les systèmes d'exploitation fournissent différents niveaux accès à des ressources appelées anneaux de protection. Ces anneaux représentent une hiérarchie de privilèges au sein d'une architecture de système informatique. Le niveau le plus privilégié est généralement zéro. Cette couche peut également accéder directement aux ressources.

Dans l'architecture Intel x86 traditionnelle, le noyau du système d'exploitation peut accéder directement au processeur au niveau 0. Cependant, dans un environnement de virtualisation logicielle, le système d'exploitation invité ne peut pas effectuer de travail au niveau 0 car il est occupé par l'hyperviseur. Ainsi, le système d'exploitation invité ne peut fonctionner qu'au niveau 1.

Mais il y a un hic : certaines instructions du processeur ne peuvent être exécutées qu'au niveau 0. Ce problème peut être résolu de plusieurs manières, mais aucune n'est satisfaisante. Par exemple, le système d'exploitation peut être recompilé pour éviter de telles situations, mais cela ne peut être fait que si codes sources de ce système d'exploitation. Cette approche est parfois utilisée et est appelée paravirtualisation.

Mais dans les cas où la paravirtualisation n’est pas possible, une autre solution est généralement utilisée. Le gestionnaire de machine virtuelle intercepte simplement les instructions nécessaires du système d'exploitation invité et les remplace par des instructions sûres. Il va sans dire que cette approche entraîne une baisse significative des performances. En conséquence, les machines virtuelles logicielles sont souvent beaucoup plus lentes que leurs homologues réelles.

Par conséquent, les technologies de virtualisation matérielle d'Intel et d'AMD contiennent non seulement de nouvelles instructions de processeur, mais aussi ce qui a été crucial, vous permettent d'utiliser nouveau niveau privilèges. Désormais, l'hyperviseur peut fonctionner à un niveau inférieur à zéro (cela peut être noté –1), tandis que le système d'exploitation invité a un contrôle total sur le niveau zéro. Ainsi, l'hyperviseur a été épargné de travaux fastidieux inutiles et les performances des machines virtuelles ont considérablement augmenté.

Technologies Intel et AMD ne sont pas identiques en tous points, mais ils offrent des avantages et des fonctionnalités similaires. En plus d'augmenter les performances des machines virtuelles, ils vous permettent d'augmenter le nombre de machines virtuelles sur un système physique, ainsi que d'augmenter le nombre d'utilisateurs de machines virtuelles.

Dois-je l'inclure ?

L'option Technologie de virtualisation (parfois appelée simplement Virtualisation) permet à l'utilisateur de l'ordinateur d'activer la prise en charge de la virtualisation matérielle au niveau du processeur. La sélection de Activé active cette prise en charge et la sélection de Désactivé la désactive.

L'option Technologie de virtualisation ne doit être activée que si vous utilisez votre ordinateur pour exécuter des machines virtuelles. L'activation de la prise en charge matérielle des machines virtuelles peut améliorer considérablement leurs performances. Cependant, si les machines virtuelles ne sont pas utilisées, l'activation de l'option n'affectera en rien les performances de l'ordinateur.