Hardware-Unterstützung für x86-virtualisierung

Größe: px
Ab Seite anzeigen:

Download "Hardware-Unterstützung für x86-virtualisierung"

Transkript

1 Hardware-Unterstützung für x86-virtualisierung Benjamin Flach Fakultät für Informatik, Technische Universität München Zusammenfassung Eine effiziente Virtualisierung ist nur auf Basis einer geeigneten Hardware realisierbar. Die weit verbreitete x86-architektur erfüllt die dafür notwendigen Anforderungen nicht. Erweiterungen sind also nötig, um die Architektur für die sich rasch verbreitende Virtualisierung zu verbessern. Diese Arbeit stellt die formalen Anforderungen an effiziente Virtualisierung vor und erläutert die Funktionsweise einiger Hardware- Erweiterungen. 1 Einführung Virtualisierung ganzer Systeme gibt es schon seit einigen Jahrzehnten. Ebenso vielfältig wie die verschiedenen Umsetzungen im Laufe der Zeit sind auch die Gründe, warum Virtualisierung verwendet wird, wobei Ziel und Umsetzung immer sehr eng zusammen arbeiten müssen. Es gibt drei Hauptziele von Virtualisierung, die gleichzeitig angestrebt werden können, aber nicht müssen: Effizienz, Ressourcen-Kontrolle und Äquivalenz mit der virtualisierten Hardware. System-VMs erhöhen die Sicherheit und können eine vorhandene Hardware durch mehrfache Belegung mit Gast-Betriebssystemen effizienter ausnutzen, wohingegen Prozess-VMs auf das Schaffen von Kompatibilität über Betriebssystem- und Architektur-Grenzen hinweg ausgerichtet sind. Näheres dazu findet sich in [SN05]. Virtualisierung basiert auf einer Aufteilung in einen Wirt (host) und Gast (guest). Im Wirt läuft ein Virtual Machine Monitor (VMM ), der für die Virtualisierung zuständig ist. Er isoliert die Gäste voneinander, teilt ihnen ihre Ressourcen zu und ermöglicht deren gleichzeitige Ausführung, wobei jeder Gast scheinbar nativ ausgeführt wird und meint, über die volle Kontrolle der Hardware zu verfügen. Außerdem regelt der VMM auch die Emulation, wenn sich Wirt- und Gast-ISA (Instruction Set Architecture) unterscheiden [SN05]. Warum wird also Hardware-Unterstützung für die Virtualisierung benötigt, wenn das Kontrollprogramm dafür in Software realisiert wird? Die x86-prozessorarchitektur weist einige Schwächen auf, die die Virtualisierung deutlich erschwert. Ziel der Hardware-Unterstützung ist es nun, diese Schwächen zu beseitigen und eine möglichst effiziente Virtualisierung zu ermöglichen. Grundsätzlich lässt sich auf jeder Architektur jede andere Prozessorarchitektur durch naive Interpretation, also durch Nachbildung der einzelnen Befehle in Software, virtualisieren. Dies ist allerdings sehr ineffizient [SN05] und daher für die Praxis untauglich. Hardware- Unterstützung versucht also, den Anteil der zu interpretierenden Instruktionen zu verringern und damit die Performanz zu steigern. Diese Arbeit möchte einige jener Hardware-Unterstützungen vorstellen und ihre Funktionsweise erläutern. Zu Beginn werden die formalen Anforderungen an eine effiziente Virtualisierung beschrieben, um anschließend die x86-architektur ohne Erweiterungen als Beispiel für eine schlecht zu virtualisierende Rechnerarchitektur vorzustellen. Um diese Unzulänglichkeiten zu beseitigen, wurden bereits einige Hardware-Erweiterungen für x86 entwickelt. Davon werden im Kapitel 4 CPU- Erweiterungen, Speicher- und E/A-Virtualisierung vorgestellt.

2 2 Formale Anforderungen Gerald Popek und Robert Goldberg haben 1974 in [PG74] durch ihre Forschungen formale Anforderungen erarbeitet, die eine effizient zu virtualisierende Architektur erfüllen muss. Davor gab es dazu kein gesichertes Wissen, sondern nur empirische Erfahrung, welche Rechner-Architekturen sich gut virtualisieren lassen und welche zu Problemen führen. Dieses Kapitel stellt die Anforderungen aus [PG74] vor. Als Grundvoraussetzung für die weiteren Überlegungen wird von einer so genannten Rechnerarchitektur der 3. Generation ausgegangen. Diese muss folgende vier Voraussetzungen erfüllen: 1. Zwei Betriebsmodi des Prozessors mit unterschiedlich privilegierten Berechtigungen müssen vorhanden sein. Dies sind in der Praxis der System-Modus und Benutzer-Modus. 2. Die Hardware ist verpflichtet, Speicherschutz und Speicherallokation zu unterstützen. In der x86-architektur wird dies über Seitentabellen realisiert. 3. Asynchrone Unterbrechungen sind zwingend notwendig, um die Kommunikation mit E/A-Systemen zu ermöglichen. 4. Durch Traps werden Übergangsstellen zur Verfügung gestellt, durch die nichtprivilegierte Programme (im Benutzer-Modus) kontrolliert über fest definierte Schnittstellen höher privilegierte Systemroutinen (im System-Modus) aufrufen können. Im Folgenden wird davon ausgegangen, dass der Virtual Machine Monitor, der als Kontrollprogramm die Virtualisierung steuert, im System-Modus und sämtliche andere Software (inkl. Gast-Betriebssysteme) im Gast-Modus ausgeführt werden. Diese Funktionsweise einer virtuellen Maschine wird als System-VM bezeichnet, da ein gesamtes Computersystem inklusive Ein- und Ausgabegeräte nachgebildet wird. Den Aufbau verdeutlicht Abbildung 1. Nun werden die im weiteren Text verwendeten Begriffe nach [SN05] definiert: Privilegierte Instruktionen Instruktionen heißen genau dann privilegiert, wenn bei der Ausführung einer Instruktion im Benutzer-Modus generell eine Ausnahme erzeugt wird, während dies bei Ausführung im System-Modus nicht der Fall ist. Es reicht also nicht aus, wenn das Verhalten einer Instruktion in den zwei Modi verschieden ist! Sensitive Instruktionen So heißen Instruktionen, die auf privilegierte Ressourcen zugreifen. Es gibt dabei mehrere Arten von privilegierten Ressourcen: Die Kontroll-sensitiven (control sensitive), welche die Konfiguration des Systems verändern; also insbesondere die Hauptspeicher-Verwaltung oder den Prozessor-Modus beeinflussen. Die andere Gruppe heißt Verhaltens-sensitive (behavior sensitive) Instruktionen. Das Ergebnis ihrer Ausführung hängt von der Konfiguration der Ressourcen ab. Das sind zum Beispiel Registerzugriffe, deren Ziel vom Prozessor-Modus abhängt. Nicht-sensitive Instruktionen werden auch innocuous instructions genannt. Kritische Instruktionen sind diejenige Instruktionen, die sensitiv aber nicht privilegiert sind. 2

3 Abbildung 1: Aufbau einer System-VM nach [SN05] Diese Arten von Instruktionen hängen nicht von der Virtualisierung, sondern allein von der Prozessorarchitektur ab. Drei besondere Eigenschaften sollten bei effizienter Virtualisierung erfüllt sein: 1. Effizienz (efficiency property) Es ist das Ziel, dass alle nicht-sensitiven Befehle direkt auf der Hardware des Wirts ohne Eingriffe des VMM ausgeführt werden. Also soll insbesondere keine Interpretation stattfinden. 2. Ressourcen-Kontrolle (resource control property) Das Gast-Betriebssystem darf die Ressourcenzuteilung des VMM nicht überstimmen oder manipulieren können, da dies die korrekte Funktionsweise der Virtualisierung gefährdet. 3. Äquivalenz (equivalance property) Jedes Programm muss genau so ausführbar sein, wie wenn es ohne Einsatz von Virtualisierung ausgeführt würde und es volle Kontrolle über sämtliche Hardware hätte. Folgende Ausnahmen sind dabei akzeptabel: Durch die Existenz eines VMM steht weniger Hauptspeicher zur Verfügung. Dieses Problem wird meistens dadurch gelöst, dass dem Gast weniger Speicher zur Verfügung steht. Außerdem dürfen Timing-Unterschiede im Vergleich zu realer Hardware auftreten, denn der VMM verbraucht immer einen geringen Anteil Rechenzeit. Popek und Goldberg definieren einen VMM als ein Programm, das die Virtualisierung kontrolliert und diese Eigenschaften erfüllt. Satz von Popek und Goldberg: (engl. Original: [PG74, Theorem 1]) Für jeden gewöhnlichen Computer mit einer Architektur der 3. Generation kann ein Virtual Machine Monitor konstruiert werden, wenn die Menge der 3

