Virtualisierungseinstellungen im BIOS. Hardware-Virtualisierung. So aktivieren Sie die Virtualisierung im BIOS. Installieren des VirtualBox-Dienstprogramms

Bei der Arbeit mit Softwareprodukt Bei der VirtualBox-Virtualisierung treten häufig Probleme und Störungen im Zusammenhang mit der Installation eines bestimmten Betriebssystems auf einer virtuellen Maschine auf. Die Gründe für Fehler im Betrieb können unterschiedlich sein und einer davon besagt, dass „Hardwarebeschleunigung (VT-x AMD-V) ist auf Ihrem System nicht verfügbar“, werden wir in diesem Artikel verstehen.

In diesem Fall trat ein solches Problem während der Installation des Betriebssystems auf. Windows-Systeme 8, obwohl bei der Installation von Windows 7 ein solcher Fehler nicht auftrat. Wie können wir entscheiden dieses Problem? Finden wir es weiter unten heraus.

Daher müssen wir zunächst sicherstellen, dass der Prozessor die Funktion unterstützt VT-x/AMD-V, Lesen Sie dazu den Artikel So überprüfen Sie, ob Ihr Prozessor die Hardwarevirtualisierung Intel VT-x/VT-d und AMD-V unterstützt. Und um es zu aktivieren, müssen Sie zu gehen Motherboard-BIOS Gebühren. Starten Sie dazu den Computer neu und rufen Sie das BIOS unseres Systems auf.

Um zu gehen BIOS, müssen wir beim Einschalten des Computers eine Taste drücken Löschen auf der Tastatur. (Wenn es nicht mit der Taste eingegeben werden kann löschen Versuch es F1, F2) Wenn Sie den Computer einschalten, können Sie normalerweise auf dem Startbildschirm sehen, zu welcher Taste Sie führen BIOS.

Dadurch gelangen wir in das BIOS unseres Computers. Wählen Sie als nächstes die Registerkarte „ Fortschrittlich". Dort sehen wir die Registerkarte „ CPU-Konfiguration“ Wählen Sie es aus und drücken Sie „ Eingeben"

Wir gelangen zum Konfigurationsmenü, wo wir die Registerkarte sehen „Sicherer virtueller Maschinenmodus“ Gegenteil ist der Wert "Deaktiviert" Was bedeutet deaktiviert? Wir müssen es nur aktivieren. Klicken Sie dazu auf die Registerkarte und wählen Sie den Wert aus "Ermöglicht".

Wie wir in der Abbildung sehen, hat sich der Wert geändert. Jetzt müssen wir die vorgenommenen Änderungen speichern.

Um die vorgenommenen Änderungen zu speichern, gehen Sie zur Registerkarte "Ausfahrt" Wählen Sie dann die Registerkarte aus „Beenden und Änderungen speichern“. Klicken Sie im sich öffnenden Fenster, in dem wir aufgefordert werden, die vorgenommenen Änderungen zu speichern, auf "OK" und warten Sie, bis der Computer neu startet.

Öffnen Sie als Nächstes das VirtualBox-Programm und gehen Sie zu „ Einstellungen" das System, das Sie installieren wollten, in meinem Fall ist es Windows 8.1. Klicken Sie auf die Registerkarte „ System", Weiter "Beschleunigung", Aktivieren Sie die Kontrollkästchen neben den im Bild angezeigten Elementen und klicken Sie "OK."

Alle! Der Fehler tritt nicht mehr auf, Sie können mit der Installation beginnen.

UM Geben Sie Ihre Meinung zu diesem Artikel ab und stellen Sie natürlich Ihre Fragen, wenn bei Ihnen plötzlich etwas schief geht.

Vielen Dank für Ihre Aufmerksamkeit!

Hallo zusammen! Jetzt werden wir über ein so verwirrendes Thema sprechen, das so klingt: Wie aktiviert man die Virtualisierung im BIOS? Versuchen wir auch herauszufinden, warum dies im Allgemeinen getan werden muss.

Also, meine Freunde, wenn wir reden in einfachen Worten, dann wird diese Technologie für den Betrieb verschiedener virtueller Softwaremaschinen und Emulatoren benötigt. Mit seiner Hilfe steigert sich die Leistung solcher Software deutlich.

Und das ist nichts weiter als ein Aufruf, diese verdammte Virtualisierung zu ermöglichen. Schließlich wird diese Technologie als VT-x oder AMD-V abgekürzt. Es hängt alles davon ab, in welchem ​​Prozess des Herstellers es verwendet wird.

Versuchen wir nun, die ersten Schritte in die richtige Richtung zu machen. Um genau diese Funktion tatsächlich zu aktivieren, müssen wir zunächst das BIOS aufrufen. Deshalb von Worten zu Taten.

Erwähnenswert ist natürlich gleich, dass jeder Hersteller einen BIOS-Eintrag und Abschnitte darin hat. Aber der Klarheit halber und als Beispiel alles Weitere Maßnahmen wird auf Ihrem Lenovo Laptop angezeigt.

Gehen wir also hinein und gehen sofort zum Abschnitt „Konfiguration“. Dort finden wir den so dringend benötigten Punkt „Intel Virtual Technology“ und aktivieren ihn durch Auswahl des Wertes „Aktivieren“:

Das ist alles, jetzt ist die Virtualisierung im BIOS aktiviert, Sie können sie verwenden. Es bleibt nur noch das Speichern der vorgenommenen Änderungen. Gehen Sie dazu in den Bereich „Beenden“ und wählen Sie den Punkt „Änderungen speichern beenden“ aus:

Aber lassen Sie uns abschließend noch ein wenig über eine nicht sehr angenehme Nuance sprechen, auf die Sie möglicherweise stoßen, einschließlich der oben beschriebenen Technologie. Die Sache ist, dass einige Hersteller es standardmäßig blockieren.

Das heißt, die Computerhardware kann die Virtualisierung unterstützen, das BIOS kann das gewünschte Element jedoch nicht aktivieren. In diesem Fall werden Sie leider nicht mit wenig Blut davonkommen.

Im Internet gibt es viele Informationen darüber, wie man eine solche Sperre entfernen kann. Aber wir müssen gleich sagen, dass es eindeutig nicht für den Durchschnittsbenutzer gedacht ist, da es spezielle Computerkenntnisse erfordert:

Und unsere Geschichte über die Ermöglichung der Virtualisierung geht zu Ende. Wenn Sie Fragen haben, stellen Sie diese bitte in den Kommentaren zum Artikel. Und jetzt laden wir alle Neugierigen ein, sich ein sehr interessantes Video anzusehen.

So aktivieren Sie die Virtualisierung im BIOS – diese Frage haben Sie wahrscheinlich bereits gestellt. Andere Benutzer haben vielleicht schon von der Virtualisierungstechnologie gehört, wissen aber nicht, welche Vorteile sie bietet und was sie mit sich bringt. Wir werden versuchen, diese Fragen in diesem Artikel zu berücksichtigen.

Was bedeutet zunächst einmal das Konzept der Virtualisierung? Unter Virtualisierung in Computertechnologien Dazu gehört die Modellierung von Hardware mithilfe von Softwaremethoden. Mit Hilfe der Virtualisierungstechnologie können Sie mit nur einem ausreichend leistungsstarken physischen Computer mehrere virtuelle, also per Software simulierte Computer erstellen.

Hauptvorteile der Virtualisierung:

  • Verbesserung der Hardwareeffizienz
  • Reduzierung der Materialkosten
  • Optimierung der Ressourcenallokation
  • Erhöhte Arbeitssicherheit
  • Vereinfachte Verwaltung
  • Erhöhte Zuverlässigkeit

Um virtuelle Systeme zu erstellen, wird eine spezielle Software namens Hypervisor verwendet. Aufgrund einer Reihe von Funktionen älterer Prozessoren mit Intel-Architektur konnte der Hypervisor diese jedoch nicht optimal nutzen Rechenleistung um virtuelle Maschinen zu erstellen.

Daher führende PC-Prozessor-Entwickler Intel und AMD haben eine sogenannte Hardware-Virtualisierungstechnologie entwickelt, die die Leistung von Prozessoren auf eine Weise optimiert, die die Effizienz von Virtualisierungssoftware erheblich verbessert. Intels Version der Hardware-Virtualisierungsunterstützungstechnologie heißt Intel-VT und AMDs Version heißt AMD-V.

Virtualisierungsunterstützung

Da die Hardware-Virtualisierungstechnologie in den Zentralprozessor eingebettet ist, ist es erforderlich, dass sein Computer dies unterstützt, damit der Benutzer die Vorteile der Virtualisierung in vollem Umfang nutzen kann diese Technologie auf Prozessorebene. Darüber hinaus ist auch Technologieunterstützung durch BIOS und Betriebssystem erforderlich. In BIOSen, die Hardwarevirtualisierung unterstützen, hat der Benutzer die Möglichkeit, die Virtualisierungsunterstützung im BIOS-Setup zu aktivieren oder zu deaktivieren. Bitte beachten Sie, dass es Chipsätze für Motherboards auf Basis von AMD-Prozessoren gibt, bei denen die Virtualisierungsunterstützung nicht deaktiviert werden kann.

Aktivieren der Virtualisierung im BIOS

Wie kann man also die Virtualisierung im BIOS aktivieren? Um die Virtualisierung im BIOS zu aktivieren oder zu deaktivieren, gibt es eine spezielle Option Virtualization Technology. Normalerweise finden Sie diese Option in den BIOS-Abschnitten „Chipsatz“ oder „Prozessor“.

Wenn Sie den Wert auf „Aktiviert“ setzen, können Sie normalerweise die Hardwarevirtualisierung aktivieren, und wenn Sie den Wert auf „Deaktiviert“ setzen, wird sie deaktiviert. Es ist zu beachten, dass sich die Aktivierung der Option nur auf die Leistung virtueller Maschinen auswirkt, die im Hypervisor ausgeführt werden, und in keiner Weise auf die Leistung regulärer Betriebssystemprogramme. Wir haben diese Option im entsprechenden Artikel ausführlicher besprochen.

Abschluss

Virtualisierung ist ein leistungsstarkes Werkzeug, mit dem Sie die Fähigkeiten von Computersystemen erweitern und vorhandene Systeme möglichst effizient nutzen können Hardware. Die meisten modernen Computer verfügen über im Prozessor integrierte Lösungen, die ihre Leistung bei der Verwendung virtueller Maschinen verbessern können. Darüber hinaus basieren die meisten Computer auf Intel-Prozessoren und AMD hat die Möglichkeit, die Unterstützung für Hardware-Virtualisierung zu konfigurieren.

