Aucune fonctionnalité de processeur unique ne permet directement à un microprocesseur d'exécuter plusieurs systèmes d'exploitation *en même temps* de la manière que certains pourraient comprendre intuitivement (comme une véritable exécution parallèle des noyaux du système d'exploitation). Au lieu de cela, il s'agit d'une combinaison de fonctionnalités et de techniques qui permettent *l'apparence* d'une exécution simultanée. Les principales caractéristiques sont :
* Prise en charge de la virtualisation (par exemple, Intel VT-x, AMD-V) : C’est la caractéristique la plus cruciale. Il permet au CPU de créer des machines virtuelles (VM) isolées. Chaque VM possède ses propres ressources matérielles virtualisées (CPU, mémoire, E/S) et peut exécuter un système d'exploitation distinct. Le CPU bascule rapidement entre ces VM, donnant l'illusion d'une exécution simultanée. Il ne s'agit pas d'un véritable parallélisme au niveau du noyau du système d'exploitation ; c'est un changement de contexte rapide.
* Unité de gestion de la mémoire (MMU) : La MMU est essentielle à la fois pour la virtualisation et pour le multitâche général. Il mappe les adresses virtuelles utilisées par chaque système d'exploitation et application avec des adresses de mémoire physique, garantissant que chaque système d'exploitation pense disposer d'un accès exclusif à la mémoire.
* Changement de contexte rapide : La capacité du processeur à basculer rapidement entre différents processus et machines virtuelles est également cruciale pour la réactivité d'un système exécutant plusieurs systèmes d'exploitation.
Il est important de noter que même si la virtualisation permet d'exécuter plusieurs systèmes d'exploitation simultanément, ils ne s'exécutent généralement pas *simultanément* dans le sens d'un traitement parallèle où plusieurs noyaux de système d'exploitation exécutent des instructions exactement au même instant sur le même cœur de processeur (à moins d'utiliser également la technologie hyper-threading ou multicœur). Au lieu de cela, le processeur bascule rapidement entre les systèmes d'exploitation, donnant l'impression d'un fonctionnement simultané.
|