4 sensitiven Instruktionen dieses Computers eine Teilmenge der privilegierten Instruktionen ist. Das bedeutet zusammengefasst: Es dürfen keine kritischen Instruktionen existieren! Auf diese Art und Weise darf nur der VMM auf privilegierte Ressourcen zugreifen, sonst könnten die Gast-Betriebssysteme die Virtualisierung erkennen, manipulieren oder sogar umgehen. Da die Gast-Betriebssysteme vollständig im Benutzer-Modus ausgeführt werden, erzeugen sensitive Instruktionen des Gast-Betriebssystems Ausnahmen. Diese fängt der VMM ab und führt eine entsprechende Ausnahme-Behandlung aus, die die Wirkung der Instruktion für den Gast nachbildet. Der VMM emuliert also den Befehl. Danach übergibt er wieder die Kontrolle an den Gast, der nun über das Ergebnis seines Befehls verfügt und nichts von der Mitarbeit des VMM bemerkt hat. 3 Die x86-architektur Hier soll die x86-architektur ohne die neu entwickelten VT-Erweiterungen, die teilweise in Kapitel 4 vorgestellt werden, als Beispiel für eine schlecht zu virtualisierende Prozessorarchitektur dienen. Bei deren Entwurf wurde es versäumt an Virtualisierung zu denken. Zwar erfüllen die x86-prozessoren die vier Anforderungen an eine Architektur der 3. Generation [RI00], aber das reicht wie in Kapitel 2 gesehen nicht aus. Die x86- Architektur stellt der Software vier Betriebsmodi zu Verfügung, darunter auch den von [PG74] geforderten System- und Benutzer-Modus. Für den Speicherschutz werden die notwendigen Schutzmaßnahmen durch Paging und Segmentation implementiert. Unterbrechungen und Ausnahmen exisiteren und ermöglichen somit einen Datenaustausch zwischen CPU bzw. Hauptspeicher und E/A-Geräten. Durch Call Gates sind Übergänge zwischen den vier Betriebs-Modi möglich; niedrig-privilegierte Programme können damit höher-privilegierte Systemroutinen aufrufen und somit den Betriebsmodus wechseln. Dass diese Architektur trotzdem so schlecht zu virtualisieren ist, liegt daran, dass kritische Instruktionen existieren. Es gibt also sensitive Instruktionen, die auf privilegierte Resourcen zugreifen, dabei im Benutzer-Modus allerdings keine Ausnahme auslösen. Als Folge daraus kann der VMM diese Befehle nicht abfangen, um ihre Wirkung durch Emulation für das Gast-Betriebssystem nachzubilden. So existieren beim Intel Pentium z.b. 17 kritische Instruktionen [RI00]. Dazu gehören unter anderem bestimmte Zugriffe auf Register (z.b. die Befehle SGDT, SIDT) oder Zugriffe, die Schutzmaßnahmen verletzen, wie Direktzugriffe auf Stack, physischen Speicher oder auch einige Sprünge (z.b. PUSHF, POPF, CALL, JMP). Es gibt trotz ungeeigneter Architekturen einige Lösungsmöglichkeiten, durch die diese Unzulänglichkeiten durch den VMM mit Hilfe von Software beseitigt werden. Ziel dabei ist es immer, die kritischen Instruktionen, die in den ausgeführten Programmen vorkommen, vor der Ausführung zu entdecken und zu umgehen [RI00]. Eine Möglichkeit ist die im Kapitel 1 angesprochene vollständige Interpretation, die definitionsgemäß jeden Befehl durch Interpretation nachbildet und somit sämtliche Probleme bei kritischen Instruktionen umgeht. Diese Lösung ist allerdings extrem ineffizient und es wird daher versucht, sie in der Praxis so weit wie möglich zu vermeiden. Oft werden durch Code-Patching kritische Instruktionen vor ihrer Ausführung durch den VMM erkannt und gegen andere Instruktionen ausgetauscht. Diese führen stattdessen einen Sprung in den VMM durch, dieser bildet die Wirkung des Befehls durch Emulation nach und führt anschließend die Ausführung 4

5 des Gast-Programms direkt nach dem kritischen Befehl fort. Dies entspricht also der selben Funktionsweise wie die Nachbildung sensitiver Instruktionen, die im Benutzer-Modus eine Ausnahme erzeugen. Nur müssen bei Code-Patching die zu emulierenden Befehle explizit durch den VMM gesucht werden, da sie nicht automatisch durch das Auftreten von Ausnahmen erkannt werden. Binärübersetzung bietet die selben Möglichkeiten wie Code-Patching, nur lassen sich hier noch weitere Optimierungen durch den VMM durchführen, da dabei ganze Code-Blöcke in die Wirt-ISA übersetzt werden. Es können also nicht nur kritische Instruktionen erkannt und ersetzt, sondern auch weitere Performanz-steigernde Optimierungen durchgeführt werden. In den Anfängen der Virtualisierungstechnik der x86-architektur wurde Paravirtualisierung eingesetzt. Dort wird der Quell-Code des Gastes so verändert, dass keine kritischen Instruktionen auftreten, sondern stattdessen direkt Systemroutinen des VMMs aufgerufen werden. Es sind also Veränderungen der eingesetzten Gast- Betriebssysteme notwendig. Das bedeutet im Umkehrschluss, dass nur Betriebssysteme paravirtualisiert werden können, deren Quell-Code zur Verfügung steht und verändert werden darf. Ferner können die Gast-Betriebssysteme erkennen, dass sie nicht nativ, sondern virtualisiert ausgeführt werden. Alle diese Lösungen erlauben eine Virtualisierung auf ungeeigneter Hardware, aber erfordern mehr Aufwand. Sie sind bis auf die Paravirtualisierung nicht so performant und benötigen im Fall der Paravirtualisierung sogar Änderungen an der eingesetzten Software. Intel und AMD haben inzwischen Virtualisierungserweiterungen für ihre Architekturen entwickelt und nennen sie VT-x (auch Vanderpool genannt) bzw. AMD-V (auch Pacifica genannt). 4 Hardware-Unterstützung Hardwareunterstützung für Virtualisierung versucht, die Hardware so zu verbessern, dass sie möglichst viele Aktionen zur Virtualisierung selbst durchführt und dem VMM somit Arbeit, Performanz-mindernde Emulation und einige Kontextwechsel durch Ausnahmebehandlungen erspart. Es werden also nicht nur kritische Instruktionen beseitigt, sondern auch andere Abläufe, wie zum Beispiel der Wechsel zwischen zwei Gast-Betriebssystemen automatisiert. Hier werden drei Hauptkategorien von Erweiterungen vorgestellt; zuerst die wichtigen CPU-Erweiterungen, dann Methoden zur Speichervirtualisierung und anschließend Hilfen zur Virtualisierung von E/A-Transaktionen. 4.1 CPU-Erweiterungen CPU-Erweiterungen dienen vor allem der Beseitigung von kritischen Instruktionen, schnelleren Wechseln zwischen Gast-Betriebssystemen und beschleunigter Abarbeitung von Ausnahmen und Unterbrechungen. Einführung neuer Modi Um kritische Instruktionen effizient aus einer immer wieder erweiterten Architektur zu beseitigen und dabei gleichzeitig die Kompatibilität zu wahren, wurde ein neuer niedriger-privilegierter Modus, der Gast-Modus (guest mode) eingeführt. In diesem Modus wird während der Virtualisierung eine direkte Ausführung des Gast-Codes 5

6 unterstützt; es ist also der Betriebsmodus für die Gast-Betriebssysteme [AA06]. Der bisher von der x86-architektur bekannte höher-privilegierter Modus wird Wirt- Modus (host mode) genannt. Er ist die Ausführungsgrundlage für den VMM oder ein Betriebssystem, wenn kein VMM existiert; also für native Ausführung von Betriebssystemen ohne Virtualisierung. Durch die Nutzung des bisherigen Modus als höher-privilegierten Modus müssen bei nativ ausgeführten Betriebssystemen keine Anpassungen durchgeführt werden, da die Architektur aus deren Sichtweise unverändert ist. Die alleinige Nutzung des Wirt-Modus entspricht also einem x86-prozessor ohne Virtualisierungs-Erweiterungen. Der Gast-Modus hingegen erzeugt bei allen sensitiven Instruktionen Ausnahmen, über die zurück in den VMM zur Interpretation des Befehls gesprungen werden kann. Deswegen enthält dieser Modus nur noch privilegierte und keine kritischen Operationen mehr. Sowohl Wirt- als auch Gast-Modus unterstützen die von x86-prozessoren bekannten vier Privilegierungsringe. So können Betriebssysteme auch im Gast-Modus keinen Unterschied zu einer x86-architektur ohne Virtualisierungs-Erweiterungen erkennen. Dieser Trick beseitigt ebenfalls die so genannten Ring-Aliasing und Ring Compression Probleme. Ring Aliasing bezeichnet die Probleme, die auftreten, wenn Software in einem Privilegierungsring ausgeführt wird, für den sie nicht entwickelt wurde. Bei Ring Compression befinden sich Betriebssystem und Nicht-Betriebssystem- Software im selben statt in verschiedenen Privilegierungsringen. Durch diese zwei neuen Modi exisiteren auch zwei neue Übergänge: von Wirt- nach Gast-Modus: VM-Eintritt (VM entry) Das ist der Übergang von VMM in das Gast-Betriebssystem. von Gast- nach Wirt-Modus: VM-Austritt (VM exit) Das ist der Übergang vom Gast-Betriebssystem in den VMM. Intel verwendet eine andere Nomenklatur und nennt den Wirt-Modus VMX root sowie den Gast-Modus VMX non-root [UNR + 05]. AMD beschränkt sich auf die allgemeinen Bezeichner Wirt- und Gast-Modus. Wie bereits angedeutet, unterscheidet sich das Verhalten bei der Ausführung im Gast-Modus deutlich vom Wirt-Modus [UNR + 05]. Dort sorgen bestimmte Befehle für einen VM-Austritt, also einem Übergang vom Gast-Betriebssystem in den VMM. Dies entspricht den Ausnahmen, die bei privilegierten Befehlen die Kontrolle vom Gast in den VMM transferieren [NSL + 06]. Das heißt, dass die VM-Austritte immer bei sensitiven Befehlen, die das Gast-Betriebssystem in Virtualisierung nicht nativ auf der Hardware abarbeiten kann, stattfinden. Somit sorgt die Hardware- Architektur automatisch dafür, dass die entsprechende Interpretationsroutine des VMM zur Nachbildung der Instruktion angesprungen wird. Über eine spezielle Datenstruktur VMBC, die noch vorgestellt wird, lässt sich für jeden Gast getrennt konfigurieren, ob bei Instruktionen, Ausnahmen oder Unterbrechungen VM-Austritte in den VMM stattfinden sollen. Das bringt den Vorteil, dass die Überprüfung, ob die Kontrolle dem VMM übertragen werden soll, in Hardware und nicht wie bisher in Software durch die Ausnahmebehandlung des VMM selbst durchgeführt werden kann. Auch dies bringt wieder geringere Performanzeinbußen mit sich, da weniger Kontextwechsel stattfinden müssen. Exkurs zu CPU-Erweiterungen des Intel Itanium Dort heißt die Erweiterung VT-i [UNR + 05] und bietet ähnliche Funktionen. Ein 6