Heutzutage richten immer mehr moderne Computersysteme ihr Augenmerk auf Virtualisierungstechnologien. Zwar versteht nicht jeder genau, was es ist, warum es benötigt wird und wie Fragen seiner Einbeziehung oder praktischen Verwendung gelöst werden können. Nun schauen wir uns an, wie man mit der einfachsten Methode die Virtualisierung im BIOS aktiviert. Wir stellen sofort fest, dass diese Technik auf absolut alle bestehenden Systeme anwendbar ist, insbesondere auf das BIOS und das UEFI-System, das es ersetzt hat.

Was ist Virtualisierung und warum wird sie benötigt?

Bevor wir beginnen, das Problem der Aktivierung der Virtualisierung im BIOS direkt zu lösen, schauen wir uns an, was diese Technologie ist und warum sie benötigt wird.

Die Technologie selbst ist für den Einsatz in beliebigen Betriebssystemen sogenannter virtueller Maschinen gedacht, die reale Computer mit all ihren Hard- und Softwarekomponenten nachbilden können. Mit anderen Worten, Sie können im Hauptsystem einen bestimmten virtuellen Computer mit einer Auswahl an Prozessoren erstellen. Arbeitsspeicher, Video- und Soundkarte, Netzwerkadapter, Festplatte, optische Medien und Gott weiß was noch, einschließlich der Installation eines Gast-(Tochter-)„Betriebssystems“, das sich nicht von einem echten Computerterminal unterscheidet.

Arten von Technologien

Falls es jemand nicht weiß: Virtualisierungstechnologien wurden von führenden Prozessorherstellern entwickelt – Intel- und AMD-Konzernen, die sich in diesem Bereich auch heute noch nicht die Palme teilen können. Zu Beginn des Zeitalters schuf der Hypervisor ( Software Zum Fahren virtuelle Maschinen) von Intel erfüllte nicht alle Leistungsanforderungen, weshalb mit der Entwicklung der Unterstützung virtueller Systeme begonnen wurde, die in die Prozessorchips selbst „fest verdrahtet“ werden mussten.

Intel nannte diese Technologie Intel-VT-x und AMD nannte sie AMD-V. Somit optimierte der Support die Arbeit zentraler Prozessor ohne das Hauptsystem zu beeinträchtigen.

Es versteht sich von selbst, dass die Aktivierung dieser Option in Voreinstellungen Das BIOS sollte nur verwendet werden, wenn eine virtuelle Maschine auf einer physischen Maschine verwendet werden soll, beispielsweise zum Testen von Programmen oder zur Vorhersage des Verhaltens Computersystem mit verschiedenen „Hardware“-Komponenten nach der Installation eines bestimmten Betriebssystems. Andernfalls darf diese Unterstützung nicht genutzt werden. Darüber hinaus ist es standardmäßig komplett ausgeschaltet und hat, wie bereits erwähnt, keinerlei Auswirkungen auf die Leistung des Hauptsystems.

Melden Sie sich beim BIOS an

Was BIOS- oder UEFI-Systeme betrifft, verfügt jeder Computer oder Laptop über sie, unabhängig von der Komplexität der installierten Ausrüstung. Das BIOS selbst auf einem Computer ist ein kleiner Chip Hauptplatine, das für das Testen der Hardware beim Einschalten des Terminals verantwortlich ist. Darin sind trotz des Speichers von nur ca. 1 MB die Grundeinstellungen und Eigenschaften des Gerätes gespeichert.

Abhängig von BIOS-Version B. Hersteller oder Hersteller, kann die Eingabe auf verschiedenen Wegen erfolgen. Am häufigsten wird die Entf-Taste direkt nach dem Einschalten des Computers oder Laptops verwendet. Es gibt jedoch auch andere Methoden, zum Beispiel die Tasten F2, F12 usw.

Wie aktiviert man die Virtualisierung im BIOS am einfachsten?

Lassen Sie uns nun einige grundlegende Parameter und Menüs definieren. Wir gehen davon aus, dass Sie bereits das BIOS auf dem Computer aufgerufen haben. Hier gibt es mehrere Hauptabschnitte, aber in diesem Fall interessiert uns alles, was mit dem Prozessorchip zu tun hat.

Normalerweise sind solche Optionen im Menü „Erweiterte Einstellungen“ oder im Abschnitt „Sicherheit“ enthalten. Sie können auch anders heißen, in der Regel handelt es sich jedoch um Prozessor oder BIOS-Chipsatz (obwohl auch andere Namen vorkommen können).

Nun kann die Frage ernst genommen werden, wie man die Virtualisierung im BIOS aktiviert. In den obigen Abschnitten gibt es eine spezielle Zeile Virtualisierungstechnologie (im Fall von Intel wird der Name des Unternehmens zum Hauptnamen hinzugefügt). Wenn Sie das entsprechende Menü aufrufen, zwei verfügbarer Parameter: Aktiviert und Deaktiviert. Wie bereits klar ist, handelt es sich beim ersten um den aktivierten Virtualisierungsmodus, beim zweiten um die vollständige Deaktivierung.

Gleiches gilt für das UEFI-System, bei dem die Aktivierung dieser Option auf völlig ähnliche Weise erfolgt.

Nachdem das BIOS nun auf den aktivierten Modusparameter eingestellt wurde, müssen Sie nur noch die Änderungen speichern (F10 oder den Befehl Save & Exit Setup) und die Bestätigungstaste Y drücken, die dem englischen Wort Yes entspricht. Das System startet automatisch mit den neu gespeicherten Parametern neu.

Was sollten Sie darüber hinaus noch wissen?

Wie Sie sehen, ist das Verfahren zum Aktivieren der Virtualisierung im BIOS recht einfach. Allerdings sind hier einige Feinheiten hinsichtlich der möglichen Deaktivierung dieser Funktion zu beachten. Tatsache ist, dass bei der Verwendung virtueller Maschinen wie WMware Virtual Machine, Virtual PC, VirtualBox oder sogar des „nativen“ Microsoft-Moduls namens Hyper-V diese Option auch bei aktivierter Unterstützung aktiviert sein muss Windows-Komponenten direkt in den Systemeinstellungen.

Dies gilt größtenteils für neuere Modifikationen von Windows, beginnend mit „sieben“. In „expish“ oder „Vista“ ist dies keine Voraussetzung. Wenn solche Betriebssysteme jedoch auf der neuesten Hardware installiert sind, ist möglicherweise auch eine Aktivierungsunterstützung erforderlich. Es ist jedoch unwahrscheinlich, dass ein Benutzer auf einem solchen Computer ein veraltetes Betriebssystem installiert, das es ihm nicht ermöglicht, das Maximum aus der Computerhardware herauszuholen, zu der es in der Lage ist. Daher ist es besser, die neuesten Hardwarekomponenten in Kombination zu verwenden, nicht nur die meisten letzte Version Betriebssysteme, aber auch mit Diagnosesystemen und UEFI-Steuerungen, die das so lange gediente BIOS ablösten.

fb.ru

Wie aktiviere ich die Hardware-Virtualisierung im BIOS? Virtualisierungstechnologie – Hardware-Virtualisierungstechnologie für Gastbetriebssystem (mit Foto) – BIOS-Setup

Option „Virtualisierungstechnologie“. Durch die Aktivierung dieser Option wird die Hardware-Virtualisierungstechnologie basierend auf einer speziellen Prozessorarchitektur aktiviert. Im Gegensatz zur Softwarevirtualisierung ermöglicht diese Technik die Verwendung isolierter Gastsysteme (virtuelle Maschinen – VMware, Virtual PC usw.), die direkt vom Hypervisor gesteuert werden. Das Gastsystem ist unabhängig von der Hostplattformarchitektur und der Implementierung der Virtualisierungsplattform.

Diese Option hat praktisch keine Auswirkungen auf den Betrieb von Benutzerprogrammen in einem Standardbetriebssystem.

Optionswerte:

Die Option kann auch andere Namen haben:

  • Virtualisierungs-Technologie
  • Vanderpool-Technologie
  • VT-Technologie
  • Virtualisierung

Hinweis 1.Hardware-Virtualisierung mit Unterstützung für spezielle Prozessorarchitektur. Die Hardwarevirtualisierung bietet eine Leistung, die mit der einer nicht virtualisierten Maschine vergleichbar ist, was die Virtualisierung praktisch und weit verbreitet macht. Die gängigsten Virtualisierungstechnologien sind Intel-VT und AMD-V.

  1. Intel VT (Intel Virtualization Technology) implementiert die Virtualisierung im echten Adressierungsmodus (8086-Kompatibilitätsmodus). Die entsprechende Hardware-I/O-Virtualisierung ist VT-d. Wird oft als VMX (Virtual Machine eXtension) abgekürzt. Codename - Vanderpool.
  2. AMD-V wird oft als SVM (Secure Virtual Machines) abgekürzt. Codename: Pacifica. Die entsprechende I/O-Virtualisierungstechnologie ist IOMMU. AMD-V ist einfacher und effizienter als Intel VT. AMD-V-Unterstützung wurde in Xen 3.3 eingeführt.

Intel VT (Intel Virtualization Technology) – Intel Virtualisierungstechnologie, was ist das?

Intel VT ist die Hardware-Basis dafür Softwareerstellung Virtualisierung durch Reduzierung von Größe, Kosten und Komplexität. Wenn solche Systeme beispielsweise Cache-Speicher verwenden, handelt es sich um ein Eingabe-Ausgabe-System. Es wird hauptsächlich von Anwendern im Unternehmens-, Cloud- und Kommunikationsbereich genutzt.

VT-x Am 13. November 2005 veröffentlichte Intel zwei Pentium 4-Modelle (Modelle 662 und 672), die die ersten Prozessoren waren, die VT-x („Vanderpool“) unterstützten. VT-x ist Intels echte Virtualisierungstechnologie im Adressierungsmodus auf der x86-Plattform – VMX (Virtual Machine eXtension).

Die Virtualisierung des realen Adressierungsmodus wurde implementiert (Kompatibilitätsmodus mit 8086).

VT-d (Virtualization Technology for Directed I/O) ist eine Hardware-I/O-Virtualisierungstechnologie, die von Intel zusätzlich zu seiner VT-x-Computing-Virtualisierungstechnologie entwickelt wurde. Durch die E/A-Virtualisierung können Sie Geräte weiterleiten PCI-Bus(und modernere ähnliche Busse) in das Gastbetriebssystem integrieren, damit es mit seinen Standardtools damit arbeiten kann. Damit dies möglich ist, in Logikschaltungen Das Motherboard verwendet eine dedizierte I/O Memory Management Unit (IOMMU), die ähnlich wie die CPU MMU funktioniert und Seitentabellen und eine spezielle DMA-Remapping-Tabelle (DMAR) verwendet, die der Hypervisor vom BIOS über ACPI erhält. Die DMA-Zuordnung ist erforderlich, da der Hypervisor nichts über die Besonderheiten weiß, wie das Gerät mit Speicher an physischen Adressen arbeitet, die nur dem Treiber bekannt sind. Mithilfe von DMAR werden Zuordnungstabellen erstellt, sodass der Gastbetriebssystemtreiber virtuelle IOMMU-Adressen auf die gleiche Weise sieht, wie er physische Adressen ohne ihn und den Hypervisor sehen würde.

