www.wikidata.de-de.nina.az
x86 Virtualisierung bezeichnet hardware und softwarebasierte Mechanismen zur Unterstutzung der Virtualisierung fur Prozessoren die auf der x86 Architektur basieren Sie erlaubt es unter Verwendung eines Hypervisors mehrere Betriebssysteme parallel auf einem x86 Prozessor auszufuhren und die Ressourcen isoliert und effizient zwischen den parallel ausgefuhrten Betriebssystemen aufzuteilen Die Gast Betriebssysteme sollten bei der vollstandigen Virtualisierung keinen Unterschied zwischen virtualisiertem Parallel Betrieb und exklusivem Betrieb direkt auf der Hardware erkennen konnen Inhaltsverzeichnis 1 Entwicklung der x86 Virtualisierung 2 Softwarebasierte Virtualisierung 2 1 Deprivilegierung 2 2 Primar und Shadowstrukturen 2 3 Softwarebasierte Vollvirtualisierung fur die x86 Architektur 2 4 Softwarebasierte Paravirtualisierung fur die x86 Architektur 2 5 Softwarebasierte Vollvirtualisierung fur die x86 64 Architektur 3 Hardwareunterstutzte Virtualisierung 3 1 Prozessoren CPU 3 1 1 Virtual 8086 Mode 3 1 2 AMD Virtualisierung AMD V 3 1 3 Intel Virtualisierungstechnologie VT x 3 1 4 VIA Virtualisierung VIA VT 3 1 5 Interrupt Virtualisierung AMD AVIC Intel APICv 3 2 Grafikprozessoren GPU 3 2 1 Grafikprozessoren Virtualisierungstechnologie Intel GVT d GVT g GVT s 3 3 PC Chipsatz 3 3 1 I O MMU Virtualisierung AMD Vi und VT d 3 3 2 Netzwerk Virtualisierung VT c 3 3 2 1 Virtual Machine Device Queues VMDQ 3 3 2 2 PCI SIG Single Root I O Virtualization SR IOV 4 Weblinks 5 EinzelnachweiseEntwicklung der x86 Virtualisierung BearbeitenSeit Ende der 1990er Jahre wurde Virtualisierung fur x86 Prozessoren durch komplexe Softwareimplementierungen erreicht die notwendig waren da es den damaligen Prozessormodellen an hardwareseitiger Unterstutzung fur die Virtualisierung fehlte Erst 2006 kundigten AMD AMD V gefolgt von Intel VT x die Einfuhrung von hardwareseitiger Unterstutzung fur die Virtualisierung an Allerdings boten die ersten Versionen der Implementierung nur sehr geringe Geschwindigkeitsvorteile gegenuber den rein softwareseitig implementierten Virtualisierungslosungen 1 Bessere hardwareseitige Virtualisierungsunterstutzung wurde erst spater mit der Entwicklung neuerer Prozessormodelle erreicht Softwarebasierte Virtualisierung BearbeitenUm Ressourcen exklusiv den parallel laufenden Gastsystemen zuteilen zu konnen darf nur dem Hostbetriebssystem bzw dem Hypervisor direkter Zugriff auf die Prozessor Hardware gewahrt werden wahrend die Gastsysteme wie alle anderen Applikationen nur eingeschrankte Zugriffsrechte auf die Hardware haben durfen So kann insbesondere verhindert werden dass die Gastsysteme Speicherbereiche sehen bzw andern konnen die der Hypervisor zur Verwaltung benotigt Mit dem 80286 Prozessor wurde in der x86 Welt der sogenannte Protected Mode eingefuhrt Mit ihm wurden vier verschiedene als Ringe bezeichnete Schutzebenen bzw Befugnisstufen englisch privilege levels eingefuhrt die den darauf ablaufenden Codesegmenten unterschiedliche Rechte gewahren Erst mit der Einfuhrung dieses Konzeptes war es moglich Virtualisierung auf Basis der x86 Architektur zu implementieren Im Protected Mode lauft der Betriebssystem Kernel in einem hoher privilegierten Modus der als Ring 0 bezeichnet wird und Applikationen in einem weniger privilegierten Modus in der Regel entweder Ring 1 oder Ring 3 Der Hypervisor bzw das Hostbetriebssystem werden aufgrund ihrer privilegierten Stellung bei der Ressourcenverwaltung mit Ring 0 Berechtigung ausgefuhrt Gastsysteme mussen um den Schutz der Hypervisor Ressourcen zu gewahrleisten folglich entweder auf Berechtigungslevel Ring 1 im sogenannten 0 1 3 Modell oder Ring 3 im sogenannten 0 3 3 Modell ausgefuhrt werden 2 Deprivilegierung Bearbeiten Da Betriebssysteme fur die x86 Architektur die als Gastsystem keinen Unterschied zwischen virtualisiertem Betrieb und Betrieb direkt auf der Hardware sehen durfen so implementiert sind dass sie von der Ring 0 Berechtigung ausgehen und auch nur dann korrekt funktionieren muss die Virtualisierungslosung zwei Features implementieren namlich Ring Deprivilegierung und Ring Aliasing Die Ring Deprivilegierung sorgt dafur dass das Gastsystem alle Befehle so ausfuhren kann als hatte es Ring 0 Berechtigungen auf der Hardware obwohl es durch die Virtualisierung weniger privilegierte Berechtigungen hat Das Ring Aliasing sorgt dafur dass das Gastsystem wenn es eine Aktion ausfuhrt immer die Antwort erhalt die es erhalten wurde wenn der Befehl mit Ring 0 Berechtigungen ausgefuhrt worden ware Beispielsweise existiert ein Befehl zur Abfrage des Privilegierungslevels der mit allen Berechtigungsleveln aufgerufen werden darf Wurde ein Gastsystem diesen Befehl ohne Ring Aliasing aufrufen wurde es Ring 1 oder 3 als Antwort erhalten mit Ring Aliasing erhalt es Ring 0 2 Primar und Shadowstrukturen Bearbeiten Der Hypervisor benotigt ausserdem eigene Speicherbereiche in denen Verwaltungsdaten z B zu den Zustanden der verschiedenen VMs gespeichert werden Dabei muss sichergestellt werden dass die zur VM gehorigen Speicherbereiche fur diese zwar sichtbar und ggf auch anderbar sind jedoch durfen die abgelegten Verwaltungsdaten des Hypervisors nicht sichtbar sein oder gar verandert werden Der Speicher muss vielmehr so erscheinen als wurde er exklusiv durch die jeweilige VM benutzt Um das zu gewahrleisten werden die entsprechenden Speicherbereiche mehrfach vorgehalten In der Primarstruktur werden die Hypervisor Daten in den fur jede VM vorhandenen Sekundar oder auch Shadowstrukturen genannten Bereichen der VMs gespeichert Fur Prozessorregister werden die Zugriffe durch den Hypervisor normalerweise abgefangen trapped und der Zustand des Prozessors uber die Shadowstruktur emuliert Bei jedem Speicherzugriff der VMs muss der Hypervisor kontrollieren ob es sich um einen solchen besonders geschutzten Speicherbereich handelt und ggf die Daten aus der Shadowstruktur der jeweiligen VM statt aus der Primarstruktur zur Verfugung stellen jedoch ohne dass die VM aus ihrer Sicht dies feststellen kann Diese Technik wird auch als Tracing bezeichnet 3 Softwarebasierte Vollvirtualisierung fur die x86 Architektur Bearbeiten Um diese Funktionen zu implementieren wird normalerweise ein nach der Trap and Emulate Methode funktionierendes Verfahren 4 bereits hardwareseitig im Prozessor bereitgestellt Es stand in der x86 Architektur bis 2006 danach siehe hier aber keine Hardwareunterstutzung fur die Virtualisierung zur Verfugung so dass o g Funktionen softwareseitig implementiert werden mussten Allerdings lasst sich das Trap and Emulate Verfahren nicht softwareseitig ohne Hardwaresupport im Prozessor umsetzen 3 sodass man fur die softwarebasierte Virtualisierung einen anderen Weg gehen musste Die sogenannte Binarcode Ubersetzung wird eingesetzt um Anweisungen des Gastsystems auf Prozessorinstruktionslevel von Ring 3 Ring 1 Anweisungen in entsprechende Ring 0 Anweisungen des Host Systems zu ubersetzen und zwar in geeigneter Art und Weise um Ring Deprivilegierung und Ring Aliasing umzusetzen 3 3 5 Eine Reihe von wichtigen Datenstrukturen die durch den Prozessor benutzt werden mussen geshadowed werden Da die meisten Gastbetriebssysteme paged virtual memory benutzen und direkter Zugriff auf die Speicherbereiche ggf zum Uberschreiben von Daten des Hypervisors bzw anderer VMs fuhren wurde muss einiges was normalerweise durch die Memory Management Unit des Prozessors geleistet wird softwareseitig im Hypervisor nochmals implementiert werden um dies zu verhindern 6 5 3 Insbesondere ist es eben erforderlich den direkten Zugriff der Gastsysteme auf die primaren Seitentabellen zu verhindern indem alle Zugriffe darauf abgefangen und softwareseitig emuliert werden Die x86 Architektur setzt ausserdem hidden states ein das sind Prozessorzustandsdaten die nicht in Prozessorregistern sondern ausserhalb des Prozessors im Speicher abgelegt sind um Segment Deskriptoren des Prozessors zwischenzuspeichern und ggf wiederherzustellen Sobald die Speicherbereiche in den Prozessor geladen wurden um die Segmentdeskriptoren wiederherzustellen wird der fur den hidden state ursprunglich verwendete Speicherbereich freigegeben und kann sofort z B durch Anwendungsprozesse uberschrieben werden Deswegen mussen auch Shadow Descriptor Tables implementiert werden um Anderungen an diesen Speicherbereichen durch die VMs nachvollziehen zu konnen 7 I O Gerate der Gastsysteme die im Hostbetriebssystem nicht unterstutzt werden mussen durch entsprechende Softwareemulatoren auf dem Hostbetriebssystem emuliert werden 8 Um diese komplexen Aufgaben softwareseitig zu implementieren wurden die ersten Virtualisierungsprodukte als Typ 2 Hypervisoren zum Einsatz auf Workstation Computern konzipiert Der Hypervisor wurde auf dem Hostbetriebssystem in einem Kernelmodul ausgefuhrt Dadurch mussten zumindest keine Treiber fur die Hosthardware entwickelt werden da ohnehin schon sehr viel Aufwand zur Implementierung der oben beschriebenen Verfahren notwendig war 8 Diese Art der Implementierung des Hypervisors fuhrte zu geringerer relativer Performance der VMs im Relation zur Performance des Hostprozessors insbesondere aufgrund der softwareseitig reimplementierten Teile der MMU im Vergleich zur Performance von VMs auf CPU Architekturen die bereits hardwareseitig eine Virtualisierung der MMU vorsehen wie z B die IBM System 370 Architektur 3 10 9 17 and 21Es gab ausserdem eine kontroverse wissenschaftliche Diskussion daruber ob die x86 Architektur ohne hardwaregestutzte Virtualisierungsfeatures wie hier beschrieben uberhaupt die Voraussetzungen zur Virtualisierung gemass den von Popek and Goldberg aufgestellten Kriterien erfullt VMware Forscher zeigten 2006 in einem ASPLOS Aufsatz dass die oben dargestellten Techniken die x86 Plattform virtualisierbar im Sinne der drei von Popek und Goldberg aufgestellten Kriterien macht jedoch nicht mit Hilfe der ebenfalls von Popek und Goldberg beschriebenen klassischen trap and emulate Technik 3 2 3 Softwarebasierte Paravirtualisierung fur die x86 Architektur Bearbeiten Ein anderer Ansatz zur Implementierung der Virtualisierung wurde von Hypervisoren wie Denali L4 und Xen verfolgt Um die Implementierung zu vereinfachen wurde eine grundsatzliche Forderung nicht umgesetzt namlich die dass das Gastbetriebssystem unverandert sowohl auf einem virtualisierten wie auf einem nicht virtualisierten System lauffahig sein solle Es wurden spezielle Versionen der Gastbetriebssysteme entwickelt die fur den Betrieb mit dem jeweiligen Hypervisor abgestimmt waren Diese Hypervisoren virtualisierten dabei besonders schwierig zu implementierende und performancehemmende Aspekte der x86 Architektur nicht z B die I O Virtualisierung Dieser als Paravirtualisierung bezeichnete Ansatz kann signifikante Performancegewinne bringen wie im SOSP Xen Aufsatz von 2003 nachgewiesen wird 10 Die Paravirtualisierung spielt heute vor allem im Embedded Umfeld noch eine wichtige Rolle Softwarebasierte Vollvirtualisierung fur die x86 64 Architektur Bearbeiten Die erste Version von x86 64 von AMD AMD64 erlaubte keine ausschliesslich softwarebasierte Virtualisierung mehr da es keinen Support fur Segmentierung im Long Mode also fur die 64 Bit Adressierung mehr bot und damit den Schutz des Speichers des rein softwarebasierten Hypervisors nicht erlaubte 11 12 11 and 20 Die Revisionen D und alle folgenden 64 Bit AMD Prozessoren grob gesagt alle in 90 nm Technologie und darunter entworfenen Chips wurde mit grundlegendem Support fur Segmentation im Long Mode ausgestattet womit 64 Bit Gastsysteme auf 64 Bit Hostsystemenen uber Binarcode Ubersetzung virtualisiert werden konnten Intel bot ebenfalls keinen Support fur Segmentierung im Long Mode fur seine x86 64 Prozessoren an wodurch wie auch bei AMDs ersten Chips keine softwarebasierte 64 Bit Virtualisierung moglich war Im Unterschied zu AMD bot Intel allerdings mit VT x zu diesem Zeitpunkt bereits hardwareunterstutzte Virtualisierung fur seine 64 Bit Prozessoren an 13 14 4Hardwareunterstutzte Virtualisierung Bearbeiten2005 bzw 2006 brachten Intel und AMD unabhangig voneinander Prozessormodelle mit Befehlssatzerweiterungen zur Virtualisierungsunterstutzung auf den Markt Die erste Generation dieser Prozessoren adressierte vor allem das Problem der Deprivilegierung Verbesserungen bezuglich der virtualisierten Systemspeicherverwaltung fur VMs wurden in spateren Prozessormodellen hinzugefugt Dazu gehort im Besonderen die hardwareseitige Erweiterung bestimmter Speicher Register um es virtuellen Maschinen zu ermoglichen direkt ohne den Umweg uber den Virtual Machine Manager VMM auf diese Ressourcen zuzugreifen In den folgenden Jahren wurde diese Technik dann unter verschiedenen Bezeichnungen hauptsachlich auf Server Chipsatze und Server Netzwerkkarten adaptiert Prozessoren CPU Bearbeiten Virtual 8086 Mode Bearbeiten Aufgrund der grossen Schwierigkeiten mit dem Protected Mode des 80286 der selbst nur bedingt tauglich war parallel mehrere MS DOS Applikationen zu betreiben fuhrte Intel mit dem 80386er Prozessor den Virtual 8086 Mode ein der eine virtualisierte 8086 Umgebung ermoglichte Hardwareunterstutzung fur die Virtualisierung des Protected Mode wurde durch Intel erst gut 20 Jahre spater im Prozessorbefehlssatz implementiert 15 Der Virtual 8086 Mode lasst sich softwareseitig allerdings erkennen und erlaubt den Programmen Zugriff auf die Erweiterungen die mit dem 286er spateren Prozessorgenerationen eingefuhrt wurden AMD Virtualisierung AMD V Bearbeiten nbsp AMD Phenom II CPUAMD entwickelte die erste Generation von Befehlssatzerweiterungen fur die Virtualisierungsunterstutzung unter dem Namen Pacifica und brachte sie schliesslich unter dem Namen AMD Secure Virtual Machine SVM 16 auf den Markt Spater wurde die Technologie erneut umbenannt und wird bis heute unter dem Namen AMD Virtualization kurz AMD V vermarktet Am 23 Mai 2006 brachte AMD den Athlon 64 den Athlon 64 X2 und den Athlon 64 FX als erste Prozessoren mit AMD V Unterstutzung auf den Markt AMD V ist auch auf den Prozessorfamilien Athlon 64 und Athlon 64 X2 mit Revisionsnummern F und G basierend auf dem AM2 Sockel Turion 64 X2 und Opteron Prozessoren der 2 17 und 3 Generation 18 sowie den Prozessoren Phenom und Phenom II verfugbar Auch die Prozessorfamilie AMD Fusion unterstutzt AMD V Die einzigen Sempron Prozessoren die AMD V unterstutzten sind die Versionen Huron und Sargas Nicht unterstutzt wird AMD V von allen Prozessoren mit 939 Sockel AMD Opteron CPUs ab der 0x10 Barcelona Line und Phenom II CPUs unterstutzen eine fortgeschrittene Virtualisierungstechnologie die von AMD Rapid Virtualization Indexing genannt wird wahrend der Entwicklung wurde sie als Nested Page Tables bezeichnet Intel fuhrte spater eine vergleichbare Technologie ein Extended Page Tables EPT genannt Die im Allgemeinen als Second Level Address Translation kurz SLAT bezeichnete Technologie unterstutzt die Page Table Virtualisierung die vor allem das Problem der softwareseitig zu implementierenden Shadow Struktur Synchronisation fur VMs lost Notebook Prozessoren der AMD A4 Serie wie der A 9120 beinhalten AMD Virtualisierung 19 Intel Virtualisierungstechnologie VT x Bearbeiten nbsp Intel Core i7 Bloomfield CPUZu Beginn noch unter dem Codenamen Vanderpool gefuhrt stellt die schliesslich VT x genannte Technologie Hardwareunterstutzung fur die Virtualisierung auf Intel x86 Prozessoren bereit Am 13 November 2005 fuhrte Intel mit den Modellen 662 und 672 der Pentium 4 Reihe die ersten beiden Prozessoren mit VT x Unterstutzung ein Gleichzeitig wurde eine vergleichbare Technologie fur die Itanium Prozessorfamilie unter der Bezeichnung VT i vorgestellt Eine der wichtigsten Neuerungen durch VT x ist die Einfuhrung eines weiteren ausschliesslich fur die Virtualisierung gedachten Berechtigungskonzepts neben dem Ring Konzept Es werden zwei neue Berechtigungslevels VMX Root Operation und VMX non Root Operation eingefuhrt Der Hypervisor wird im VMX Root Operation ausgefuhrt VMs dagegen im VMX non Root Operation In beiden Modi sind Ring 0 bis Ring 3 als Berechtigungen vorhanden jedoch konnen Ring 0 Instruktionen die im VMX non Root Operation durch VMs ausgefuhrt werden nun durch den Hypervisor im VMX Root Operation gefangen werden es handelt sich also um eine Implementierung des trap and emulate Verfahrens 4 Damit ist das Problem der Deprivilegierung gelost und muss nicht mehr uber Binar Translation softwareseitig implementiert werden 2 Nach wie vor unterstutzen jedoch nicht alle Intel Prozessoren VT x 20 Ob VT x unterstutzt wird oder nicht kann sogar fur unterschiedliche Versionen identifizierbar anhand von Intels sSpec Number desselben Prozessormodells variieren 21 22 Selbst im Mai 2011 unterstutzt der vorwiegend fur den Laptopeinsatz konzipierte P6100 VT x nicht 23 Eine vollstandige Liste aller Intel Prozessoren mit VT x Unterstutzung findet man auf der Intel eigenen Website 24 Bei einigen Mainboards muss Intels VT x Feature ausserdem explizit uber die BIOS Einstellungen aktiviert werden 25 Mit der Nehalem Prozessorfamilie fuhrte Intel eine von Intel selbst als Extended Page Tables EPT 26 bezeichnete Technologie ein 27 28 Die im Allgemeinen als Second Level Address Translation kurz SLAT bezeichnete Technologie unterstutzt die Page Table Virtualisierung 29 die vor allem das Problem der softwareseitig zu implementierenden Shadow Struktur Synchronisation fur VMs lost Mit der Westmere Prozessorreihe erganzte Intel ein Feature welches es erlaubt logische Prozessoren direkt im Real Mode zu starten Das Feature wird von Intel Unrestricted Guest genannt und setzt das vorher eingefuhrte EPT Feature voraus 30 31 Eine als VMCS Shadowing bezeichnete Technologie erlaubt seit der Einfuhrung mit Prozessoren der Haswell Prozessorfamilie hardwareunterstutzte geschachtelte Virtualisierung 32 Die sogenannte Virtual Machine Control Structure VMCS eine Speicherstruktur die fur jede VM genau einmal vorhanden ist wird durch den VMM verwaltet das heisst bei jedem Wechsel des Ausfuhrungskontexts von einer VM zu einer anderen wird die jeweilige VMCS wiederhergestellt und legt den Zustand der Virtuellen Maschine fest 33 Sobald mehr als ein VMM oder ein VMM in einem VMM geschachtelt ausgefuhrt wird entsteht ein ahnliches Problem wie bei den Seitentabellenzugriffen die mit EPT RVI bzw Second Level Address Translation gelost wurden die VMCS Struktur muss nun mehrfach geshadowed werden innerhalb des Gast VMM des VMM und nochmals auf den eigentlichen Prozessor bzw Speicher Um den Aufwand dafur zu reduzieren wurden mit der Haswell Generation hardwareunterstutzte Shadow VMCS eingefuhrt 34 VIA Virtualisierung VIA VT Bearbeiten Mit den VIA Nano 3000 Prozessoren 35 und spateren Prozessoren fuhrte VIA eine als VIA VT bezeichnete Hardwareunterstutzung fur die Virtualisierung ein die kompatibel zu Intels VT x Erweiterung ist Interrupt Virtualisierung AMD AVIC Intel APICv Bearbeiten 2012 kundigte AMD ihre Advanced Virtual Interrupt Controller AVIC genannte Befehlssatzerweiterung an die darauf abzielt die Verwaltung und Virtualisierung von Interrupts effizienter durch Hardwaresupport zu implementieren 36 Es existieren jedoch noch keine AMD Prozessoren die diese Erweiterung auch implementieren 37 Ebenfalls 2012 kundigte Intel eine vergleichbare Technologie zur Interrupt Virtualisierung an die anfanglich keine eigene Bezeichnung bekam 38 Spater wurde sie als APIC virtualization APICv 39 bezeichnet und erstmals in der Ivy Bridge Prozessorfamilie implementiert die unter der Bezeichnung Xeon E5 26xx v2 seit Ende 2013 verfugbar und Xeon E5 46xx v2 seit Anfang 2014 verfugbar verkauft werden 40 Grafikprozessoren GPU Bearbeiten Grafikprozessoren Virtualisierungstechnologie Intel GVT d GVT g GVT s Bearbeiten Mit der integrierten GPU Intel Iris Pro wurde durch Intel am 1 Januar 2014 eine Technologie bezeichnet als Intel GVT d GVT g und GVT s zur hardwarebasierten Unterstutzung der Virtualisierung fur Grafikprozessoren angekundigt Intels integrierter Grafikprozessor Iris Pro kann mit Hilfe der Erweiterung GVT d entweder explizit einer VM zugewiesen werden oder auf Timesharing Basis zwischen mehreren VMs geteilt werden wobei der native Grafiktreiber benutzt werden kann GVT g oder zwischen mehreren VMs unter Verwendung eines virtuellen Grafiktreibers geteilt werden GVT s 41 PC Chipsatz Bearbeiten Speicher und I O Virtualisierung muss durch den Chipsatz unterstutzt werden da dieser auch die entsprechenden Funktionen hardwareseitig fur den Prozessor zur Verfugung stellt 42 Normalerweise muss dieses Feature im BIOS eingeschaltet werden und das BIOS muss in der Lage sein diese Funktionen auch zu unterstutzen und zu nutzen Das bedeutet auch das BIOS muss in einer Version vorliegen die an die Virtualisierungsfunktionen des Chipsatzes angepasst ist I O MMU Virtualisierung AMD Vi und VT d Bearbeiten Eine Input Output Memory Management Unit IOMMU erlaubt Gast VMs die direkte Benutzung von Peripheriegeraten z B Netzwerkkarten Grafikkarten Festplattenkontrollern durch das Mapping von Speicherzugriffen und Interrupts Diese Technik wird manchmal auch als PCI Passthrough bezeichnet 43 Eine IOMMU erlaubt es Betriebssystemen und VMs ausserdem Peripheriegerate durch Pufferung leichter zu benutzen deren Speicher oder Verarbeitungsgeschwindigkeit kleiner ist als der der VM oder Betriebssysteme Die entsprechenden Mechanismen werden durch die IOMMU implementiert und mussen damit nicht durch die Betriebssysteme bzw VMs implementiert werden Sowohl AMD als auch Intel haben entsprechende Spezifikationen herausgebracht AMDs I O Virtualisierungs Technologie AMD Vi ursprunglich IOMMU genannt 44 Intels Virtualization Technology for Directed I O VT d 45 welches durch die meisten high end jedoch nicht alle Nehalem und neuere Intel Prozessoren unterstutzt wird 46 Neben der Unterstutzung durch die CPU mussen sowohl das Mainboard der Chipsatz als auch das BIOS oder UEFI die IOMMU Virtualisierungsfunktionen unterstutzen um diese auch wirklich nutzbar zu machen Netzwerk Virtualisierung VT c Bearbeiten Intels Virtualization Technology for Connectivity VT c 47 ist ein Oberbegriff fur mehrere Technologien insbesondere VDMQ und SR IOV zur Vereinfachung des Netzwerkmanagements und Beschleunigung des Netzwerkszugriffs fur den Hypervisor bzw die Gast VMs 48 Virtual Machine Device Queues VMDQ Bearbeiten Um den Netzwerkverkehr jeweils der richtigen virtuellen Maschine zuordnen zu konnen benotigt der Hypervisor eine einem Netzwerkswitch vergleichbare Funktion zur Aufteilung des Netzwerkverkehrs auf die Gast VMs Um diese Funktion hardwareseitig zu unterstutzen hat Intel mit VMDQ im Intel Ethernet Controller bereits einen Mechanismus implementiert der diese Verteilung fur den Hypervisor ubernimmt und damit die Handhabung vereinfacht und beschleunigt 48 Dabei wird jeder VM eine separate Queue fur seine Netzwerkpakete innerhalb des Netzwerkadapters zugewiesen wodurch die Quelle und Zielerkennung fur Netzwerkpakete vereinfacht und beschleunigt wird Die Quelle und Zielerkennung sowie das erforderliche Umkopieren der Netzwerkpakete im Speicher zwischen den Queues und den VMs wird von einem virtuellen Switch innerhalb des Hypervisors erledigt 49 PCI SIG Single Root I O Virtualization SR IOV Bearbeiten nbsp SR IOV KomponentenPCI SIG Single Root I O Virtualization SR IOV stellt einen Satz von nicht fur x86 spezifisch konzipierten I O Virtualisierungs Methoden basierend auf PCI Express PCIe Hardware bereit die durch die PCI SIG standardisiert sind 50 Die Technologie ermoglicht die parallele Nutzung eines einzelnen Intel Ethernet Server Adapter Ports durch mehrere virtuelle Funktionen IT Administratoren konnen so bereitgestellte virtuelle Ports nutzen um mehrere separate Verbindungen zu virtuellen Maschinen herzustellen 48 Address translation services ATS unterstutzt native IOV uber PCI Express durch Address Translation Die Benutzung durch Software erfordert die Unterstutzung einer neuen Art von Transaktion um die Address Translation einzuschalten Single root IOV SR IOV or SRIOV unterstutzt native IOV in existierenden Single Root PCI Express Topologien Die Benutzung durch Software erfordert die Unterstutzung neuer Device Eigenschaften um virtualisierte Konfigurationen zu verwalten Multi root IOV MR IOV unterstutzt native IOV in neuen Topologien z B Blade Servern Die SR IOV Funktionalitat wird in verschiedenen Schichten implementiert die sich folgendermassen einteilen lassen Virtuelle Maschine mit Netzwerkkarte basierend auf virtuellen Funktionen VM Interface mit der Virtuellen Maschine VM Management Applikation Hypervisor Management Virtual Machine Hypervisor Hardware Funktionen Netzwerkkarte mit aktiviertem SR IOV Support Virtuelle Funktionen aus Hardwarefunktionen abgeleitet Netzwerkkarte mit aktiviertem SR IOV Support Externes NetzwerkWeblinks BearbeitenDie Grundlagen der Intel Virtualisierungs Technologien Servermeile Technet Everything You Need to Know About the Intel Virtualization Technology A special course at the University of San Francisco on Intel EM64T and VT Extensions 2007 2 day open source amp open access class on writing a VT x VMMEinzelnachweise Bearbeiten Keith Adams Ole Agesen A Comparison of Software and Hardware Techniques for x86 Virtualization PDF 153 kB VMware ASPLOS 06 October 21 25 2006 San Jose California Surprisingly we find that the first generation hardware support rarely offers performance advantages over existing software techniques We ascribe this situation to high VMM guest transition costs and a rigid programming model that leaves little room for software flexibility in managing either the frequency or cost of these transitions a b c Intel Virtualization Technology Hardware Support for Efficient Processor Virtualization Intel com 10 August 2006 abgerufen am 2 Mai 2010 a b c d e f A Comparison of Software and Hardware Techniques for x86 Virtualization PDF VMware abgerufen am 8 September 2010 a b Gerald J Popek and Robert P Goldberg Formal Requirements for Virtualizable Third Generation Architectures In Communications of the ACM 17 Jahrgang Nr 7 1974 S 412 421 doi 10 1145 361011 361073 USENIX Technical Program Abstract Security Symposium 2000 Usenix org 29 Januar 2002 abgerufen am 2 Mai 2010 Virtualization architectural considerations and other evaluation criteria PDF VMware abgerufen am 8 September 2010 Patent US6397242B1 Virtualization system including a virtual machine monitor for a computer with a segmented architecture Angemeldet am 26 Oktober 1998 veroffentlicht am 28 Mai 2002 Anmelder VMWare Inc Erfinder Scott W Davine et al a b Patent US6496847B1 System and method for virtualizing computer systems Angemeldet am 10 September 1998 veroffentlicht am 17 Dezember 2002 Anmelder VMWare Inc Erfinder Edouard Bugnion et al VMware and Hardware Assist Technology PDF Abgerufen am 8 September 2010 Xen and the Art of Virtualization PDF Abgerufen am 2 September 2014 How retiring segmentation in AMD64 long mode broke VMware Pagetable com 9 November 2006 abgerufen am 2 Mai 2010 VMware and CPU Virtualization Technology PDF VMware abgerufen am 8 September 2010 VMware KB Hardware and firmware requirements for 64bit guest operating systems Kb vmware com abgerufen am 2 Mai 2010 Software and Hardware Techniques for x86 Virtualization PDF Archiviert vom Original am 5 Januar 2010 abgerufen am 2 Mai 2010 Tom Yager Sending software to do hardware s job Hardware InfoWorld Images infoworld com 5 November 2004 archiviert vom Original am 14 September 2014 abgerufen am 8 Januar 2014 33047 SecureVirtualMachineManual 3 0 book PDF Abgerufen am 2 Mai 2010 What are the main differences between Second Generation AMD Opteron processors and first generation AMD Opteron processors publisher Amd com Archiviert vom Original am 15 April 2009 abgerufen am 4 Februar 2012 What virtualization enhancements do Third Generation AMD Opteron processors feature Amd com archiviert vom Original am 16 April 2009 abgerufen am 4 Februar 2012 9to5tech Laptops Under 40000 21 Dezember 2020 abgerufen am 24 Dezember 2020 englisch Jon Stokes Microsoft Intel goof up Windows 7 s XP Mode Arstechnica com 8 Mai 2009 abgerufen am 2 Mai 2010 Processor Spec Finder Processorfinder intel com abgerufen am 2 Mai 2010 Intel Processor Number Details In Intel Intel 3 Dezember 2007 abgerufen am 3 Oktober 2008 Intel Pentium P6100 3M cache 2 00 GHz Ark intel com abgerufen am 4 Februar 2012 About Intel Virtualization Technology abgerufen am 23 August 2014 Windows Virtual PC Configure BIOS Microsoft abgerufen am 8 September 2010 Gil Neiger A Santoni F Leung u a Intel Virtualization Technology Hardware Support for Efficient Processor Virtualization In Intel Technology Journal 10 Jahrgang Nr 3 Intel S 167 178 doi 10 1535 itj 1003 01 download intel com Memento des Originals vom 17 Marz 2008 im Internet Archive abgerufen am 6 Juli 2008 First the Tick Now the Tock Next Generation Intel Microarchitecture Nehalem PDF Intel abgerufen am 6 Juli 2008 englisch Technology Brief Intel Microarchitecture Nehalem Virtualization Technology PDF Intel 25 Marz 2009 abgerufen am 3 November 2009 Matt Gillespie Best Practices for Paravirtualization Enhancements from Intel Virtualization Technology EPT and VT d In Intel Software Network Intel 12 November 2007 abgerufen am 6 Juli 2008 Intel added unrestricted guest mode on Westmere micro architecture and later Intel CPUs it uses EPT to translate guest physical address access to host physical address With this mode VMEnter without enable paging is allowed If the unrestricted guest VM execution control is 1 the enable EPT VM execution control must also be 1 PDF 4th Gen Intel Core vPro Processors with Intel VMCS Shadowing PDF Intel abgerufen am 17 August 2013 englisch Understanding Intel Virtualization Technology VT Memento vom 8 September 2014 im Internet Archive MS PowerPoint Abgerufen am 1 September 2014 The what where and why of VMCS shadowing Abgerufen am 1 September 2014 VIA Introduces New VIA Nano 3000 Series Processors Memento vom 22 Januar 2013 im Internet Archive via com Wei Huang Introduction of AMD Advanced Virtual Interrupt Controller XenSummit 2012 Jorg Rodel Next generation Interrupt Virtualization for KVM AMD August 2012 abgerufen am 12 Juli 2014 Jun Nakajima Reviewing Unused and New Features for Interrupt APIC Virtualization Intel 13 Dezember 2012 abgerufen am 12 Juli 2014 Khang Nguyen APIC Virtualization Performance Testing and Iozone In software intel com 17 Dezember 2013 abgerufen am 12 Juli 2014 Product Brief Intel Xeon Processor E5 4600 v2 Product Family Intel 14 Marz 2014 abgerufen am 12 Juli 2014 Sunil Jain Intel Graphics Virtualization Update Intel Mai 2014 abgerufen am 11 Mai 2014 englisch Intel platform hardware support for I O virtualization Intel com 10 August 2006 abgerufen am 4 Februar 2012 Linux virtualization and PCI passthrough IBM abgerufen am 10 November 2010 AMD I O Virtualization Technology IOMMU Specification Revision 1 26 Abgerufen am 24 Mai 2011 Intel Virtualization Technology for Directed I O VT d Architecture Specification PDF Abgerufen am 4 Februar 2012 Intel Virtualization Technology for Directed I O VT d Supported CPU List Ark intel com abgerufen am 4 Februar 2012 Intel Virtualization Technology for Connectivity VT c Intel com abgerufen am 27 Mai 2014 a b c Intel Connectivity Virtualisierungstechnik Abgerufen am 1 September 2014 Are VMDq and SR IOV performing the same function PCI SIG I O Virtualization IOV Specifications Pcisig com 31 Marz 2011 abgerufen am 4 Februar 2012 Abgerufen von https de wikipedia org w index php title X86 Virtualisierung amp oldid 229416058 AMD V