7 zweiter Betriebsmodus führt neue, bisher nicht vorhandene Ausnahmen ein und ermöglicht damit den Übergang in den VMM. Ein PAL Firmware Layer dient als feste Schnittstelle zwischen VMM und Hardware. So sollen VMMs mit verschiedenen CPU-Typen immer gleich kommunizieren können, um Weiterentwicklungen bei der CPU zu ermöglichen und gleichzeitig mit den schon existierenden VMMs kompatibel zu bleiben. Genaueres findet sich für Interessierte in [UNR + 05] und [NSL + 06]. Einführung neuer Datenstrukturen Die neue Datenstruktur Virtual Machine Control Block (VMCB) [AA06] hilft das Verhalten des Prozessors im Gast-Modus bezüglich VM-Ein- und Austritten zu regeln. Wiederum hat Intel dafür einen eigenen Namen: Virtual Machine Control Structure (VMCS) Der VMCB unterstützt den VMM sowohl wie gerade erläutert bei Übergängen zwischen Gast-Betriebssystemen und VMM als auch bei einem Wechsel des aktiven Gastes. Die Datenstruktur enthält Speicher, in dem bei jedem VM-Austritt der Zustand des Prozessors automatisch gespeichert wird. Bei VM-Eintritten wird der Zustand des jeweiligen Gastes ebenso durch die Hardware wiederhergestellt [AA06]. Dies beschleunigt den Wechsel zwischen Gästen deutlich. Der VMCB ist in mehrere Sektionen unterteilt. Die zwei wichtigsten davon sind: Die Host-State-Area Diese speichert den Status des VMM, so dass dieser bei Ausführung eines Gastes gesichert und bei Bedarf jederzeit von der Virtualisierungs-Hardware automatisch wiederhergestellt wird. Die Guest-State-Area Diese enthält für jeden Gast den entsprechenden Zustand des virtuellen Prozessors, der zu diesem Gast gehört. Das sind zum Einen Register, welche die Prozessoroperationen steuern, z.b. das Segment-Register CR3 für die Konfiguration des Hauptspeichers, zum Anderen auch Zustand, der nicht über Register zugänglich ist; wie der aktuelle Zustand über die Unterbrechbarkeit des Prozessors. Dieser nicht-zugängliche Zustand müsste sonst durch den VMM über langwierige Befehlssequenzen explizit wiederhergestellt werden, was auf diese Weise unnötig ist. Der VMCB enthält insbesondere nicht die Register, die der VMM selbst laden und speichern kann. Das sind u.a. die vier Allzweckregister EAX, EBX, ECX und EDX. Ein VM-Eintritt lädt den in der Guest-State-Area des VMCB gespeicherten Zustand in den Prozessor. Ein VM-Austritt speichert diesen Zustand dort ab und lädt daraufhin automatisch die Host-State-Area aus dem VMCB in den Prozessor, so dass in den VMM gesprungen werden kann und dieser sofort lauffähig ist. Außerdem werden dabei im VMCB Daten abgelegt, aus denen der VMM genau erkennen kann, welches Ereignis der Auslöser für den VM-Austritt war, so dass auch er über diese Information verfügen kann. Sowohl VM-Ein- als auch VM-Austritte laden und speichern vollautomatisch das Register CR3, das die Basis für die Seitentabellen-Hierarchie der Hauptspeicherverwaltung darstellt. So wird die Virtualisierung des Speichers auch durch die Hardware erleichtert. Deswegen können Code und Daten von VMM und Gast-Betriebssystem in verschiedenen Adressräumen liegen, was mit der bisherigen Architektur nicht möglich war. 7

8 Das löst das sogenannte Address-Space-Compression-Problem. Dies tritt auf, wenn ein Teil des VMM im Hauptspeicher des Gastes abgelegt werden muss, was ohne dieser Funktion der Fall wäre. Wird das nicht per Hardware, sondern über Software gelöst, muss der VMM einen hohen Aufwand treiben, um sich im Hauptspeicher des Gastes vor diesem zu verbergen. Sonst könnte der Gast u.u. abstürzen, die Virtualisierung entdecken oder sogar den VMM manipulieren [UNR + 05]. Der VMCB enthält zusätzlich VM-Execution Control Fields [UNR + 05]. Sie ermöglichen fein-granulare Einstellungen, bei welchen Events, Ausnahmen oder Unterbrechungen VM-Austritte ausbleiben oder stattfinden sollen. Dadurch ist die Hardware so flexibel konfigurierbar, dass der VMM verschiedenste Virtualisierungs- Strategien umsetzen kann. Interrupt-Virtualisierung Hier wurden Hardware-Hilfen eingeführt, die bei einer Änderung der Unterbrechungskonfiguration durch ein Gast-Betriebssystem die Kontrolle an den VMM zurück transferieren, so dass er sowohl diesen Befehl emulieren als auch weitere notwendige Schritte einleiten kann. Intel integriert diese Funktionalität in VT-x in mehreren kleineren Funktionen. External-Interrupt-Exiting ermöglicht es bei jeder Änderung der Unterbrechungskonfiguration einen VM-Austritt und einen Wechsel in den VMM durchzuführen. Dieser kann dann den Änderungswunsch des Gastes überprüfen, nachvollziehen und gegebenenfalls verbieten oder emulieren. Durch Interrupt-Window-Exiting stellt die Hardware eine Funktion zur Verfügung, die jedes mal einen VM-Austritt herbeiführt, wenn ein Gast-OS angekündigt hat, nun bereit zu sein, Unterbrechungen zu empfangen. So kann der VMM entscheiden, ob er den Gast betreffende Unterbrechungen an diesen weiterleitet, ignoriert oder selbst abarbeitet. Diese Erweiterungen helfen, die Rechnerarchitektur so zu verbessern, dass Gast- Betriebssysteme effizient in ihrer gewünschten Privilegierungsstufe ausgeführt werden können, aber gleichzeitig der VMM die volle Kontrolle über das System und die Hardware besitzt [UNR + 05]. Allein diese Hilfen reichen aus, um eine komplette Virtualisierungs-Lösung für die x86-architektur zur Verfügung zu stellen [AA06]. 4.2 Speichervirtualisierungen Die Erweiterungen für die Speichervirtualisierung sind nach den Forderungen aus Kapitel 2 nicht notwendig, sondern stellen lediglich eine Hilfe dar. So soll dem VMM Arbeit abgenommen und direkt in der performanteren Hardware umgesetzt werden. Virtualisierung der Speichertabellen Die dafür zusätzlich eingeführte Hardware wird manchmal als MMU-Unterstützung bezeichnet [AA06]. In Anlehnung an [SN05], werden in diesem Abschnitt folgende Bezeichner verwendet: Virtuelle Adressen Diese bezeichnen die Prozessadressen, mit denen die einzelnen Prozesse im Gast- Betriebssystem ihren zugewiesenen Speicher ansprechen. Reale Adressen In einer Plattform ohne Virtualisierung, in der nur ein Betriebssystem nativ auf 8