Die Intel Virtualization Technology for Directed I/O (VT-d) ist der nächste wichtige Schritt hin zu umfassender Hardwareunterstützung für Plattformvirtualisierung Intel-basiert. VT-d erweitert die Virtualization Technology (VT)-Funktionen von IA-32 (VT-x) und Itanium (VT-i) und bietet Unterstützung für die Virtualisierung neuer E/A-Geräte. Lesen Sie mehr über technische Seite Die Frage finden Sie hier: https://ru.wikipedia.org/wiki/

Richten Sie das BIOS-Programm von AWARD Software International Inc auf Motherboards von GIGABYTE TECHNOLOGY ein

Standardwert für die Virtualisierung

Mögliche Bedeutung:

BIOS-Optionsbezeichnung Beschreibung der Option im BIOS Übersetzter Wert der BIOS-Option

Hardwareunterstützte Virtualisierungstechnologie, die dazu beiträgt, die Leistung des Systems zu verbessern, auf dem VirtuaI-Maschinensoftware ausgeführt wird.

Mit der virtuellen Maschine können mehrere Betriebssysteme gleichzeitig auf einem Computer ausgeführt werden.

Geräte zur Unterstützung der Virtualisierung sind eine Technologie, die dazu beiträgt, die Leistung eines Systems zu verbessern, das auf einer virtuellen Maschine ausgeführt wird.

Mit einer virtuellen Maschine können Sie mehrere Betriebssysteme gleichzeitig effizienter auf einem Computer ausführen.

Aktivieren Sie keine Hardware-Virtualisierungstechnologie, die auf einer speziellen Prozessorarchitektur basiert.

Beinhaltet Hardware-Virtualisierungstechnologie basierend auf einer speziellen Prozessorarchitektur.

Aptio Setup Utility – BIOS von American Megatrends Inc auf Motherboards von Dell Inc.

Der Name dieser Option für diesen Hersteller in dieser BIOS-Version (Laptop):

Standardwert für die Virtualisierung

Mögliche Bedeutung:

Insyde Software BIOS Insydeh30 Setup Utility auf Motherboards der Hewlett-Packard Company (HP).

Der Name dieser Option für diesen Hersteller in dieser BIOS-Version:

Standardwert der Virtualisierungstechnologie

Diese Option befindet sich auf der Registerkarte: „Systemkonfiguration“

www.NastrojkaBios.ru

So überprüfen Sie, ob Ihr Prozessor die Hardwarevirtualisierung Intel VT-x/VT-d und AMD-V unterstützt

Heute ist bekannt, dass für den Betrieb virtueller Maschinen wie VirtualBox und die Unterstützung der Hardware-Virtualisierung Intel VT-x/VT-d und AMD-V notwendig ist VMware Workstation sowie für den Betrieb sogenannter Emulatorprogramme für mobile Betriebssysteme, beispielsweise für Android OS.

Heutzutage unterstützen fast alle modernen Computer diese Technologie, aber natürlich gibt es auch solche, die dies nicht tun. Und um herauszufinden, ob unser Prozessor diese Technologie unterstützt, gehen wir zunächst in das BIOS unseres Computers und schauen, ob dort die Einstellung vorhanden ist, die uns interessiert. Ich habe dem Artikel mehrere Beispiele hinzugefügt, wie das Element zur Aktivierung der Virtualisierung aussieht verschiedene Versionen BIOS. Grundsätzlich befindet sich die Aufnahme dieses Parameters auf der Registerkarte „Erweitert“, dann, wie im Bild unten zu sehen ist, unter dem Namen Intel Virtualization Technology und es gibt versteckte Beweise dafür dieser Computer unterstützt diese Technologie.

In dieser BIOS-Version gehen wir zur Registerkarte „Erweiterte BIOS-Funktionen“, wo wir auch Unterstützung für diese Technologie im Element „Virtualisierung“ sehen.

Und hier im Punkt „Erweiterte BIOS-Funktionen“ können Sie sehen, dass die Hardware-Virtualisierung vom Prozessor unterstützt wird.

Nun, die letzte Option, bei der wir auf der Registerkarte „Erweitert“ im Element „Sicherer virtueller Maschinenmodus“ auch diese Technologie aktivieren können.

Es gibt aber auch Fälle, in denen es im BIOS unseres Computers keine Option gibt, den sicheren Virtual-Machine-Modus der Hardware-Virtualisierung oder die Intel-Virtualisierungstechnologie zu aktivieren, obwohl es heißt, dass der Prozessor in Ihrem Computer diese Technologie unterstützt. Um dies sicherzustellen, hilft uns ein kleines Dienstprogramm namens SecurAble, das genau anzeigt, ob unser Prozessor Hardwarevirtualisierung unterstützt. Gehen Sie über den Link https://www.grc.com/securable.htm zur offiziellen Website des Herstellers, wo wir unten auf den Punkt „Jetzt herunterladen“ klicken. Der Download beginnt, dann starten wir das Programm, eine Installation ist nicht erforderlich, da es sich um eine portable Version handelt.

Nach dem Start zeigt das Programm sofort Informationen darüber an, ob Ihr Prozessor die Virtualisierungstechnologie unterstützt oder nicht. Sie können dies im dritten Block sehen. Wie Sie vielleicht schon erraten haben: Wenn dort „Ja“ steht, bedeutet das, dass es Unterstützung gibt.

Wenn „Gesperrt AUS“ angezeigt wird, bedeutet dies, dass diese Technologie unterstützt wird, sie jedoch aktiviert sein muss. Und es wird, wie wir bereits wissen, im BIOS unseres Computers aktiviert.

Wenn der Block mit NEIN gekennzeichnet ist, wird die Hardware-Virtualisierungstechnologie von Ihrem Prozessor nicht unterstützt.

Hinterlassen Sie Ihre Meinung zu diesem Artikel und stellen Sie natürlich Ihre Fragen, wenn bei Ihnen plötzlich etwas schief gelaufen ist.

Vielen Dank für Ihre Aufmerksamkeit!

ITremont.info

Hardware-Virtualisierung. Theorie, Realität und Unterstützung in Prozessorarchitekturen

In diesem Beitrag werde ich versuchen, die Gründe und Merkmale der Verwendung von Hardwareunterstützung für die Computervirtualisierung zu beschreiben. Ich beginne damit, drei notwendige Bedingungen für die Virtualisierung zu definieren und die theoretischen Grundlagen für deren Verwirklichung zu formulieren. Anschließend werde ich beschreiben, wie sich die Theorie in der harten Realität widerspiegelt. Zur Veranschaulichung beschreiben wir kurz, wie verschiedene Prozessorhersteller verschiedener Architekturen die Virtualisierung in ihren Produkten implementiert haben. Abschließend wird das Thema der rekursiven Virtualisierung angesprochen. Zunächst ein paar Definitionen, die vielleicht nicht ganz typisch für Artikel zu diesem Thema sind, aber in diesem Artikel verwendet werden.
  • Host ist das Hardwaresystem, auf dem der Monitor oder Simulator der virtuellen Maschine ausgeführt wird.
  • Ein Gast ist ein virtuelles oder simuliertes System, das unter der Kontrolle eines Monitors oder Simulators läuft. Manchmal auch als Zielsystem bezeichnet.
Ich werde versuchen, den Rest der Terminologie so zu definieren, wie er im Text erscheint. Virtualisierung war schon vor der Erfindung des Mikroprozessors von Interesse, zu einer Zeit, als große Systeme vorherrschten – Großrechner, deren Ressourcen sehr teuer waren und deren Ausfallzeiten wirtschaftlich inakzeptabel waren. Die Virtualisierung ermöglichte es, den Nutzungsgrad solcher Systeme zu erhöhen und gleichzeitig Benutzern und Anwendungsprogrammierern die Notwendigkeit zu ersparen, ihre Software neu zu schreiben, da aus ihrer Sicht die virtuelle Maschine mit der physischen identisch war. Der Pionier auf diesem Gebiet war IBM mit den in den 1960er und 1970er Jahren entwickelten Großrechnern System/360 und System/370. Es überrascht nicht, dass etwa zur gleichen Zeit Kriterien für die Fähigkeit entwickelt wurden, einen effektiven Monitor für virtuelle Maschinen zu erstellen. Sie sind im klassischen Werk von Gerald Popek und Robert Goldberg aus dem Jahr 1974 „Formale Anforderungen für virtualisierbare Architekturen der dritten Generation“ formuliert. Betrachten wir die Hauptprämissen und formulieren wir die Hauptschlussfolgerung. Im Folgenden verwenden wir eine vereinfachte Darstellung eines „Standard“-Computers aus dem Artikel, bestehend aus einem Zentralprozessor und linearem homogenem RAM. Auf Peripheriegeräte sowie Möglichkeiten zur Interaktion mit diesen wird verzichtet. Der Prozessor unterstützt zwei Betriebsmodi: den Supervisor-Modus, der vom Betriebssystem verwendet wird, und den Benutzermodus, in dem Anwendungsanwendungen ausgeführt werden. Der Speicher unterstützt einen Segmentierungsmodus zur Organisation des virtuellen Speichers. Anforderungen an einen Monitor für virtuelle Maschinen (VM):
  1. Isolation – Jede virtuelle Maschine sollte nur Zugriff auf die ihr zugewiesenen Ressourcen haben. Der Betrieb des Monitors und anderer VMs sollte dadurch nicht beeinträchtigt werden.
  2. Äquivalenz – jedes Programm, das unter der Kontrolle einer VM ausgeführt wird, muss ein Verhalten zeigen, das völlig identisch mit seiner Ausführung auf einem realen System ist, mit Ausnahme von Auswirkungen, die durch zwei Umstände verursacht werden: Unterschiede in der Anzahl der verfügbaren Ressourcen (z. B. verfügt die VM möglicherweise über weniger). Speicher) und Dauer von Vorgängen (von -für die Möglichkeit, die Ausführungszeit mit anderen VMs zu teilen).
  3. Effizienz – in der Originalarbeit wird die Bedingung wie folgt formuliert: „Eine statistisch dominante Teilmenge der Anweisungen des virtuellen Prozessors muss direkt vom Host-Prozessor ausgeführt werden, ohne dass der VM-Monitor eingreifen muss.“ Mit anderen Worten: Ein erheblicher Teil der Anweisungen muss im direkten Ausführungsmodus simuliert werden. Die Effizienzanforderung ist die zweideutigste der drei aufgeführten Anforderungen und wir werden später darauf zurückkommen. Bei Simulatoren, die auf der Interpretation von Anweisungen basieren, ist die Effizienzbedingung nicht erfüllt, weil Jede Gastanweisung erfordert eine Bearbeitung durch den Simulator.
