Wie virtualisieren Hypervisoren hochgradig benutzerdefinierte Hardware?

559
Mehrdad

Ich kann verstehen, wie Hypervisoren CPUs, Festplatten usw. virtualisieren können, da diese über allgemein veröffentlichte generische Standards verfügen (z. B. ATA / SCSI, die x86-Virtualisierungsfunktionen usw.), aber wie virtualisieren Hypervisoren Hardware wie GPUs, Bluetooth-Controller usw.? Wireless-LAN-Adapter usw., die häufig Treiber benötigen, bevor sie überhaupt richtig erkannt werden können?

0

1 Antwort auf die Frage

5
Journeyman Geek

Sie tun es nicht. Sie virtualisieren entweder eine Referenzimplementierung (z. B. eine bestimmte VESA-Basiskarte) oder führen ganz einfach die Ports durch, mit denen sie verbunden sind, direkt mit der virtuellen Maschine und lassen dies zu.

Virtualisierung schafft nicht etwas Neues, es schneidet nur das auf, was schon da ist. Keltari vor 12 Jahren 0
@JourneymanGeek: Aber wenn sie die Anforderungen durchlaufen, wie stellen sie dann sicher, dass die Hardware der VMs nicht miteinander in Konflikt steht? Mehrdad vor 12 Jahren 0
Nun, praktisch per Definition können Sie ein Gerät nicht an mehr als ein System weitergeben. In Virtualbox kann ich zum Beispiel einen Filter erstellen, der durch ein USB-Gerät geleitet wird, aber ich konnte nicht zwei Filter gleichzeitig auf demselben Gerät ausführen Journeyman Geek vor 12 Jahren 0
@Mehrdad Es kommt auf das Gerät an. Für USB-Geräte, die sie nicht verstehen, gibt der Hypervisor einem Gastbetriebssystem das Gerät an. Sie lassen einfach nicht mehr als einen Gast gleichzeitig auf das Gerät zugreifen. Wenn sie aufgefordert werden, umzuschalten, simulieren sie eine USB-Trennung und dann eine USB-Verbindung, um das Gerät sauber zu übergeben. Bei einer GPU- oder Netzwerkkarte verfügt der Hypervisor über einen Treiber für das Gerät und zeigt den Hostbetriebssystemen ein virtuelles Gerät an. Der Hypervisor verwendet seine eigene Logik, um zu entscheiden, wie Vorgänge auf den virtuellen Geräten auf dem physischen Gerät dargestellt werden sollen. David Schwartz vor 12 Jahren 0