9 der Hardware ausgeführt wird, entsprechen die realen Adressen den physikalischen Adressen der Hardware. Bei Vorhandensein einer Virtualisierung stellt der reale Adressbereich den gesamten Speicherbereich eines einzelnen Gastes dar. Daher ist eine Umsetzung von virtuellen in reale Adressen notwendig. Diese wird bei Virtualisierung genauso wie bei nativer Ausführung vom (Gast-)Betriebssystem verwaltet, muss aber durch den VMM für jeden Gast einzeln und getrennt durchgeführt werden. Allerdings können die Gast-Betriebssysteme ihre Speicherverwaltung nicht selbst direkt auf der Hardware konfigurieren, sondern der VMM fängt wiederum diese Befehle ab und emuliert sie. Physikalische Adressen Die physikalischen Adressen sind die tatsächlichen Speicheradressen, mit denen die Hardware angesprochen wird. Sie entsprechen bei nativer Ausführung den realen Adressen, bei aktivierter Virtualisierung muss jedoch noch eine weitere Umsetzung von realen in physikalische Adressen durchgeführt werden. Dies geschieht mit Hilfe des VMM, da die realen Adressen nur innerhalb eines Gast-Betriebssystem eindeutig sind. Deswegen können mehrere Gäste die selben realen Adressen verwenden, die aber vom VMM auf verschiedene physikalische Adressen abgebildet werden müssen. Deswegen muss bei Virtualisierung ebenfalls die Speicherarchitektur virtualisiert werden. Es ist nun die 3-fache Umsetzung virtuelle Adresse reale Adresse physikalische Adresse notwendig. Eine solche 2-fache Indirektion mit Einsprung in den VMM bei jedem Hauptspeicherzugriff würde natürlich die Performanz empfindlich stören. Deshalb wird das Verfahren bisher abgekürzt, indem die Seitentabellen der Hardware den Inhalt sogenannter Schattentabellen (Shadow-Page-Tables) enthalten. Diese beinhalten direkt die Umsetzung von virtuellen zu physikalischen Adressen. Dabei ist bei jeder Änderung der Seitentabellen durch das Gast-Betriebssystem auch Administrationsaufwand durch den VMM notwendig. Der VMM muss die Schattentabellen austauschen, wenn bei der Virtualisierung ein Wechsel des Gast- Betriebssystems oder ein Prozesswechsel innerhalb eines Gast-Betriebssystems auftritt. Der Grund dafür ist, dass gleichzeitig in einem Betriebssystem ausgeführte Prozesse die selben virtuellen Adressen verwenden können, diese aber auf unterschiedliche physikalische Adressen abgebildet werden müssen. AMDs Umsetzung der Speichervirtualisierung nennt sich Nested Paging [AMD05]. Intel führte eine ähnliche Technik Extended Page Tables (EPT ) [Int09] mit der Nehalem-Architektur ein. Wenn die EPTs aktiviert sind, führt die Adressumsetzung in Hardware keine Umsetzung von virtuellen in reale Adressen durch, sondern bedient sich zu den Seitentabellen noch zusätzlicher EPT-Tabellen und kann Adressen direkt von virtuellen in physikalische umrechnen. In Abbildung 2 sieht man im Überblick, wie mit Hilfe der konventionellen Seitentabellen, auf deren Basis der Inhalt des Registers CR3 verweist, die virtuelle in eine reale Adresse umgewandelt wird. Anschließend kann diese durch die EPT-Tabellen auf die entsprechende physikalische Adresse abgebildet werden. Die EPT-Tabellen beinhalten dabei die Informationen, durch die reale auf physikalische Adressen abgebildet werden können, und berücksichtigen auch, welches Gast-Betriebssystem gerade aktiv ist. Als Folge müssen nur noch die Gast-Betriebssysteme ihre Seitentabellen verwalten wie im nicht-virtualisierten Fall und der VMM muss nicht mehr eingreifen. Er muss also insbesondere keine Hauptspeicheraufrufe mehr über Ausnahmen abfangen und keine Schattentabellen mehr verwalten. Dies 9

10 Abbildung 2: Adressumsetzung mit Hilfe von EPT-Seitentabellen übernehmen die Hardware-Erweiterungen für ihn [NSL + 06]. In Abbildung 3 wird die interne Funktionsweise des vier-stufigen Verfahrens dargestellt. Mit Hilfe des Registers CR3 und dem ersten Teil der virtuellen Adresse wird der entsprechende Eintrag in der ersten Stufe der Umsetzung gefunden. Die dadurch ermittelte Speicheradresse weist zusammen mit dem zweiten Teil der virtuellen Adresse auf einen weiteren Tabellen-Eintrag (einer anderen Tabelle). Dieser Eintrag verknüpft mit dem dritten Teil der virtuellen Adresse repräsentiert die reale Adresse. Bis hierhin entspricht der Ablauf dem der konventionellen Seitentabellen. Erst jetzt wird die reale Adresse über die vierte Tabelle in ihre zugehörige physikalische Adresse umgewandelt. Abbildung 3: Adressumsetzung (detailiert) mit Hilfe von EPT-Seitentabellen Virtual Processor Identifiers (VPIDs) Auch die Virtual Processor Identifiers (VPIDs) wurden mit der Nehalem-Architektur eingeführt [Int09] und weisen jedem virtuellen Prozessor eine eindeutige ID größer 0 zu. Die ID 0 referenziert den VMM. Die VPIDs erweitern die Einträge des Hardware-TLBs (Translation Lookaside Buffer) (und entsprechen den aus den RISC-Architekturen bekannten ASIDs 1 ) [SN05]. Durch das zusätzliche Vorhandensein eines eindeutigen Identifiers lassen sich die TLB-Einträge ihrem zugehörigen Gast-Betriebssystem zuordnen. Dadurch können 1 Adress space identifiers (ASIDs) werden in RISC-Architekturen verwendet, um Einträge des TLBs eindeutig einem Prozess zuordnen zu können. 10

11 sich die TLB-Einträge mehrerer Gäste gleichzeitig im TLB befinden, da die Hardware sie unterscheiden und automatisch den richtigen Eintrag verwenden kann. Als Folge kann der bisher notwendige TLB-Flush, also das vollständige Leeren des TLBs, bei einem Wechsel des aktiven Gastes entfallen. Das spart einerseits Zeit, die der Flush benötigt, und ermöglicht es den Gästen in ihrem nächsten Ausführungsintervall einige ihrer alten TLB-Einträge vorzufinden. Die Zeitersparnis entsteht, da eine Abfrage des TLB deutlich schneller möglich ist, als der relative komplexe Umweg über die Seiten- und EPT-Tabellen bei einem TLB-Miss. Wie groß dieser Vorteil ausfällt, hängt natürlich davon ab, wie viele der TLB-Einträge bei Ausführung der anderen Gäste verdrängt werden und bei Rückkehr in den Gast noch zur Verfügung stehen. 4.3 E/A-Virtualisierungen In IT-Umgebungen wird häufig Virtualisierung eingesetzt, um damit mehrere Server auf einer Hardware zusammen zu fassen. Viele Server-Applikationen sind jedoch sehr E/A-intensiv [AJM + 06], was in Verbindung mit Virtualisierung zu Performanz- Problemen führen kann. Dies schadet dem möglichen Ziel, die meist recht teuere Hardware besser auszunutzen. Das generelle Problem bei E/A-Operationen durch virtualisierte Gäste ist, dass sie hauptsächlich aus Unterbrechungen und direkten DMA-Zugriffen auf den Hauptspeicher bestehen. Das sind beides Operationen, die bei Virtualisierung die Mithilfe des VMM benötigen, da es sich dabei um privilegierte Instruktionen handelt und bei jeder Unterbrechung beziehungsweise bei jedem DMA-Zugriff ein Kontextwechsel zwischen Gast und VMM vollzogen werden muss. E/A-Transaktionen mussten also bisher entweder langsam emuliert oder durch Paravirtualisierung beschleunigt werden. Ziel der Hardware-Erweiterungen ist es, diese Operationen so durch Hardware zu unterstützen, dass diese viele Aufgaben des VMM übernimmt und ihn damit deutlich entlastet. DMA-Remapping Bereits heute existieren Input/Output Memory Management Units (IOMMUs), um Geräte mit beschränkten DMA-Fähigkeiten effizient zu adressieren. Dieses Verfahren wird zum Beispiel beim Zugriff auf den AGP-Bus durch die Graphics Aperture Protection Table (GART ) angewandt. Dabei lässt sich über die IOMMU konfigurieren, dass alle Zugriffe auf einen bestimmten Hauptspeicherbereich direkt an das jeweilige Gerät unabhängig von der Quelle des Zugriffs weitergeleitet werden. Und genau dadurch wird dieses Verfahren für eine effiziente Virtualisierung unbrauchbar, denn für diese müsste auch die Quelle der Zugriffs, also das jeweilige Gast-Betriebssystem, berücksichtigt werden. Außerdem stellt das DMA-Verfahren ein Problem für die Virtualisierung dar, da auf diesen Weg direkte Hauptspeicherzugriffe unter Umgehung der CPU möglich sind. In virtualisierten Systemen würden diese auch die Kontrollen des VMMs umgehen. Deswegen wird für Virtualisierung die IOMMU so erweitert, dass sie sich allgemeiner einsetzen lässt. So können durch den VMM mehrere gleichzeitig existierende DMA Protection Domains erstellt werden, die Intel laut [Int08] als abstrakte, isolierte Umgebungen innerhalb der Plattform, der eine Untermenge des Physikalischen Hauptspeicher zugeordnet sind, definiert sind. Das heißt, dass durch Konfiguration zugehöriger E/A-Seitentabellen (I/O-Page-Tables) die Geräte des Systems den Domänen zugewiesen werden können. Wird nun auf einen Hauptspeicherbereich zugegriffen, der die Daten an ein E/A-Gerät weiterleitet, wird nun auch die Quelle 11

12 des Zugriffs für die Umsetzung dieser Umleitung benutzt und mit Hilfe der E/A- Seitentabellen die effektiven Zugriffsrechte und das Ziel für den Zugriff bestimmt [AJM + 06]. In Abbildung 4 wird DMA-Remapping in einer Umgebung mit zwei voneinander getrennten Protection Domains dargestellt [AJM + 06]. Darin bezeichnet ra die realen Adressen, welche die Gast-Betriebssysteme verwenden, und pa die physikalischen Hauptspeicheradressen. Die Geräte Gerät 1 und Gerät 2 sind den beiden Protection Domains zugeordnet und haben über die realen Adressen jeweils ihre eigene voneinander unabhängige Sicht auf den Hauptspeicher. Die realen Adressen der Protection Domains und der Geräte werden durch die erweiterte IOMMU jeweils auf unterschiedliche physikalische Adressen abgebildet. Abbildung 4: DMA-Remapping Häufig benutzte E/A-Seitentabellen werden durch die Hardware automatisch gecached. Sie verfügen über Berechtigungen abhängig vom Ursprung des Zugriffs und unterstützen mehrere Ebenen von Indirektionen und verschiedene Blockgrößen. Dadurch virtualisiert direkt die Hardware die DMA-Zugriffe auf den Hauptspeicher bei E/A-Operationen und der VMM steht nur noch in der Pflicht, die IOMMU nach seinen Wünschen zu konfigurieren. Er wird bei normalen E/A-Transaktionen nicht mehr aktiviert, sondern nur bei Konfigurationsänderungen durch die Gast- Betriebssysteme. Interrupt-Remapping Wie bereits angesprochen stellen Unterbrechungen, vor allem durch E/A-Transaktionen ausgelöste, für die Virtualisierung ein Problem dar, das bisher nur durch zeitaufwändige Sprünge in den VMM und Interpretation gelöst werden konnte. Neben den älteren Legacy Interrupts existieren auch Message Signaled Interrupts (MSIs), die DMA-Schreib-Aktionen auf einer voreingestellten, festen Hauptspeicheradresse sind. Die zu übergebenden Attribute der Unterbrechung stehen dabei in den Daten des Schreib-Befehls. Durch Hardware-Erweiterungen lassen sich nun MSIs virtualisieren und wiederum der Verantwortung des VMMs entziehen. Bei Einsatz des Interrupt-Remapping enthalten die Daten eines MSI nicht mehr die Attribute einer Unterbrechung, son- 12