Der Prozessorstatus enthält mindestens drei Register: M, das bestimmt, ob er sich im Supervisor- oder Benutzer-U-Modus befindet, P – ein Zeiger auf den aktuellen Befehl und R – ein Status, der die Grenzen des verwendeten Speichersegments bestimmt (im Im einfachsten Fall gibt R ein Segment an, d. h. R = (l,b), wobei l die Adresse des Bereichsanfangs und b seine Länge ist. Speicher E besteht aus einer festen Anzahl von Zellen, auf die über ihre Anzahl t zugegriffen werden kann, beispielsweise E[t]. Die Größe des Speichers und der Zellen ist für diese Überlegung nicht wichtig.

Bei der Ausführung wird jede Anweisung angezeigt Allgemeiner Fall kann sowohl (M,P,R) als auch den Speicher E ändern, d.h. es ist eine Transformationsfunktion: (M1,P1,R1,E1) -> (M2,P2,R2,E2).

Bei einigen Eingabebedingungen wird davon ausgegangen, dass ein Befehl eine Trap-Ausnahme verursacht, wenn sich infolge seiner Ausführung der Inhalt des Speichers nicht ändert, mit Ausnahme der einzigen Zelle E, die den vorherigen Status des Prozessors enthält (M1, P1). , R1). Der neue Zustand des Prozessors (M2, P2, R2) wird von E kopiert. Mit anderen Worten, die Falle ermöglicht es Ihnen, den vollständigen Zustand des Programms im Moment vor Beginn der Ausführung seiner letzten Anweisung zu speichern und die Kontrolle an ihn zu übertragen der Handler, der bei herkömmlichen Systemen normalerweise im Supervisor-Modus arbeitet und dazu dient, zusätzliche Aktionen für den Systemstatus bereitzustellen und dann die Kontrolle an das Programm zurückzugeben und den Status von E wiederherzustellen. Darüber hinaus können Traps zwei Eigenschaften haben.

  1. Verursacht durch einen Versuch, den Zustand des Prozessors zu ändern (Kontrollflussfalle).
  2. Zugriffe auf Speicherinhalte außerhalb des in (Speicherschutz-Trap) definierten Bereichs.
Bitte beachten Sie, dass sich diese Funktionen nicht gegenseitig ausschließen. Das heißt, das Ergebnis der Ausführung kann sowohl eine Kontrollflussfalle als auch eine Speicherschutzfalle sein. Die Maschinenanweisungen des jeweiligen Prozessors lassen sich wie folgt klassifizieren:
  • Privilegiert. Anweisungen, die mit M = u ausgeführt werden, verursachen immer eine Kontrollflussfalle. Mit anderen Worten, eine solche Anweisung kann nur im Supervisor-Modus ausgeführt werden, andernfalls wird definitiv eine Ausnahme ausgelöst.
  • Service (Englisch: sensibel. Ich kenne den etablierten russischen Begriff für dieses Konzept nicht. Manchmal gibt es in der Literatur eine Übersetzung von „sensiblen“ Anweisungen). Die Klasse besteht aus zwei Unterklassen. 1. Anweisungen, die die Ausführung ohne Speicherschutzfalle abgeschlossen haben und eine Änderung in M ​​und/oder R verursacht haben. Sie können den Prozessormodus von Supervisor auf Benutzer oder umgekehrt ändern oder die Position und Größe eines zugänglichen Speichersegments ändern. 2. Befehle, deren Verhalten, wenn sie keine Speicherschutzfalle auslösen, entweder vom Modus von M oder vom Wert von R abhängt.
  • Harmlos (englisch: harmlos). Nicht offiziell. Die umfangreichste Klasse von Befehlen, die nichts anderes als den Befehlszeiger P und den Speicher E manipulieren und deren Verhalten nicht davon abhängt, in welchem ​​Modus oder an welcher Speicheradresse sie sich befinden.
Die Einhaltung der drei oben formulierten Bedingungen für die Möglichkeit des Aufbaus eines virtuellen Maschinenmonitors ist im folgenden Satz gegeben: Der Satz von Dienstanweisungen ist eine Teilmenge von privilegierten Anweisungen (Abb. 1). Wir lassen den formalen Beweis von Satz 1 im Artikel weg und stellen die folgenden Umstände fest.
  • Die Isolierung wird gewährleistet, indem der Monitor in den Supervisor-Modus und die VM nur in den Benutzermodus versetzt wird. Gleichzeitig kann dieser die Systemressourcen nicht freiwillig ändern – ein Versuch führt zu einem Kontrollfluss-Trap auf der Dienstanweisung und einem Sprung zum Monitor sowie zum Speicher, da die Konfiguration dies nicht zulässt, und das Der Prozessor führt einen Speicherschutz-Trap aus.
  • Die Gleichwertigkeit wird dadurch nachgewiesen, dass harmlose Anweisungen unabhängig davon, ob ein Monitor im System vorhanden ist oder nicht, auf die gleiche Weise ausgeführt werden, während Serviceanweisungen immer eine Ausnahme verursachen und interpretiert werden. Beachten Sie, dass selbst in dem oben beschriebenen einfachen Schema die erste Abschwächungsbedingung auftritt: Auch ohne Berücksichtigung des Speicherbedarfs zum Speichern des Codes und der Daten des Hypervisors beträgt die für die VM verfügbare Speichermenge mindestens zwei Zellen weniger die des Host-Systems.
  • Die Effizienz wird dadurch gewährleistet, dass alle harmlosen Anweisungen innerhalb der VM direkt und ohne Verzögerung ausgeführt werden. Dies impliziert, dass ihre Menge „eine statistisch dominante Teilmenge virtueller Prozessoranweisungen“ enthält.

Reis. 1: Die Virtualisierbarkeitsbedingung ist erfüllt. Die Serviceanweisungen stellen eine Teilmenge der privilegierten dar. Trotz der Einfachheit des verwendeten Modells und der daraus gezogenen Schlussfolgerungen ist die Arbeit von Goldberg und Popek immer noch relevant. Es ist zu beachten, dass die Nichteinhaltung der darin beschriebenen Bedingungen die Erstellung oder Nutzung virtueller Maschinen auf einer bestimmten Architektur nicht grundsätzlich unmöglich macht, und es gibt praktische Beispiele für Implementierungen, die dies bestätigen. Es wird jedoch unmöglich, ein optimales Gleichgewicht zwischen den drei Eigenschaften Isolation, Äquivalenz und Effizienz aufrechtzuerhalten. In den meisten Fällen müssen Sie für die Betriebsgeschwindigkeit virtueller Maschinen bezahlen, da eine sorgfältige Suche und Softwarekontrolle über die Ausführung von Dienstanweisungen, jedoch nicht von privilegierten Anweisungen erforderlich ist, da die Hardware selbst dies nicht bereitstellt (Abb. 2). . Schon eine einzige solche Anweisung, die direkt von der VM ausgeführt wird, droht stabile Arbeit Monitor und ist daher gezwungen, den gesamten Strom der Gastanweisungen zu scannen.

Reis. 2: Die Virtualisierbarkeitsbedingung wird nicht erfüllt. Service-, aber nicht privilegierte Anweisungen erfordern die Implementierung einer komplexen Logik im Monitor. Die Arbeit selbst enthält sowohl explizit angegebene Vereinfachungen der Struktur der untersuchten realen Systeme (Mangel an Peripheriegeräten und Eingabe-Ausgabe-Systemen) als auch implizite Annahmen über die Struktur aus ausführbaren Gastprogrammen (die fast ausschließlich aus harmlosen Anweisungen bestehen) und Hostsystemen (Uniprozessor). Betrachten wir diese Einschränkungen nun genauer und schlagen wir auch vor, wie der Grad der Anwendbarkeit des Kriteriums auf zusätzliche Ressourcen ausgeweitet werden kann, die eine Virtualisierung erfordern, und so seinen praktischen Wert für Architekten neuer Computersysteme erhöhen. Für effiziente Arbeit Programme innerhalb einer VM erfordern, dass die meisten ihrer Anweisungen harmlos sind. Dies gilt im Allgemeinen für Anwendungsanwendungen. Betriebssysteme wiederum sind darauf ausgelegt, Systemressourcen zu verwalten, d. h. sie nutzen privilegierte und Service-Anweisungen, die der Monitor mit entsprechendem Leistungsabfall abfangen und interpretieren muss. Daher sollte der Befehlssatz idealerweise so wenige privilegierte Befehle wie möglich enthalten, um das Auftreten von Traps auf ein Minimum zu beschränken. Weil das Peripheriegeräte Da es sich um eine Computerdienstressource handelt, ist es zur Gewährleistung der Isolations- und Äquivalenzbedingungen offensichtlich notwendig, dass alle Versuche, auf sie zuzugreifen, vom VM-Monitor auf die gleiche Weise gesteuert werden, wie sie in einem Multitasking-Betriebssystem von seinem Kernel gesteuert werden . Derzeit erfolgt der Zugriff auf Geräte meist über den Mechanismus ihrer Spiegelung physikalischer Speicher System (engl. „Memory Mapped I/O“), was bedeutet, dass innerhalb des Monitors dieses Lesen/Schreiben einiger Bereiche entweder eine Speicherschutzfalle auslösen oder nicht betriebsbereit sein sollte, d. h. keine Falle auslösen oder den Zustand unkontrolliert beeinflussen. Die Intensität der Interaktion zwischen Anwendungen und Peripheriegeräten kann unterschiedlich sein und wird durch deren Funktionalität bestimmt, was sich auf deren Verlangsamung während der Virtualisierung auswirkt. Darüber hinaus kann der VM-Monitor verschiedene Klassen von auf dem Host vorhandenen Peripheriegeräten innerhalb mehrerer VMs verfügbar machen verschiedene Wege.

  • Ein dediziertes Gerät ist ein Gerät, das ausschließlich innerhalb eines einzelnen Gastsystems zugänglich ist. Beispiele: Tastatur, Monitor.
  • Geteilt – gemeinsam für mehrere Gäste. Ein solches Gerät besteht entweder aus mehreren Teilen, von denen jeder den Bedürfnissen eines von ihnen gewidmet ist (partitionierter Modus), zum Beispiel Festplatte mit mehreren Partitionen oder verbindet sich nacheinander mit jeder davon (Shared-Modus). Beispiel: LAN-Karte.
  • Völlig virtuell – ein Gerät, das im realen System fehlt (oder vorhanden ist, aber in begrenzten Mengen) und durch Software im Monitor simuliert wird. Beispiele: Interrupt-Timer – jeder Gast hat seinen eigenen Timer, obwohl das Hostsystem nur einen hat, und dieser wird für die eigenen Bedürfnisse des Monitors verwendet.
Interrupts sind ein Mechanismus zur Benachrichtigung des Prozessors über externe Geräteereignisse, die die Aufmerksamkeit des Betriebssystems erfordern. Bei virtuellen Maschinen muss der Monitor die Zustellung von Interrupts steuern können, da einige oder alle davon innerhalb des Monitors verarbeitet werden müssen. Beispielsweise kann ein Timer-Interrupt verwendet werden, um die CPU-Auslastung von Gästen zu überwachen/begrenzen und zwischen mehreren gleichzeitig laufenden VMs wechseln zu können. Zudem ist bei mehreren Gästen im Vorhinein nicht klar, wer von ihnen den Interrupt liefern soll und der Monitor muss die Entscheidung treffen. Die einfachste Lösung zur Bereitstellung von Isolation besteht darin, alle Interrupts an den VM-Monitor weiterzuleiten. In diesem Fall wird die Äquivalenz von selbst sichergestellt: Durch die Simulation einer Zustandsänderung wird bei Bedarf eine Unterbrechung im Gast erzeugt. Der Monitor kann zusätzlich virtuelle Interrupts erzeugen, die nur durch die Logik seines Betriebs und nicht durch externe Ereignisse verursacht werden. Allerdings wird die Wirksamkeit einer solchen Lösung nicht optimal sein. Normalerweise muss die Reaktion eines Systems auf einen Interrupt innerhalb eines begrenzten Zeitrahmens erfolgen, andernfalls ist sie für den Benutzer bedeutungslos. externes Gerät oder es wird katastrophale Folgen für das Gesamtsystem haben. Die Einführung einer Virtualisierungsschicht erhöht die Verzögerung zwischen dem Eintreten eines Ereignisses und seiner Verarbeitung im Gast im Vergleich zu einem System ohne Virtualisierung. Effektiver ist die Hardware-Kontrolle über die Übermittlung von Interrupts, die es ermöglicht, einige von ihnen für den Systemstatus unschädlich zu machen und nicht jedes Mal den Eingriff des Überwachungsprogramms zu erfordern. Fast alle modernen Computer enthalten mehr als einen Kern oder Prozessor. Darüber hinaus können innerhalb eines Monitors mehrere VMs ausgeführt werden, denen jeweils mehrere virtuelle Prozessoren zur Verfügung stehen können. Betrachten wir, wie sich diese Umstände auf die Virtualisierungsbedingungen auswirken. Durch die Einführung mehrerer Host- und Gastprozessoren bleiben die Voraussetzungen für eine effektive Virtualisierbarkeit erhalten. Allerdings muss auf die Erfüllung der Voraussetzungen für den effizienten Betrieb von Multithread-Anwendungen innerhalb einer VM geachtet werden. Im Gegensatz zu Single-Threaded zeichnen sie sich durch Synchronisationsprozesse von Programmteilen aus, die auf verschiedenen virtuellen Prozessoren ausgeführt werden. In diesem Fall warten alle beteiligten Threads, bis sie alle einen vorgegebenen Punkt im Algorithmus erreichen, den sogenannten. Barriere. Wenn das System virtualisiert ist, sind möglicherweise ein oder mehrere Gast-Threads inaktiv und werden vom Monitor vorbelegt, was dazu führt, dass andere Zeit verschwenden.

Ein Beispiel für solch ineffizientes Verhalten von Gastsystemen ist die Synchronisierung mittels Spinlocks innerhalb einer VM. Obwohl es ineffizient und daher für Einzelprozessorsysteme unbrauchbar ist, stellt es im Falle mehrerer Prozessoren eine leichte Alternative zu anderen, schwereren Sperren dar, die für den Zugriff auf kritische Abschnitte paralleler Algorithmen verwendet werden. Sie werden am häufigsten innerhalb des Betriebssystems verwendet, jedoch nicht in Benutzerprogrammen, da nur das Betriebssystem genau bestimmen kann, welche Systemressourcen mithilfe von Round-Robin-Sperren wirksam geschützt werden können. Im Fall einer virtuellen Maschine erfolgt die Ressourcenplanung jedoch tatsächlich nicht durch das Betriebssystem, sondern durch den VM-Monitor, der diese im Allgemeinen nicht kennt und einen Thread vorwegnehmen kann, der die Ressource freigeben kann, während ein zweiter Thread ausgeführt wird ein Round-Robin, der Prozessorzeit verschwendet. Die optimale Lösung Dabei wird ein blockierter Thread deaktiviert, bis die benötigte Ressource freigegeben ist.

Bestehende Lösungen für dieses Problem werden im Folgenden beschrieben.

  1. Der VM-Monitor versucht möglicherweise, die Verwendung von Spinlocks des Gastbetriebssystems zu erkennen. Dies erfordert eine Codeanalyse vor der Ausführung und das Setzen von Haltepunkten an Sperradressen. Die Methode zeichnet sich nicht durch Universalität und Nachweissicherheit aus.
  2. Das Gastsystem kann dem Monitor seine Absicht zur Verwendung der Round-Robin-Sperre über signalisieren spezielle Anweisungen. Die Methode ist zuverlässiger, erfordert jedoch eine Änderung des Gastbetriebssystemcodes.
Beachten Sie abschließend, dass Interrupt-Zustellungs- und -Verarbeitungsschemata auf Multiprozessorsystemen auch komplexer sind, was beim Entwurf eines VM-Monitors für solche Systeme berücksichtigt werden muss und möglicherweise nicht so effizient ist wie ein Einzelprozessor-Äquivalent. Das zuvor zur Formulierung des Anspruchs einer effizienten Virtualisierung verwendete Maschinenanweisungsmodell nutzte ein einfaches, auf linearer Segmentierung basierendes Adressübersetzungsschema, das in den 1970er Jahren populär war. Es ist rechentechnisch einfach, ändert sich nicht, wenn ein VM-Monitor eingeführt wird, und daher wurde der Einfluss des Adressübersetzungsmechanismus auf die Effizienz nicht analysiert. Derzeit verwenden ausgelagerte virtuelle Speichermechanismen eine nichtlineare Konvertierung virtueller Adressen von Benutzeranwendungen in physische Adressen, die von der Hardware verwendet werden. Die beteiligte Systemressource ist ein Registerzeiger auf die Adresse der Konvertierungstabelle (meistens werden in der Praxis mehrere Tabellen verwendet, die eine Hierarchie mit einer gemeinsamen Wurzel bilden). Im Falle einer VM muss dieser Zeiger virtualisiert werden, da jedes Gastsystem über eigene Registerinhalte sowie die Position/Inhalte der Tabelle verfügt. Die Kosten für die Softwareimplementierung dieses Mechanismus im Monitor sind hoch, sodass Anwendungen, die aktiv Speicher nutzen, bei der Virtualisierung möglicherweise an Effizienz verlieren. Um dieses Problem zu lösen, wird eine zweistufige Hardware-Adressübersetzung verwendet (Abb. 3). Gastbetriebssysteme sehen nur die erste Ebene, während die für sie generierte physische Adresse anschließend von der zweiten Ebene in die reale Adresse übersetzt wird.

Reis. 3: Zweistufige Adressübersetzung. Die erste Ebene wird vom Gastbetriebssystem gesteuert, die zweite vom Monitor der virtuellen Maschine. Eine weitere Computerressource, die für die Adressübersetzung verantwortlich ist, ist der Translation Lookaside Buffer (TLB), der aus mehreren Einträgen besteht. Jedes Gastsystem verfügt über einen eigenen TLB-Inhalt, daher muss bei einem Wechsel der aktiven VM oder einem Wechsel auf einen Monitor dieser zurückgesetzt werden. Dies wirkt sich negativ auf die Systemleistung aus, da die Wiederherstellung des Inhalts Zeit in Anspruch nimmt und während dieser Zeit ein weniger effizienter Zugriff auf die im Speicher befindliche Adressübersetzungstabelle erforderlich ist. Die Lösung besteht darin, TLB-Ressourcen zwischen allen Systemen zu teilen. Jeder Pufferzeile ist eine Kennung zugeordnet – ein Tag, der für jede VM eindeutig ist. Bei der Hardwaresuche werden nur Zeilen berücksichtigt, deren Tag mit der aktuellen VM übereinstimmt. Neben Prozessoren können auch Peripheriegeräte mithilfe der DMA-Technologie (Direct Memory Access) direkt auf den Arbeitsspeicher zugreifen. Gleichzeitig gehen Anrufe in klassischen Systemen ohne Virtualisierung an physische Adressen. Offensichtlich müssen solche Adressen innerhalb der virtuellen Maschine übersetzt werden, was zu Gemeinkosten führt und die Effizienz des Monitors verringert. Die Lösung besteht darin, das IOMMU-Gerät (Input Output Memory Management Unit) zu verwenden, mit dem Sie den Zugriff von Host-Geräten auf den physischen Speicher steuern können. Erweitern wir die Virtualisierbarkeitsbedingung, indem wir das Wort „Anweisung“ durch „Operation“ ersetzen: Die Menge der Dienstoperationen ist eine Teilmenge der privilegierten Operationen. Unter Operation verstehen wir in diesem Fall jede architektonisch definierte Aktivität zum Lesen oder Ändern des Systemzustands, einschließlich Anweisungen, Interrupts, Gerätezugriffe, Adresskonvertierungen usw. In diesem Fall lautet die Bedingung zur Steigerung der Effizienz der Virtualisierung wie folgt: Die Systemarchitektur muss eine Mindestanzahl an Dienstoperationen enthalten. Dies kann auf zwei Arten erreicht werden: durch die Unschädlichkeit von Dienstanweisungen oder durch die Reduzierung der Anzahl privilegierter Anweisungen. Zu diesem Zweck haben die meisten Architekturen den Weg eingeschlagen, dem M-Statusregister einen neuen Modus hinzuzufügen – den VM-Monitormodus (engl. Root-Modus). Es bezieht sich auf den Modus s, wie sich s auf u bezieht; Mit anderen Worten: Die aktualisierte Klasse privilegierter Anweisungen löst nun eine Kontrollflussfalle aus, die den Prozessor von s nach r bringt. Betrachten wir aus dieser Sicht die wichtigsten modernen Architekturen von Computersystemen, die auf Servern, Workstations sowie in eingebetteten Systemen verwendet werden praktische Anwendung die oben beschriebenen theoretischen Prinzipien. Siehe auch Artikelserie. IBM war eines der ersten Unternehmen, das 2001 mit der POWER4-Serie eine hardwarebasierte Virtualisierungsarchitektur auf den Markt für Server-Mikroprozessoren brachte. Ziel war es, isolierte logische Partitionen (LPARs) zu erstellen, die jeweils einem oder mehreren Prozessoren und E/A-Ressourcen zugeordnet sind. Zu diesem Zweck wurde der Prozessor hinzugefügt neuer Modus Hypervisor zu den bereits vorhandenen Supervisor- und Benutzermodi. Um den Speicher zu schützen, ist jede LPAR auf einen Modus mit deaktivierter Adressübersetzung beschränkt und hat nur Zugriff auf einen kleinen privaten Speicherbereich. Um den verbleibenden Speicher zu nutzen, muss das Gastbetriebssystem die vom VM-Monitor gesteuerte Übersetzung aktivieren. Im Jahr 2004 brachte die Entwicklung dieser Architektur namens POWER5 wesentliche Verbesserungen der Virtualisierungsmechanismen. Daher wurde ein neues Timer-Gerät hinzugefügt, das nur für den VM-Monitor verfügbar ist und es ihm ermöglicht, Gastsysteme genauer zu steuern und ihnen Prozessorressourcen mit einer Genauigkeit von einem Hundertstel eines Prozessors zuzuweisen. Außerdem hat der VM-Monitor die Möglichkeit, die Interrupt-Zustellungsadresse zu steuern – in der LPAR oder im Hypervisor. Die wichtigste Neuerung war die Tatsache, dass die Anwesenheit eines Hypervisors zwingend erforderlich war – er wurde geladen und verwaltet Systemressourcen, auch wenn es nur eine LPAR im System gab. Unterstützte Betriebssysteme (AIX, Linux, IBM i) wurden vor diesem Hintergrund dahingehend modifiziert, dass sie eine Art Paravirtualisierungsschema unterstützen. Um I/O-Geräte zu verwalten, lädt eines (oder zwei, zum Lastausgleich) aus der LPAR ein spezielles Betriebssystem – den virtuellen I/O-Server (VIOS), der diese Ressourcen für die verbleibenden Partitionen bereitstellt. Sun, der Entwickler von UltraSPARC und dem Solaris-Betriebssystem, bietet seit 2004 Virtualisierung auf Betriebssystemebene (Container oder Zonen genannt) an. Im Jahr 2005 wurde die hardwarebasierte Virtualisierung in Niagara 1-Multithread-Prozessoren eingeführt. Gleichzeitig entsprach die Granularität der Virtualisierung einem Thread (insgesamt hatte der Chip acht Kerne mit jeweils vier Threads). Für die Interaktion zwischen dem Betriebssystem und dem Hypervisor wurde eine öffentliche und stabile Schnittstelle für privilegierte Anwendungen eingeführt, die die meisten Architekturregister vor dem Betriebssystem verbirgt. Zur Übersetzung von Adressen wird das zuvor beschriebene zweistufige Schema mit virtuellen, realen und physikalischen Adressen verwendet. Der TLB speichert jedoch nicht die Zwischenübersetzungsadresse. Im Gegensatz zu POWER und SPARC wurde die IA-32-Architektur (und ihre Erweiterung AMD64) nie von einem einzelnen Unternehmen kontrolliert, das (Para-)Virtualisierungsfunktionen zwischen Hardware und Betriebssystem hinzufügen konnte, wodurch die Abwärtskompatibilität mit bestehenden unterbrochen wurde Betriebssysteme. Darüber hinaus verstößt es eindeutig gegen die Bedingungen für eine effektive Virtualisierung – etwa 17 Dienstanweisungen sind nicht privilegiert, was die Erstellung hardwaregestützter VM-Monitore verhinderte. Jedoch Programmmonitore existierte bis 2006, als Intel die VT-x-Technologie einführte und AMD die ähnliche, aber inkompatible AMD-V-Technologie einführte. Es wurden neue Prozessormodi eingeführt – VMX-Root und Nicht-Root – und die bereits vorhandenen Berechtigungsmodi 0–3 können in beiden verwendet werden. Das Umschalten zwischen den Modi kann mit den neuen Anweisungen vmxon und vmxoff erfolgen.