13 dern nur eine eindeutige Unterbrechungs-ID. DMA-Anfragen, die als MSIs erkannt werden, werden nun gesondert bearbeitet. Die in den Daten der Schreibinstruktion angegebene Unterbrechungs-ID wird in einer Interrupt-Remapping Tabelle nachgeschlagen. Diese wird vom VMM verwaltet und enthält als Einträge Paare von IDs und deren entsprechenden Zielen. Dadurch kann direkt in Hardware zu einer MSI deren Ziel, das entsprechende Gast- Betriebssystem, ermittelt und die Unterbrechung dorthin weitergeleitet werden. Hardware Caching und Invalidierung Um die Effizienz noch weiter zu steigern, werden für die DMA- und Interrupt- Remapping-Tabellen Caches angelegt, die häufig benutzte Zugriffe beschleunigen. Dabei spezifiziert Intel in [Int08] vier verschiedene Caches: 1. Interrupt Entry Caches Diese speichern häufig benutzte Einträge der Interrupt-Remapping-Tabelle. 2. Context Caches Durch die Context Caches steht eine schnelle Umsetzung zur Verfügung, welche Hardware im System welcher Protection Domain zugeordnet ist. 3. I/O Translation Look-aside Buffers (IOTLB) In den IOTLBs werden die häufigsten Ergebnisse der Übersetzung von virtuellen DMA-Adressen in ihre echten Ziel-Adressen nach erfolgreichem Nachschlagen in den Tabellen des DMA-Remappings gechached. Zusätzlich werden auch die effektiven Zugriffsrechte gespeichert. 4. Page Directory Entries (PDE) Die am meisten benutzten Einträge der DMA-Remapping-Tabelle werden in den PDEs vorgehalten. Da wie bei allen Caches deren Größe beschränkt ist, muss bei Speichermangel Platz für neue Einträge geschaffen werden. Es stehen folgende zwei Invalidierungsstrategien zur Verfügung [Int08]: 1. Synchrone Invalidierung Die Hardware stellt Register zur Verfügung, die direkt auf Hauptspeicherzellen abgebildet werden. Dort hinein können die Invalidierungsbefehle geschrieben werden. Diese werden von der Hardware erkannt und sofort ausgeführt. 2. Queued Invalidation Hier existiert eine Warteschlange im Hauptspeicher, in welche die Software neue Invalidierungsbefehle einfügen kann. Diese werden im Unterschied zur synchronen Invalidierung nicht sofort, sondern erst später zu einem passenden Zeitpunkt ausgeführt. Durch einen Invalidation-Wait-Befehl lässt sich eine sofortige Ausführung aller Befehle in der Warteschlange erzwingen. 5 Schlussbetrachtung Virtualisierung begann sich in den letzten Jahren immer weiter zu verbreiten und ist nun nicht mehr nur wie in den 70er Jahren des 20. Jahrhunderts auf Mainframes, 13

14 sondern auch auf kleineren Servern oder gar Workstations zu finden. Im Gegensatz zu den CPU-Architekturen der Mainframes sind die heutzutage am verbreitetsten x86-prozessoren jedoch nicht für Virtualisierung entwickelt worden und stellen eine dafür ineffiziente Architektur dar. Erst durch die Anpassungen der jüngsten Zeit wird die x86-architektur für Virtualisierung effizient nutzbar und es gibt immer neue Erweiterungen, die versuchen, die Performanz bei Virtualisierungslösungen noch zusätzlich zu erhöhen. Die bis heute vorherrschenden Software-Lösungen, die die entstandenen Probleme aufwändig in Software umgehen, sind eben aus diesem Missstand entstanden. Durch ihren inzwischen großen Entwicklungsvorsprung ist ihre Effizienz beeindruckend und sie beherrschen Optimierungsmöglichkeiten, die in reiner Hardware niemals nutzbar sein werden, wie zum Beispiel optimierte Binärübersetzung ganzer Codeblöcke. Deswegen gibt es bisher auch noch Anwendungsgebiete, in denen reine Softwarelösungen noch deutlich performanter sind als VMMs, die auf den Hardware- Erweiterungen basieren [AA06]. Es ist aber davon auszugehen, dass auch der Ansatz durch verbesserte Hardware in seiner weiteren Entwicklung noch an Effizienz zunehmen wird. Vor allem Mischlösungen, die Hardware-Erweiterungen mit Software-Optimierungen verbinden, werden wohl die Performanz noch einmal deutlich erhöhen können. Literatur AA06. Keith Adams and Ole Agesen. A comparison of software and hardware techniques for x86 virtualization. In Proceedings of ASPLOS 06, San Jose, California, USA, October ACM Press. AJM Darren Abramson, Jeff Jackson, Sridhar Muthrasanallur, Gil Neiger, Greg Regnier, Rajesh Sankaran, Ioannis Schoinas, Rich Uhlig, Balaji Vembu, and John Wiegert. Intel virtualization technology for directed i/o. Intel Technology Journal, Vol. 10 Issue 3, August AMD05. AMD. Secure virtual machine architecture reference manual. Technical report, Advanced Micro Devices, May Int08. Intel. Intel virtualization technology for directed i/o architecture specification. Technical report, Intel, September Int09. Intel. Intel core i7 processor extreme edition series and intel core i7 processor specification update. Technical report, Intel, March NSL Gil Neiger, Amy Santoni, Felix Leung, Dion Rodgers, and Rich Uhlig. Intel virtualization technology: Hardware support for efficient processor virtualization. Intel Technology Journal, Vol. 10 Issue 3, August PG74. Gerald J. Popek and Robert P. Goldberg. Formal requirements for virtualizable third generation architectures. Commun. ACM, 17(7): , RI00. J. Robin and C. Irvine. Analysis of the intel pentium s ability to support a secure virtual machine monitor. In Proceedings of the 9th USENIX Security SN05. Symposium, Denver, CO, August Jim Smith and Ravi Nair. Virtual Machines: Versatile Platforms for Systems and Processes (The Morgan Kaufmann Series in Computer Architecture and Design). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, UNR Rich Uhlig, Gil Neiger, Dion Rodgers, Amy L. Santoni, Fernando Martins, Andrew Anderson, Steven Bennett, Alain Kaegi, Felix Leung, and Larry Smith. Intel virtualization technology. IEEE Computer Society, 5:48 56, July

VT und Pacifica. Vortrag zum Seminar Virtuelle Maschinen und Emulatoren. Alexander Würstlein arw@arw.name

VT und Pacifica. Vortrag zum Seminar Virtuelle Maschinen und Emulatoren. Alexander Würstlein arw@arw.name VT und Pacifica Vortrag zum Seminar Virtuelle Maschinen und Emulatoren Alexander Würstlein arw@arw.name Friedrich-Alexander-Universität Erlangen-Nürnberg 28. Mai 2007 arw (FAU) VT & SVM 28. Mai 2007 1

Mehr

Virtualisierung. Seminarvortrag SS 2005. Niels Burkhardt

Virtualisierung. Seminarvortrag SS 2005. Niels Burkhardt Seminarvortrag SS 2005 Niels Burkhardt Inhalt Einleitung Wofür? Voraussetzungen Klassifizierung Emulation, ABI, Virtuelle Maschinen Virtuelle Maschinen Aufbau Eigenschaften Aufteilung der Befehle VMM Module

Mehr

Hardware-basierte Virtualisierung

Hardware-basierte Virtualisierung Hardware-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Hardware-basierte Virtualisierung 1/22

Mehr

Hardware-basierte Virtualisierung

Hardware-basierte Virtualisierung Hardware-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 V. Sieh Hardware-basierte

Mehr

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Jörg Rödel Virtualization - Whats out there? Virtualisierung hat bereits längere Geschichte auf x86 Startete mit VMware Setzte

Mehr

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

Mehr

Virtualisierungstheorie

Virtualisierungstheorie Virtualisierungstheorie Vortrag im Hauptseminar Konzepte und virtueller Maschinen und Emulatoren Johannes Schlumberger asso@0xbadc0ee.de Friedrich-Alexander-Universität Erlangen/Nürnberg 24. Mai 2007 Johannes

Mehr

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN Fakultät Informatik Institut für Systemarchitektur, Professur Betriebssysteme VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN Henning Schild Dresden, 5.2.2009 Definition Einführung von Abstraktionsschichten

Mehr

Seminarausarbeitung zur Virtualisierungstheorie

Seminarausarbeitung zur Virtualisierungstheorie Seminarausarbeitung zur Virtualisierungstheorie im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren Johannes Schlumberger spjsschl@cip.informatik.uni-erlangen.de Kurzzusammenfassung

Mehr

Hardware Virtualisierungs Support für PikeOS

Hardware Virtualisierungs Support für PikeOS Virtualisierungs Support für PikeOS Design eines Virtual Machine Monitors auf Basis eines Mikrokernels Tobias Stumpf SYSGO AG, Am Pfaenstein 14, 55270 Klein-Winternheim HS Furtwangen, Fakultät Computer

Mehr

Virtualisierung mittels Trap-and-Emulate. Virtualisierbarkeit nach [Popek et al.] Virtualisierung mittels Binary Translation

Virtualisierung mittels Trap-and-Emulate. Virtualisierbarkeit nach [Popek et al.] Virtualisierung mittels Binary Translation Überblick Virtualisierung Motivation Grundlagen Xen Linux-VServer Zusammenfassung Virtualisierung (im Kontext der Vorlesung) Einführung eines Virtual Machine Monitor (VMM) Hier als Synonym verwendet: Hypervisor

Mehr

Proseminar Technische Informatik A survey of virtualization technologies

Proseminar Technische Informatik A survey of virtualization technologies Proseminar Technische Informatik A survey of virtualization technologies Referent: Martin Weigelt Proseminar Technische Informatik - A survey of virtualization technologies 1 Übersicht 1. Definition 2.

Mehr

Virtualisierung kann an verschiedenen Ebenen ansetzen. 1. Echte Virtualisierung und Para-Virtualisierung

Virtualisierung kann an verschiedenen Ebenen ansetzen. 1. Echte Virtualisierung und Para-Virtualisierung Virtualisierung Virtualisierung kann an verschiedenen Ebenen ansetzen 1. Echte Virtualisierung und Para-Virtualisierung 2. Emulation Implementierung eines Computers und seiner Funktionsgruppen komplett

Mehr

Überblick. Virtualisierung (im Kontext der Vorlesung) Einsatzbereiche (Beispiele) Anforderungen an ein virtualisiertes System

Überblick. Virtualisierung (im Kontext der Vorlesung) Einsatzbereiche (Beispiele) Anforderungen an ein virtualisiertes System Überblick Virtualisierung (im Kontext der Vorlesung) Virtualisierung Motivation Grundlagen Paravirtualisierung mit Betriebssystemvirtualisierung mit Linux-VServer Zusammenfassung Einführung eines Virtual

Mehr

Betriebssysteme. Betriebssystemvirtualisierung. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.

Betriebssysteme. Betriebssystemvirtualisierung. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1. Betriebssystemvirtualisierung Sommersemester 2014 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung

Mehr

Aktuelle Themen der Informatik: Virtualisierung

Aktuelle Themen der Informatik: Virtualisierung Aktuelle Themen der Informatik: Virtualisierung Sebastian Siewior 15 Mai 2006 1 / 22 1 Überblick 2 Techniken 3 Paravirtualisierung 4 Ende 2 / 22 Wieso Virtualisieren Wieso mehrere Betriebsysteme auf einer

Mehr

Hyper-V Grundlagen der Virtualisierung

Hyper-V Grundlagen der Virtualisierung Grundlagen der Virtualisierung Was ist Virtualisierung? Eine Software-Technik, die mehrere Betriebssysteme gleichzeitig auf dem Rechner unabhängig voneinander betreibt. Eine Software-Technik, die Software

Mehr

Virtual Machines. Peter Schmid 21.12.2007. Hochschule für Technik Zürich Master of Advanced Studies, Informatik

Virtual Machines. Peter Schmid 21.12.2007. Hochschule für Technik Zürich Master of Advanced Studies, Informatik Hochschule für Technik Zürich Master of Advanced Studies, Informatik 21.12.2007 Outline Einführung 1 Einführung Definition, Abgrenzung Geschichtlicher Rückblick 2 Virtualisierungstechnologien Terminologie

Mehr

Ahmed Koujan / akouj001@informatik.fh-wiesbaden.de Bastian Liewig / bliew001@informatik.fh-wiesbaden.de

Ahmed Koujan / akouj001@informatik.fh-wiesbaden.de Bastian Liewig / bliew001@informatik.fh-wiesbaden.de Ahmed Koujan / akouj001@informatik.fh-wiesbaden.de Bastian Liewig / bliew001@informatik.fh-wiesbaden.de 1. 2. 3. 4. 5. 6. 7. Einleitung / Geschichte Virtualisierungstechniken Vor- und Nachteile Virtueller

Mehr

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

Virtual Machines. Peter Schmid 21.12.2007. Hochschule für Technik Zürich Master of Advanced Studies, Informatik

Virtual Machines. Peter Schmid 21.12.2007. Hochschule für Technik Zürich Master of Advanced Studies, Informatik Hochschule für Technik Zürich Master of Advanced Studies, Informatik 21.12.2007 Outline Einführung 1 Einführung Definition, Abgrenzung Geschichtlicher Rückblick 2 Virtualisierungstechnologien Terminologie

Mehr

Servervirtualisierung mit Xen Möglichkeiten der Netzwerkkonfiguration

Servervirtualisierung mit Xen Möglichkeiten der Netzwerkkonfiguration Servervirtualisierung mit Xen Möglichkeiten der Netzwerkkonfiguration Studiengang Informatik Anwendung-Rechnernetze Übersicht Virtualisierungstechniken Virtualisierungsmodelle in Xen Netzwerkkonzepte und

Mehr

Basiskurs paedml Linux 6-2. Grundlagen der Virtualisierungstechnik INHALTSVERZEICHNIS

Basiskurs paedml Linux 6-2. Grundlagen der Virtualisierungstechnik INHALTSVERZEICHNIS INHALTSVERZEICHNIS 2.Grundlagen der Virtualisierungstechnik...3 2.1.Strukturen in virtualisierten Systemen...3 2.2.Der Host...7 2.2.1.Die virtuellen Maschinen...7 2.3.Die Virtualisierungssoftware VMware

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Virtualisierung Teil 5. Weiterführende Information

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Virtualisierung Teil 5. Weiterführende Information UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Virtualisierung Teil 5 Weiterführende Information el0100 copyright W. G. Spruth, wgs 04-10

Mehr

Codesigned Virtual Machines

Codesigned Virtual Machines Codesigned Virtual Machines Seminar Virtualisierung Philipp Kirchhofer philipp.kirchhofer@student.kit.edu Institut für Technische Informatik Lehrstuhl für Rechnerarchitektur Universität Karlsruhe (TH)

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm Spruth SS 2005 Teil 13 Virtuelle Maschinen, Partitionierung cs 0800 ww6 sch 02-97 Partitionierung Virtuelle Maschinen Literatur: Joachim von Buttlar, Wilhelm

Mehr

Uberlegungen Einsatzgebiete Virtualisierungslosungen Fazit Hardwarevirtualisierung. Virtualisierung. Christian Voshage. 11.

Uberlegungen Einsatzgebiete Virtualisierungslosungen Fazit Hardwarevirtualisierung. Virtualisierung. Christian Voshage. 11. slosungen 11. Mai 2009 Inhaltsverzeichnis Uberlegungen slosungen 1 Uberlegungen Grunduberlegungen Vorteile Hardware-Emulation Nachteile 2 Servervirtualisierung Clientvirtualisierung 3 slosungen 4 5 Uberlegungen

Mehr

Systeme 1. Kapitel 10. Virtualisierung

Systeme 1. Kapitel 10. Virtualisierung Systeme 1 Kapitel 10 Virtualisierung Virtualisierung Virtualisierung: Definition: Der Begriff Virtualisierung beschreibt eine Abstraktion von Computerhardware hin zu einer virtuellen Maschine. Tatsächlich

Mehr

Calogero Fontana Fachseminar WS09/10. calogero.b.fontana@student.hs-rm.de. Virtualisierung

Calogero Fontana Fachseminar WS09/10. calogero.b.fontana@student.hs-rm.de. Virtualisierung Calogero Fontana Fachseminar WS09/10 calogero.b.fontana@student.hs-rm.de Virtualisierung Was ist Virtualisierung? Definition Virtualisierung ist das zur Verfügung stellen von Hardware-Ressourcen für ein

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os

Enterprise Computing Einführung in das Betriebssystem z/os Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Dr. rer. nat. Paul Herrmannn Prof. Dr.-Ing. Wilhelm G. Spruth WS 2009/2010 Teil 10 Partitionierung und Virtualisierung

Mehr

Windows Server 2008 Virtualisierung. Referent: Marc Grote

Windows Server 2008 Virtualisierung. Referent: Marc Grote Windows Server 2008 Virtualisierung Referent: Marc Grote Inhalt Microsoft und Virtualisierung Viridian und Hyper-V Hyper-V Technologie Virtual Server 2005 versus Hyper-V System Center Virtual Machine Manager

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright

Mehr

Virtualisierung Betrachtung aktueller Hypervisor wie Xen, KVM und Hyper-V

Virtualisierung Betrachtung aktueller Hypervisor wie Xen, KVM und Hyper-V Ausgewählte Kapitel der Systemsoftware Virtualisierung Betrachtung aktueller Hypervisor wie Xen, KVM und Hyper-V Guilherme Bufolo Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik

Mehr

Enterprise Computing

Enterprise Computing Enterprise Computing Prof. Dr.-Ing. Wilhelm G. Spruth Teil 7 Virtualization HP Superdome Cell Board 4 Itanium 2 CPU Chips 32 128 Gbyte I/O Bus mit Kühlern Hauptspeicher Anschlüsse 4 Steckkarten Die Großrechner

Mehr

Welche Grundformen der Emulation gibt es? Antwort: Interpretation und binäre Übersetzung.

Welche Grundformen der Emulation gibt es? Antwort: Interpretation und binäre Übersetzung. Prüfung 1: am 26.04.2010, Masterprüfung für Master of Computer Science Prüfer: Dr Hönig, Beisitzer (könnte Prof. Schiffmann gewesen sein) Atmosphäre: Mit meinen Vorgängern muss es schlecht gelaufen sein:

Mehr

Virtualisierung: Neues aus 2010 und Trends 2011