Um den Zustand von Gastsystemen und dem Monitor zu speichern, wird eine neue VMCS-Struktur (Virtual Machine Control Structure) verwendet, deren Kopien sich im physischen Speicher befinden und für den VM-Monitor zugänglich sind.

Eine interessante Lösung ist die Konfigurierbarkeit, welche Ereignisse im Gast ein Trap-Ereignis auslösen und an den Hypervisor weitergeleitet werden und welche vom Betriebssystem verarbeitet werden müssen. Beispielsweise können Sie für jeden Gast auswählen, ob externe Interrupts von ihm oder dem Monitor verarbeitet werden; Schreiben, in welche Bits der Steuerregister CR0 und CR4 abgefangen werden; welche Ausnahmen vom Gast behandelt werden sollen, welche vom Monitor usw. Diese Lösung ermöglicht einen Kompromiss zwischen dem Grad der Kontrolle über jede VM und der Effizienz der Virtualisierung. Dadurch kann die Kontrolle des Monitors für vertrauenswürdige Gäste geschwächt werden, während gleichzeitig mit ihnen laufende Betriebssysteme von Drittanbietern weiterhin unter seiner strengen Aufsicht stehen. Um den Betrieb des TLB zu optimieren, wird die oben beschriebene Technik der Kennzeichnung seiner Einträge mithilfe von ASID (Adressraum-Identifikator) verwendet. Um den Prozess der Adressübersetzung zu beschleunigen, wurde das zweistufige Übersetzungsschema Intel EPT (Extended Page Walk) genannt. Intel hat Itanium gleichzeitig mit IA-32 um Hardwarevirtualisierung (VT-i-Technologie) erweitert – im Jahr 2006. Der Sondermodus wurde über ein neues Bit im PRS.vm-Statusregister aktiviert. Wenn dieses Bit aktiviert ist, beginnen zuvor dienstliche, aber nicht privilegierte Befehle, einen Trap zu verursachen und an den Monitor auszugeben. Um zum Gastbetriebssystemmodus zurückzukehren, verwenden Sie die vmsw-Anweisung. Ein Teil der Anweisungen, bei denen es sich um Serviceanweisungen handelt, wird generiert, wenn der Virtualisierungsmodus aktiviert ist die neue Art synchrone Ausnahme, für die ein eigener Handler zugeordnet ist.

Da das Betriebssystem über eine spezielle PAL-Schnittstelle (Processor Abstraction Level) auf die Hardware zugreift, wurde diese erweitert, um Vorgänge wie das Erstellen und Zerstören von Gastumgebungen, das Speichern und Laden ihres Status, das Konfigurieren virtueller Ressourcen usw. zu unterstützen. Es lässt sich feststellen, dass das Hinzufügen der Hardwarevirtualisierung zu IA-64 im Vergleich zu IA-32 weniger Aufwand erforderte.

Die ARM-Architektur war ursprünglich für eingebettete und eingebettete Anwendungen gedacht mobile Systeme, deren effektive Virtualisierung im Vergleich zu Serversystemen lange Zeit war kein entscheidender Faktor für den kommerziellen und technologischen Erfolg. Allerdings in letzten Jahren Es gibt einen Trend zur Verwendung von VMs mobile Geräte um den Schutz kritischer Teile des Systemcodes zu gewährleisten, wie z. B. kryptografische Schlüssel, die zur Verarbeitung kommerzieller Transaktionen verwendet werden. Außerdem, ARM-Prozessoren begann, in den Serversystemmarkt vorzudringen, und dies erforderte eine Erweiterung der Architektur und das Hinzufügen von Funktionen wie Unterstützung für die Bewältigung großer Speichermengen und Virtualisierung. Beide Aspekte spiegelten sich in der von ARM gewählten Herangehensweise bei der Entwicklung seiner Architektur wider. In Abb. Abbildung 4 zeigt ein Diagramm, das die Verschachtelung zweier Virtualisierungsebenen impliziert, die 2010 in einem Update der Cortex-A15-Architektur eingeführt wurde. Reis. 4: ARM-Virtualisierung. Der TrustZone-Monitor bietet Isolierung und kryptografische Authentifizierung der vertrauenswürdigen Welt. In der normalen „Welt“ wird der eigene Monitor der VM zur Isolation genutzt kritische Komponenten Es kommt die erste Virtualisierungsschicht namens TrustZone zum Einsatz. Mit seiner Hilfe läuft alles Softwarekomponenten sind in zwei „Welten“ unterteilt – vertrauenswürdig und gewöhnlich. In der ersten Umgebung werden diejenigen Teile des Systems ausgeführt, deren Betrieb keinen äußeren Einflüssen durch regulären Code unterliegen soll. In der zweiten Umgebung werden sie ausgeführt benutzerdefinierte Anwendungen und Betriebssystem, die theoretisch kompromittiert werden könnten. Allerdings hat die gewöhnliche „Welt“ keinen Zugriff auf die vertrauenswürdige. Der TrustZone-Monitor bietet einen umgekehrten Zugriff, sodass vertrauenswürdiger Code den Zustand der Hardware überwachen kann. Die zweite Virtualisierungsschicht läuft unter der Kontrolle eines nicht vertrauenswürdigen Monitors und bietet die Möglichkeit, die Arbeit mehrerer Benutzerbetriebssysteme zu multiplexen. Es fügt neue HVC- und ERET-Anweisungen zum Aufrufen und Verlassen von Hypervisor-Modi(s) hinzu. Für Trap-Ereignisse wurde der zuvor reservierte Interrupt-Vektor 0x14 verwendet, neue Register wurden hinzugefügt: der SPSR-Stapelzeiger, der Status der virtuellen HCR-Ressourcen und das HSR-„Syndrom“-Register, das den Grund für das Verlassen des Monitors durch den Gast speichert ermöglicht es letzterem, die Situation schnell zu analysieren und die erforderliche Funktionalität zu emulieren, ohne den Gaststatus übermäßig zu lesen. Genau wie bei den zuvor besprochenen Architekturen wird zur Beschleunigung der Adressübersetzungsmechanismen ein zweistufiges Schema verwendet, bei dem die physischen Adressen des Gastbetriebssystems dazwischen liegen. Externe Interrupts können entweder so konfiguriert werden, dass sie an den Monitor übermittelt werden, der sie dann mithilfe des virtuellen Interrupt-Mechanismus an den Gast weiterleitet, oder dass sie direkt an das Gastsystem gesendet werden. MIPS-Prozessoren haben sich in die entgegengesetzte Richtung wie bei ARM entwickelt: von Hochleistungssystemen hin zu eingebetteten und mobilen Systemen. Allerdings erschien die Hardware-Virtualisierung dafür erst vor relativ kurzer Zeit, im Jahr 2012. Die MIPS R5-Architektur brachte den MIPS VZ-Virtualisierungsmodus. Es ist sowohl für 32-Bit- als auch für 64-Bit-Architekturoptionen verfügbar. Der hinzugefügte Architekturstatus ermöglicht es Ihnen, den VM- und Monitorkontext separat zu speichern. Für die Bedürfnisse des Hypervisors wurde beispielsweise eine von der Gastkopie unabhängige Kopie des COP0-Systemregisters eingeführt. Dies ermöglicht eine Optimierung der Umschaltzeit zwischen ihnen, während der Wechsel zwischen mehreren Gastbetriebssystemen die Aktualisierung von COP0 mit Inhalten aus dem Speicher erfordert und weniger effizient ist. Darüber hinaus sind einige der Bits des Gastregisters, die den Funktionsumfang der aktuellen Version der Architektur beschreiben und daher bisher nur zum Lesen verwendet wurden, im Monitormodus beschreibbar, was die Deklaration unterschiedlicher Funktionen ermöglicht von denen, die tatsächlich auf dem Host anwesend sind.