Virtualisierung: Neues aus 2010 und Trends 2011 Virtualisierung: Neues aus 2010 und Trends 2011 Werner Fischer, Technology Specialist Thomas-Krenn.AG Thomas Krenn Herbstworkshop 2010 Freyung, 24. September 2010 Agenda 1) Virtualisierungs-Software VMware

Mehr

12. Virtualisierung. 12.1 Partitionierung

12. Virtualisierung. 12.1 Partitionierung 12. Virtualisierung 12.1 Partitionierung 12.1.1 Skalierung eines Symmetrischen Multiprozessors Ein Symmetrischer Multiprozessor (SMP) mit zwei statt einer CPU sollte idealer weise die zweifache Leistung

Mehr

Übungen zur Vorlesung. Betriebssysteme

Übungen zur Vorlesung. Betriebssysteme Übungen zur Vorlesung Betriebssysteme Wintersemester 2015 Patrick Kendzo ppkendzo@gmail.com Inhalt Virtuelle Maschine -Eine kleine Einführung Damn Small Linux (DSL) Embedded Eine Einführung Aufgabe 1:

Mehr

IRS in virtualisierten Umgebungen

IRS in virtualisierten Umgebungen Lehrstuhl Netzarchitekturen und Netzdienste Institut für Informatik Technische Universität München IRS in virtualisierten Umgebungen Seminar: Future Internet Christian Lübben Betreuer: Nadine Herold, Stefan

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr

Isolation - Systemvirtualisierung mit Xen, KVM und NOVA

Isolation - Systemvirtualisierung mit Xen, KVM und NOVA Isolation - Systemvirtualisierung mit Xen, KVM und NOVA Vortrag im Rahmen des Seminars Softwarebasierte Fehlertoleranz 05. März 2013 Andreas Trenkmann 1 Agenda Einführung Systemvirtualisierung Der Hypervisor

Mehr

Xenologie oder wie man einen Plastikmainframe baut

Xenologie oder wie man einen Plastikmainframe baut Xenologie oder wie man einen Plastikmainframe baut Alexander Schreiber http://www.thangorodrim.de/ Chemnitzer Linux-Tage 2006 I think there is a world market for maybe five computers.

Mehr

Virtuelle Sicherheit

Virtuelle Sicherheit Virtuelle Sicherheit Mandatory Access Control und TPM in XEN c 2007 Ralf Spenneberg OpenSource Training Ralf Spenneberg Webereistr. 1 48565 Steinfurt http://www.opensource-training.de http://www.os-t.de

Mehr

x86 Open Source Virtualisierungstechniken Thomas Glanzmann

x86 Open Source Virtualisierungstechniken Thomas Glanzmann <thomas@glanzmann.de> x86 Open Source Virtualisierungstechniken März 2006 Zu meiner Person Informatik Student an der Universität Erlangen im 9. Semester 4 jährige Mitarbeit an dem Projekt FAUmachine der

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm Spruth WS 2008/2009 Teil 12 Virtualisierung Relative Performance Number of CPUs Partitioning a large System Large Systems from Companies like Sun and Hewlett

Mehr

Paravirtualisierung (2)

Paravirtualisierung (2) Paravirtualisierung (2) Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Paravirtualisierung (2) 1/18 2011-09-12 Motivation

Mehr

1 Einführung 4. 2 Virtualisierung in Echtzeitsystemen 4

1 Einführung 4. 2 Virtualisierung in Echtzeitsystemen 4 Inhaltsverzeichnis 1 Einführung 4 2 Virtualisierung in Echtzeitsystemen 4 3 Anwendungsfälle 5 3.1 Kommunikation............................. 5 3.2 Medizin................................. 5 3.3 Robotik

Mehr

Advanced Operating Systems

Advanced Operating Systems - Advanced Operating Systems Hans-Albrecht Schindler Wintersemester 2014/15 2. Betriebssystem-Architekturkonzepte 2.4 Virtualisierungs-Architekturen CSI Technische Universität Ilmenau www.tu-ilmenau.de

Mehr

Virtualisierung. Zinching Dang. 12. August 2015

Virtualisierung. Zinching Dang. 12. August 2015 Virtualisierung Zinching Dang 12. August 2015 1 Einführung Virtualisierung: Aufteilung physikalischer Ressourcen in mehrere virtuelle Beispiel: CPUs, Festplatten, RAM, Netzwerkkarten effizientere Nutzung

Mehr

Virtualisierung mit Xen

Virtualisierung mit Xen Virtualisierung mit Xen Hardware minimal halten und optimal ausnutzen Was genau ist Virtualisierung? Woher kommt diese Technik, was ist deren Geschichte? Welche Arten von Virtualisierung existieren auf

Mehr

Virtualisierung von Betriebssystemen

Virtualisierung von Betriebssystemen Virtualisierung von Betriebssystemen von Marcel Pschorn, Michael Moltchadski und Roshanak Roshan 1 Inhalt 1. Geschichte und Definition 2. Was ist Virtualisierung und wozu dient sie? 3. Virtualisierung

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm Spruth SS 2006 Teil 12 Virtuelle Maschinen, Partitionierung cs 0800 ww6 sch 02-97 Partitionierung Virtuelle Maschinen Literatur: Joachim von Buttlar, Wilhelm

Mehr

Virtuelle Maschinen Konzept von VMWare

Virtuelle Maschinen Konzept von VMWare Virtuelle Maschinen Konzept von 11.12.2007 1 Einleitung 2 Software Virtualisierung 3 Software vs. Hardware 4 Fazit und Ausblick Motivation von Steigende Beliebtheit der x86-architektur Virtualizierung

Mehr

Übersicht der VMware vsphere Komponenten und sonstigen Zusatzprodukten.

Übersicht der VMware vsphere Komponenten und sonstigen Zusatzprodukten. 2 Übersicht VMware vsphere Übersicht der VMware vsphere Komponenten und sonstigen Zusatzprodukten. 2.1 Übersicht Themen des Kapitels Übersicht VMware vsphere Themen des Kapitels Übersicht Virtualisierung

Mehr

Blockseminar. Moderne Hardware und Betriebssysteme Virtuelle Maschinen in Hard- und Software. Sommersemester 2006

Blockseminar. Moderne Hardware und Betriebssysteme Virtuelle Maschinen in Hard- und Software. Sommersemester 2006 Blockseminar Moderne Hardware und Betriebssysteme Virtuelle Maschinen in Hard- und Software Sommersemester 2006 U N S A R I V E R S A V I E I T A S N I S S Universitat Saarbrucken Fachbereich 6.2, Informatik

Mehr

Haupseminar Virtualisierungstechnologien

Haupseminar Virtualisierungstechnologien Technische Universität München Institut für Informatik Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Arndt Bode Haupseminar Virtualisierungstechnologien Paravirtualisierung, Vanderpool

Mehr

9.2 Virtuelle Maschinen

9.2 Virtuelle Maschinen 9.2 Virtuelle Maschinen Zur Erinnerung (1.3): Virtuelle Maschine (virtual machine, VM) entsteht durch vollständige Virtualisierung einer realen Maschine... Linux Windows Linux Minix VS Hardware Mehrere

Mehr

Xen! best Open Systems Day Fall 2007. Unterföhring. Marco Kühn best Systeme GmbH marco.kuehn@best.de

Xen! best Open Systems Day Fall 2007. Unterföhring. Marco Kühn best Systeme GmbH marco.kuehn@best.de Xen! best Open Systems Day Fall 2007 Unterföhring Marco Kühn best Systeme GmbH marco.kuehn@best.de Agenda Einführung und Übersicht Architektur Konfiguration Live Demo 13.11.07 Seite 2 Einführung und Übersicht

Mehr

Virtualisierung im Echtzeitbereich. Andreas Hollmann FH Landshut EADS Military Air Systems

Virtualisierung im Echtzeitbereich. Andreas Hollmann FH Landshut EADS Military Air Systems Virtualisierung im Echtzeitbereich Andreas Hollmann FH Landshut EADS Military Air Systems 2 Überblick Hintergrund und Motivation Vorstellung von Lösungsansätzen Auswahl und Evaluierung Einschränkungen

Mehr

Paravirtualisierung (2)

Paravirtualisierung (2) Paravirtualisierung (2) Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 V. Sieh Paravirtualisierung (2)

Mehr

Parallels Workstation Extreme: Weltweit erste professionelle Virtualisierungslösung für native 3D-Grafik

Parallels Workstation Extreme: Weltweit erste professionelle Virtualisierungslösung für native 3D-Grafik Parallels Workstation Extreme: Weltweit erste professionelle Virtualisierungslösung für native 3D-Grafik Technologie-Allianz mit HP, Intel und NVIDIA ermöglicht Betrieb dedizierter Profi-Grafikkarten im

Mehr

Ansätze zur Virtualisierung von Rechnern. Christian Surauer Technische Universität München

Ansätze zur Virtualisierung von Rechnern. Christian Surauer Technische Universität München Ansätze zur Virtualisierung von Rechnern Christian Surauer Technische Universität München 25. April 2002 1 Inhaltsverzeichnis 1.0 Einleitung 2.0 Problemstellung 2.1 Naiver Ansatz 2.2 Mögliche Lösungen

Mehr

Virtuelle Maschinen. von Markus Köbele

Virtuelle Maschinen. von Markus Köbele Virtuelle Maschinen von Markus Köbele Was sind virtuelle Maschinen? Rechner, dessen Hardwarekomponenten vollständig durch Software emuliert und virtualisiert werden Anweisungen der virtuellen Maschine

Mehr

Virtuelle Infrastrukturen mit Linux...

Virtuelle Infrastrukturen mit Linux... Virtuelle Infrastrukturen mit Linux...... und deren Integration in OSL SC Christian Schmidt Systemingenieur Virtualisierung "Aufteilung oder Zusammenfassung von Ressourcen" Unterschiedliche Bereiche für

Mehr

Virtualisierung ein Überblick

Virtualisierung ein Überblick Virtualisierung ein Überblick Frank Hofmann Potsdam 18. April 2007 Frank Hofmann (Potsdam) Virtualisierung ein Überblick 18. April 2007 1 / 33 Gedanken zum Thema Fragen, die sich jeder stellt Virtualisierung

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

Mehr

2 Virtualisierung mit Hyper-V

2 Virtualisierung mit Hyper-V Virtualisierung mit Hyper-V 2 Virtualisierung mit Hyper-V 2.1 Übersicht: Virtualisierungstechnologien von Microsoft Virtualisierung bezieht sich nicht nur auf Hardware-Virtualisierung, wie folgende Darstellung

Mehr

01.04.2009 / Mich u. Laurent

01.04.2009 / Mich u. Laurent Virtualisierung 01.04.2009 / Mich u. Laurent Inhalt Motivation Anwendungsmöglichkeiten Virtualisierung Virtualisierungs-Technologien Produkte (XEN, VMware, ESX, ) LiveDemo Vor- und Nachteile Fragen und

Mehr

Virtuelle Maschinen. Serbest Hammade / Resh. Do, 13. Dezember 2012

Virtuelle Maschinen. Serbest Hammade / Resh. Do, 13. Dezember 2012 Virtuelle Maschinen Serbest Hammade / Resh Do, 13. Dezember 2012 Was sind Virtuelle Machinen? Welche Aufgaben können sie erfüllen? Welche Anbieter von VMs gibt es? Workshop Was sind Virtuelle Machinen?

Mehr

SPARC LDom Performance optimieren

SPARC LDom Performance optimieren SPARC LDom Performance optimieren Marcel Hofstetter hofstetter@jomasoft.ch http://www.jomasoftmarcel.blogspot.ch Mitgründer, Geschäftsführer, Enterprise Consultant JomaSoft GmbH 1 Inhalt Wer ist JomaSoft?

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe

Mehr

Neues in Hyper-V Version 2

Neues in Hyper-V Version 2 Michael Korp Technical Evangelist Microsoft Deutschland GmbH http://blogs.technet.com/mkorp Neues in Hyper-V Version 2 - Virtualisieren auf die moderne Art - Windows Server 2008 R2 Hyper-V Robust Basis:

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 17.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 15.6.2007 Wiederholung vom letzten Mal Verschiedene Dateisysteme

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

Mehr

Einführung in z/os und OS/390

Einführung in z/os und OS/390 Einführung in z/os und OS/390 Dr. rer. nat. Paul Herrmannn Prof. Dr.-Ing. Wilhelm G. Spruth WS 2006/2007 Teil 7 Virtuelle Maschinen, Partitionierung es 0101 ww6 wgs 09-99 Partitionierung Virtuelle Maschinen

Mehr

Thema: Systemsoftware

Thema: Systemsoftware Teil II 25.02.05 10 Uhr Thema: Systemsoftware»Inhalt» Servermanagement auf BladeEbene» Features der ManagementSoftware» Eskalationsmanagement» Einrichten des Betriebssystems» Steuerung und Überwachung»

Mehr

Virtualisierung mit Freier Software

Virtualisierung mit Freier Software Intevation GmbH 13. November 2007 Was ist Virtualisierung? Technische Grundlagen Teil I Einleitung Was ist Virtualisierung? Technische Grundlagen Die Idee Abgrenzung Einsatzszenarien Die Idee Moderne Computer

Mehr

Übersicht der VMware vsphere Komponenten und sonstigen Zusatzprodukten.

Übersicht der VMware vsphere Komponenten und sonstigen Zusatzprodukten. 2 Übersicht VMware vsphere Übersicht der VMware vsphere Komponenten und sonstigen Zusatzprodukten. 2.1 Übersicht Themen des Kapitels Übersicht VMware vsphere Themen des Kapitels Übersicht Virtualisierung

Mehr

Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten

Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten Martin Däumler Matthias Werner Lehrstuhl Betriebssysteme Fakultät für Informatik

Mehr

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS geschrieben von Oliver Botschkowski 1 Offene Systeme und deren Schnittstelle für die Elektronik im Kraftfahrzeug 1 Oliver Botschkowski - OSEK-OS

Mehr

Basistechnologie: Virtualisierung

Basistechnologie: Virtualisierung Basistechnologie: Virtualisierung Ein Vortrag zum Cloudseminar im WS09/10 Maximilian Hoecker Fakultät für Informatik, Hochschule Mannheim, Paul-Wittsack-Straße 10, 68163 Mannheim maximilian.hoecker@stud.hs-mannheim.de

Mehr

Übersicht der VMware vsphere Komponenten und sonstigen Zusatzprodukten.

Übersicht der VMware vsphere Komponenten und sonstigen Zusatzprodukten. 2 Übersicht VMware vsphere Übersicht der VMware vsphere Komponenten und sonstigen Zusatzprodukten. 2.1 Übersicht Themen des Kapitels Übersicht VMware vsphere Themen des Kapitels Übersicht Virtualisierung

Mehr

Virtualisierungsansätze mit Schwerpunkt Xen

Virtualisierungsansätze mit Schwerpunkt Xen Virtualisierungsansätze mit Schwerpunkt Xen Markus Gerstel Hauptseminar: Ansätze für Betriebssysteme der Zukunft, WS 2005/06 Betreuer: Dipl.-Inf. Tobias Landes Technische Universität München November 10,

Mehr

Everything is eventually virtual. Virtualisierung

Everything is eventually virtual. Virtualisierung Everything is eventually virtual Virtualisierung VO Betriebssysteme WS 13/14 1 Überblick Institute for Applied Information Processing and Communications (IAIK) Secure & Correct Systems Was ist Virtualisierung

Mehr

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3 Institut für Kommunikationsnetze und Rechnersysteme Technische Informatik I Paul J. Kühn, Matthias Meyer Übung 3 Speicherhierarchie Inhaltsübersicht Aufgabe 3.1 Daten-Cache Aufgabe 3.2 Virtueller Speicher

Mehr

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Memory Management Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Speicherverwaltung Effektive Aufteilung und Verwaltung des Arbeitsspeichers für BS und Programme Anforderungen

Mehr

Agenda. Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture. Virtuelle Netzwerke

Agenda. Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture. Virtuelle Netzwerke VMware Server Agenda Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture Virtuelle Netzwerke 2 Einleitung Virtualisierung: Abstrakte Ebene Physikalische Hardware

Mehr

Inhaltsverzeichnis. Definition Motivation Idee Problem auf x86. QEMU KVM Quickstart Speichermedien Beispiele Monitor Ausblick.

Inhaltsverzeichnis. Definition Motivation Idee Problem auf x86. QEMU KVM Quickstart Speichermedien Beispiele Monitor Ausblick. Virtualisierung KVM/QEMU Links Inhaltsverzeichnis 1 Virtualisierung Definition Motivation Idee Problem auf x86 2 KVM/QEMU QEMU KVM Quickstart Speichermedien Beispiele Monitor Ausblick 3 Links Virtualisierung

Mehr

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit 1 Hochverfügbarkeit Lernziele: Network Load Balancing (NLB) Failover-Servercluster Verwalten der Failover Cluster Rolle Arbeiten mit virtuellen Maschinen Prüfungsanforderungen von Microsoft: Configure

Mehr

Server Installation 1/6 20.10.04

Server Installation 1/6 20.10.04 Server Installation Netzwerkeinrichtung Nach der Installation müssen die Netzwerkeinstellungen vorgenommen werden. Hierzu wird eine feste IP- Adresse sowie der Servername eingetragen. Beispiel: IP-Adresse:

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

VMware. Rainer Sennwitz.

VMware. Rainer Sennwitz. <Rainer.Sennwitz@andariel.informatik.uni-erlangen.de> VMware Rainer Sennwitz Lehrstuhl für Informatik IV Friedrich-Alexander-Universität Erlangen-Nürnberg 4. Juli 2007 Rainer Sennwitz VMware Inhalt Inhalt

Mehr

IRF2000, IF1000 Application Note Network Mapping mit 1:1 NAT

IRF2000, IF1000 Application Note Network Mapping mit 1:1 NAT Version 2.1 Original-Application Note ads-tec GmbH IRF2000, IF1000 Application Note Network Mapping mit 1:1 NAT Stand: 28.10.2014 ads-tec GmbH 2014 Big-LinX 2 Inhaltsverzeichnis 1 Einführung... 3 1.1 NAT

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 3 Betriebssystem Überwacher

Mehr

Einblick in die VMware Infrastruktur

Einblick in die VMware Infrastruktur Einblick in die VMware Infrastruktur Rainer Sennwitz Lehrstuhl für Informatik IV Friedrich-Alexander-Universität Erlangen-Nürnberg 4. Juli 2007 Rainer

Mehr

4 Planung von Anwendungsund

4 Planung von Anwendungsund Einführung 4 Planung von Anwendungsund Datenbereitstellung Prüfungsanforderungen von Microsoft: Planning Application and Data Provisioning o Provision applications o Provision data Lernziele: Anwendungen

Mehr

... Einleitung... 15 1... Grundlagen der Virtualisierung... 23 2... Konzeption virtualisierter SAP-Systeme... 87

... Einleitung... 15 1... Grundlagen der Virtualisierung... 23 2... Konzeption virtualisierter SAP-Systeme... 87 ... Einleitung... 15 1... Grundlagen der Virtualisierung... 23 1.1... Einführung in die Virtualisierung... 23 1.2... Ursprünge der Virtualisierung... 25 1.2.1... Anfänge der Virtualisierung... 25 1.2.2...

Mehr