Die Privilegien von Hypervisor, Betriebssystem und Benutzer bilden die sogenannten. Zwiebelmodell. Darin erfolgt die Interrupt-Verarbeitung von außen nach innen, d.h. Zuerst wird jeder von ihnen auf Einhaltung der Regeln des Monitors und dann des Betriebssystems überprüft. Synchrone Ausnahmen (Traps) hingegen werden zuerst vom Betriebssystem und dann vom Monitor verarbeitet.

Genau wie in den zuvor besprochenen Architekturen werden Tags im TLB und zweistufige Übersetzung in der MMU verwendet, um Adressübersetzungsmechanismen zu beschleunigen. Hinzugefügt, um die Entwicklung von Paravirtualisierungsgästen zu unterstützen neue Anleitung Hypercall, der eine Falle auslöst und in den Überwachungsmodus wechselt. Abschließend werden wir zusätzliche Fragen zur Gewährleistung einer effektiven Virtualisierung im Zusammenhang mit dem Wechsel zwischen Monitor- und VM-Modus betrachten. Häufige Unterbrechungen der virtuellen Maschine aufgrund des notwendigen Zugriffs auf den Monitor wirken sich negativ auf die Geschwindigkeit der Simulation aus. Obwohl Prozessorhersteller daran arbeiten, die mit diesen Übergängen verbundene Latenz zu reduzieren (siehe Tabelle 1 für ein Beispiel), sind sie immer noch so bedeutend, dass versucht wird, die Häufigkeit ihres Auftretens zu minimieren.

Mikroarchitektur Startdatum Latenz, Taktzyklen
Prescott 3 qm 2005 3963
Merom 2 qm 2006 1579
Penryn 1 qm 2008 1266
Nehalem 3 qm 2009 1009
Westmere 1 qm 2010 761
Sandy Bridge 1 qm 2011 784
Tabelle 1. Dauer des Übergangs zwischen Hardware-Virtualisierungsmodi für verschiedene Generationen von Intel IA-32-Prozessor-Mikroarchitekturen (Daten entnommen aus)

Wenn die direkte Ausführung mithilfe der Virtualisierung wirkungslos ist, ist es sinnvoll, auf ein anderes Operationsschema umzusteigen, beispielsweise auf Interpretation oder binäre Übersetzung (siehe meine Beitragsreihe zu IDZ: 1, 2, 3).

In der Betriebssystemausführungspraxis besteht eine typische Situation darin, dass Anweisungen, die Kontrollflussfallen verursachen, Cluster bilden, in denen zwei oder mehr von ihnen nahe beieinander liegen, während der Abstand zwischen den Clustern erheblich ist. Der folgende Codeblock für IA-32 zeigt ein Beispiel für einen solchen Cluster. Ein Sternchen kennzeichnet alle Anweisungen, die eine Ausgabe auf dem Monitor bewirken. * in %al,%dx * out $0x80,%al mov %al,%cl mov %dl,$0xc0 * out %al,%dx * out $0x80,%al * out %al,%dx * out $0 x80,%al Um eine Wiederholung des Szenarios zu vermeiden: Verlassen Sie die VM zum Monitor, interpretieren Sie die Anweisungen und kehren Sie nur zur VM zurück folgende Anweisungen Kehren Sie erneut zum Monitor zurück – die Vorschau der Anweisungen wird verwendet. Nachdem der Trap verarbeitet wurde, bevor der Monitor die Kontrolle wieder an die VM übergibt, wird der Befehlsstrom mehrere Befehle im Voraus nach privilegierten Befehlen durchsucht. Wenn sie erkannt werden, wechselt die Simulation für eine Weile in den binären Übersetzungsmodus. Dadurch werden die negativen Auswirkungen des Clustering-Effekts privilegierter Anweisungen vermieden. Die Situation, in der ein Monitor einer virtuellen Maschine unter der Kontrolle eines anderen Monitors läuft, der direkt auf der Hardware läuft, wird als rekursive Virtualisierung bezeichnet. Theoretisch kann es nicht nur auf zwei Ebenen beschränkt sein – innerhalb jedes VM-Monitors kann der nächste ausgeführt werden, wodurch eine Hierarchie von Hypervisoren entsteht. Die Möglichkeit, einen Hypervisor unter der Kontrolle eines VM-Monitors (oder, was dasselbe ist, eines Simulators) auszuführen, ist von praktischem Wert. Jeder VM-Monitor reicht aus komplexes Programm, auf die die üblichen Methoden zum Debuggen von Anwendungen und sogar des Betriebssystems nicht anwendbar sind, weil Es wird sehr früh im Systembetrieb geladen, wenn es schwierig ist, einen Debugger anzuschließen. Die Ausführung unter der Kontrolle des Simulators ermöglicht es Ihnen, seinen Betrieb ab der ersten Anweisung zu überprüfen und zu kontrollieren. Goldberg und Popek befassten sich in ihrer zuvor erwähnten Arbeit mit Fragen einer effektiven Unterstützung, einschließlich rekursiver Virtualisierung. Leider berücksichtigen ihre Schlussfolgerungen viele der oben genannten Merkmale moderner Systeme nicht. Betrachten wir eine der Schwierigkeiten, die mit den Besonderheiten des verschachtelten Starts von VM-Monitoren verbunden sind – die Handhabung von Traps und Interrupts. Im einfachsten Fall ist für die Bearbeitung von Ausnahmesituationen aller Art immer der am weitesten außen liegende Monitor zuständig, dessen Aufgabe es ist, das Ereignis entweder selbständig zu verarbeiten und damit vor anderen Ebenen zu „verstecken“ oder an die nächste weiterzugeben. Sowohl für Interrupts als auch für Traps ist dies oft nicht optimal – das Ereignis muss mehrere Ebenen der Hierarchie durchlaufen, von denen jede eine Verzögerung bei der Verarbeitung mit sich bringt. In Abb. Abbildung 5 zeigt die Verarbeitung von zwei Arten von Nachrichten – einem Interrupt, der in externer Hardware aufgetreten ist, und einem Kontrollfluss-Trap, der innerhalb der Anwendung aufgetreten ist.

Reis. 5: Rekursive Virtualisierung. Alle Ereignisse müssen von einem externen Monitor verarbeitet werden, wodurch sie in der Hierarchie nach unten verschoben werden und eine Verzögerung für eine optimale Verarbeitung entsteht verschiedene Arten Traps und Interrupts, für jede von ihnen muss eine Ebene der VM-Monitorhierarchie ausgewählt werden, und wenn ein Ereignis auftritt, muss die Steuerung direkt auf diese Ebene übertragen werden, wobei zusätzliche Verarbeitung durch höhere Ebenen umgangen wird und ohne den damit verbundenen Overhead. Prozessorhersteller widmen der Hardwareunterstützung für die zweite oder mehrere Ebenen der Virtualisierungsverschachtelung viel weniger Aufmerksamkeit als der ersten Ebene. Dennoch gibt es solche Werke. So wurde bereits in den achtziger Jahren des 20. Jahrhunderts für IBM/370-Systeme die Möglichkeit realisiert, Kopien der Systemsoftware innerhalb des Betriebssystems zu starten, das bereits auf der Hardware läuft. Für diese Aufgabe wurde die SIE-Anweisung (Start Interpreted Execution) eingeführt. Es gibt Vorschläge für eine Schnittstelle zwischen verschachtelten Virtualisierungsschichten, die eine effiziente Unterstützung der Verschachtelung mehrerer VM-Monitore ermöglichen würde, sowie für eine rekursive Virtualisierungsimplementierung für IA-32. Allerdings sind moderne Prozessorarchitekturen immer noch auf die Hardwareunterstützung für höchstens eine Virtualisierungsebene beschränkt.

  1. Goodacre John. Hardwarebeschleunigte Virtualisierung in den ARM Cortex-Prozessoren. 2011. xen.org/files/xensummit_oul11/nov2/2_XSAsia11_JGoodacre_HW_accelerated_virtualization_in_the_ARM_Cortex_processors.pdf
  2. Hardwaregestützte Virtualisierung mit dem MIPS Virtualization Module. 2012. www.mips.com/application/login/login.dot?product_name=/auth/MD00994-2B-VZMIPS-WHT-01.00.pdf
  3. Hypervisor/Sun4v-Referenzmaterialien. 2012. kenai.com/projects/hypervisor/pages/ReferenceMaterials
  4. Intel Virtualisierungstechnologie / F. Leung, G. Neiger, D. Rodgers et al. // Intel Technology Journal. 2006. Bd. 10. www.intel.com/technology/itj/2006/v10i3
  5. McGhan Harlan. Der Geisterhost in der Maschine: Teil 1 // Mikroprozessorbericht. 2007. mpronline.com
  6. McGhan Harlan. Der Geisterhost in der Maschine: Teil 2 // Mikroprozessorbericht. 2007. mpronline.com
  7. McGhan Harlan. Der Geisterhost in der Maschine: Teil 3 // Mikroprozessorbericht. 2007. mpronline.com
  8. Popek Gerald J., Goldberg Robert P. Formale Anforderungen für virtualisierbare Architekturen der dritten Generation // Mitteilungen des ACM. Bd. 17. 1974.
  9. Südlicher Gabriel. Analyse der SMP-VM-CPU-Planung. 2008. cs.gmu.edu/~hfoxwell/cs671projects/southern_v12n.pdf
  10. Yang Rongzhen. Virtueller Übersetzungs-Lookaside-Puffer. 2008. www.patentlens.net/patentlens/patent/US_2008_0282055_A1/en.
  11. Softwaretechniken zur Vermeidung von Ausstiegen aus der Hardwarevirtualisierung / Ole Agesen, Jim Mattson, Radu Rugina, Jeffrey Sheldon // Tagungsband der USENIX-Konferenz 2012 auf der jährlichen technischen Konferenz. USENIX ATC"12. Berkeley, CA, USA: USENIX Association, 2012. S. 35-35. www.usenix.org/system/files/conference/atc12/atc12-final158.pdf
  12. Poon Wing-Chi, Mok A.K. Verbesserung der Latenz der VMExit-Weiterleitung in der rekursiven Virtualisierung für die x86-Architektur // System Science (HICSS), 2012 45. Hawaii International Conference on. 2012. S. 5604-5612.
  13. Osisek D. L., Jackson K. M., Gum P. H. ESA/390 interpretative Ausführungsarchitektur, Grundlage für VM/ESA // IBM Syst. J. – 1991 – V. 30, Nr. 1. – S. 34–51. - ISSN: 0018-8670. -DOI: 10.1147/sj.301.0034.
  14. Andy Glew. SIE. - semipublic.comp-arch.net/wiki/SIE
  15. Das Turtles-Projekt: Design und Implementierung verschachtelter Virtualisierung / Muli Ben-Yehuda //. - 2010. - S. 423–436. www.usenix.org/event/osdi10/tech/full_papers/Ben-Yehuda.pdf

habrahabr.ru

Virtualisierungs-Technologie

Andere identische Optionsnamen: Vanderpool Technology, VT Technology.

Die Option „Virtualisierungstechnologie“ soll die Unterstützung des Prozessors für Hardware-Virtualisierungstechnologie ermöglichen. Diese Option kann nur zwei Werte annehmen – Aktiviert und Deaktiviert.

  • Arbeitsprinzip
  • Soll ich es einschließen?

Arbeitsprinzip

Was bedeutet eigentlich der Begriff „Virtualisierung“? Die Virtualisierungstechnologie ermöglicht es einem Benutzer, viele virtuelle Computer auf einem einzigen physischen Computer zu haben. Natürlich hat dieser Ansatz im Vergleich zu mehreren physischen Computern oft viele Vorteile, vor allem im Hinblick auf die Reduzierung der Hardwarekosten und des Energieverbrauchs.

Um virtuelle Computer zu erstellen, ist spezielle Software erforderlich. Die bekanntesten Virtualisierungssoftware sind VMWare und Microsoft Virtual PC.

Das Herzstück jedes Virtualisierungssystems ist eine Technologie namens Virtual Machine Monitor (VMM). Diese Technologie bietet eine solide Grundlage für die Verwaltung der Virtualisierung. Die Funktion des Virtual Machine Managers (manchmal auch Hypervisor genannt) besteht darin, Computerressourcen in Echtzeit zu verwalten und sie zwischen virtuellen Systemen zu verteilen. Der Hypervisor kann Daten zwischen Systemen übertragen und virtuelle Festplatten erstellen.

Mit Virtual Machine Manager können Sie entweder mehrere Betriebssysteme (normalerweise als Gastbetriebssysteme bezeichnet) oder mehrere Kopien desselben Betriebssystems auf einem einzelnen Computer ausführen. Zu seinen Aufgaben gehört auch die Verwaltung von Speicher-, Prozessor- und Ein-/Ausgabegeräte-Ressourcen, um diese auf verschiedene zu verteilen virtuelle Computer. Auf diese Weise kann der Hypervisor ermöglichen, dass mehrere Betriebssysteme denselben Prozessor gemeinsam nutzen, was ihn effizienter macht.

Allerdings basierte die Virtualisierungstechnologie lange Zeit nur auf Softwaremethoden und wurde auf Hardwareebene kaum unterstützt, insbesondere aufgrund des Fehlens klarer Standards. Obwohl eine der ersten Implementierungen der Hardwarevirtualisierung die Unterstützung des virtuellen Betriebsmodus des Intel 8086-Prozessors war, der in den 80386-Prozessor und nachfolgende Intel-Prozessoren integriert war (mehr über die Prozessoren erfahren Sie hier), waren die Fähigkeiten dieser Technologie dennoch vielfältig begrenzt. Heutzutage bieten die führenden Prozessorhersteller Intel und AMD ihre eigenen Virtualisierungstechnologien an, die für den geschützten Prozessorbetriebsmodus konzipiert sind.

Intels Version der Virtualisierungstechnologie heißt VT-x. Sie erschien im Jahr 2005. Diese Technologie führte zu einer Reihe von Verbesserungen bei der Unterstützung von Server- und Client-Plattformen Softwareumgebungen stv-Virtualisierung. Die VT-x-Technologie ermöglicht die Ausführung verschiedener Betriebssysteme und Anwendungen auf unabhängigen Partitionen und kann einen Computer in eine Reihe virtueller Betriebssysteme verwandeln.

AMDs Virtualisierungstechnologie heißt AMD-V. Es erschien erstmals 2006 in den Athlon 64-Prozessoren. Mit dieser Technologie können Sie einige der vom Hypervisor ausgeführten Aufgaben in Software übernehmen und diese dank der integrierten Technologie vereinfachen AMD-Prozessoren verbesserte Anleitung.

Im Vergleich zur Software-Virtualisierungsmethode bietet die Hardware-Virtualisierung eine Reihe von Vorteilen. Tatsache ist, dass Betriebssysteme für entwickelt wurden Intel-Plattformen wurden so entwickelt, dass das Betriebssystem direkten Zugriff auf die Hardwareressourcen des Computers haben musste. Software-Virtualisierung emuliert notwendige Ausrüstung, und Hardware-Virtualisierungstechnologien ermöglichten es dem Betriebssystem, direkt auf Hardware-Ressourcen zuzugreifen und so jegliche Emulation zu vermeiden.

Prozesbieten neue Ansätze für die Verwaltung der Virtualisierung. Kurz gesagt kann der Kern der Verbesserungen wie folgt beschrieben werden. Betriebssysteme bieten verschiedene Ebenen des Zugriffs auf Ressourcen, die als Schutzringe bezeichnet werden. Diese Ringe stellen eine Hierarchie von Privilegien innerhalb einer Computersystemarchitektur dar. Die privilegierteste Stufe ist normalerweise Null. Diese Schicht kann auch direkt auf Ressourcen zugreifen.

In der traditionellen Intel x86-Architektur kann der Betriebssystemkernel direkt auf den Prozessor auf Ebene 0 zugreifen. In einer Softwarevirtualisierungsumgebung kann das Gastbetriebssystem jedoch keine Arbeit auf Ebene 0 ausführen, da diese vom Hypervisor belegt ist. Somit kann das Gastbetriebssystem nur auf Level 1 laufen.

Es gibt jedoch einen Haken: Einige Prozessoranweisungen können nur auf Ebene 0 ausgeführt werden. Dieses Problem kann auf verschiedene Arten gelöst werden, aber keine davon ist zufriedenstellend. Um solche Situationen zu vermeiden, kann beispielsweise das Betriebssystem neu kompiliert werden, dies ist jedoch nur möglich, wenn Quellcodes dieses Betriebssystems. Dieser Ansatz wird manchmal verwendet und wird Paravirtualisierung genannt.

In Fällen, in denen eine Paravirtualisierung jedoch nicht möglich ist, wird normalerweise eine andere Lösung verwendet. Der Virtual Machine Manager fängt einfach die notwendigen Anweisungen vom Gastbetriebssystem ab und ersetzt sie durch sichere. Es versteht sich von selbst, dass dieser Ansatz zu einem erheblichen Leistungsabfall führt. Dementsprechend Software virtuelle Maschinen sind oft viel langsamer als ihre realen Gegenstücke.

Daher enthalten Hardware-Virtualisierungstechnologien von Intel und AMD nicht nur neue Prozessoranweisungen, sondern ermöglichen vor allem auch die Nutzung eines neuen Privilegienniveaus. Jetzt kann der Hypervisor auf einer Ebene unter Null arbeiten (dies kann als –1 bezeichnet werden), während das Gastbetriebssystem die volle Kontrolle über Ebene Null erhält. Dadurch wurde dem Hypervisor unnötiger Aufwand erspart und die Leistung virtueller Maschinen deutlich gesteigert.

Intel- und AMD-Technologien sind nicht in jeder Hinsicht identisch, bieten jedoch ähnliche Vorteile und Funktionen. Sie steigern nicht nur die Leistung virtueller Maschinen, sondern ermöglichen auch die Erhöhung der Anzahl virtueller Maschinen auf einem physischen System sowie die Anzahl der Benutzer virtueller Maschinen.

Soll ich es einschließen?

Mit der Option „Virtualisierungstechnologie“ (manchmal auch einfach „Virtualisierung“ genannt) kann der Computerbenutzer die Unterstützung für Hardwarevirtualisierung auf CPU-Ebene aktivieren. Durch Auswahl von „Aktiviert“ wird diese Unterstützung aktiviert, durch Auswahl von „Deaktiviert“ wird sie deaktiviert.

Die Option „Virtualisierungstechnologie“ sollte nur aktiviert werden, wenn Sie Ihren Computer zum Ausführen virtueller Maschinen verwenden. Durch die Aktivierung der Hardwareunterstützung für virtuelle Maschinen kann deren Leistung erheblich verbessert werden. Wenn jedoch keine virtuellen Maschinen verwendet werden, hat die Aktivierung der Option keinerlei Auswirkungen auf die Leistung des Computers.

Bei der Hardwarevirtualisierung handelt es sich um eine Methode, mehrere Steuerungssoftwareumgebungen auf einem Computer auszuführen. Das auffälligste Beispiel ist gleichzeitiger Betrieb mehrere Betriebssysteme auf einem Computer.

Im Gegensatz zur Softwarevirtualisierung gibt es bei der Hardwarevirtualisierung keinen Softwarevermittler zwischen der Hardware und den virtuellen Maschinen. Betriebssysteme nutzen Hardwareressourcen direkt.

Intel Virtualisierungstechnologie ist eine Virtualisierungstechnologie der Intel Corporation.

Auch AMD verfügt über diese Technologie. Es heißt AMD-Virtualisierungstechnologie.

Beinhaltet die Virtualisierung jedes Computersubsystems:

  • zentraler Prozessor;
  • Arbeitsspeicher;
  • Grafiksystem;
  • Ein-/Ausgabesysteme (HDD, Tastatur, Maus, USB);
  • Sicherheitssysteme.

So funktioniert Hardware-Virtualisierung

Die Hardware-Implementierung ist dank der Einführung mehrerer Dutzend Anweisungen in Prozessoren und Chipsätze (seit 2005) möglich.

Die Aktivierung des Virtualisierungsmodus wird durch den VMXON-Befehl ermöglicht, einer „leichten“ Softwareschicht (INTEL-Terminologie) zwischen der Hardware und den Gastbetriebssystemen. Die Ebene wird Hypervisor oder Virtual-Machine-Monitor genannt.

Der Hypervisor verwaltet den direkten Hardwarezugriff für jedes Gastbetriebssystem. Das bedeutet, dass das Betriebssystem untereinander Folgendes aufteilt: Prozessorzeit, permanente und RAM-Speicherplätze sowie Kanäle und Eingabe-/Ausgabespeicher.

Gastsysteme werden vom Hypervisor über die Signale VMLAUNCH und VMRESUME gestartet. Wenn der Hypervisor herunterfährt und den Virtualisierungsmodus beendet, sendet er das VMXOFF-Signal.

Virtualisierung ist in enthalten. Um es zu aktivieren, müssen Sie das Element „Virtualisierung“ finden und seinen Wert von „Deaktivieren“ in „Aktivieren“ ändern. Wo sich dieses Element in BIOSen verschiedener Hersteller befindet, wird unten angezeigt:

Virtualisierungstechnologie im Award BIOS

BIOS der Firma Hewlett-Packard:

Virtualisierungstechnologie im BIOS der Hewlett-Packard Company