Virtualisierungsansätze mit Schwerpunkt Xen



Ähnliche Dokumente
Proseminar Technische Informatik A survey of virtualization technologies

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert 20. Juni 2007

Calogero Fontana Fachseminar WS09/10. Virtualisierung

Projekt für Systemprogrammierung WS 06/07

XEN Virtualisierung und mehr

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

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

Servervirtualisierung mit Xen Möglichkeiten der Netzwerkkonfiguration

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

Virtuelle Maschinen. von Markus Köbele

WIE ERHÖHT MAN DIE EFFIZIENZ DES BESTEHENDEN RECHENZENTRUMS UM 75% AK Data Center - eco e.v. 1. Dezember 2009

Virtualisierung Linux-Kurs der Unix-AG

Virtuelle Maschinen Konzept von VMWare

Aktuelle Themen der Informatik: Virtualisierung

Systeme 1. Kapitel 10. Virtualisierung

4D Server v12 64-bit Version BETA VERSION

IT-Sachverständigen-Gemeinschaft. Virtualisierungstechnologien aus forensischer Sicht in Kempten,

Basistechnologie: Virtualisierung

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Virtualisierung in der Automatisierungstechnik

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Brownbag Session Grundlagen Virtualisierung Von VM s und Containern

Maximalwerte für die Konfiguration VMware Infrastructure 3

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

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

Hardware Virtualisierungs Support für PikeOS

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

VMware als virtuelle Plattform

QUICK INSTALLATION GUIDE

CADEMIA: Einrichtung Ihres Computers unter Windows

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Anleitung zur Nutzung des SharePort Utility

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Installation OMNIKEY 3121 USB

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Windows Server 2008 (R2): Anwendungsplattform

Formular»Fragenkatalog BIM-Server«

XEN Performance. Projektpraktikum Informatik. Arne Klein Arne Klein () XEN Performance / 25

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player

Paravirtualisierung (2)

Verwendung des Terminalservers der MUG

LPT1 Anschluss mit PCMCIA Karte

Workshop: Eigenes Image ohne VMware-Programme erstellen

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN

3 System Center Virtual Machine Manager 2012

Installationshinweise für OpenOffice Portable auf einem Wechseldatenträger Stand: 27. März 2003 LS Stuttgart, Kaufmännische ZPG

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

Wine - Windows unter Linux

PC Virtualisierung für Privatanwender

Installationsanleitung

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

Proxmox VE - mit OpenSource Virtualisierung leicht gemacht

Virtual System Cluster: Freie Wahl mit Open Source

Internet online Update (Internet Explorer)

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

Ontrack EasyRecovery 11 Neue Funktionen. S.M.A.R.T.-Analysefunktion Wiederherstellung von VMware VMDK-Images Datenlöschfunktion

Wifiway auf einer VMware Workstation auf einem Windows Rechner anwenden & VM Workstation installieren

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

Open Source Virtualisation

SECURE DOWNLOAD MANAGER

Lizenzierung von System Center 2012

Anleitung zur Nutzung des SharePort Plus

Virtualisierung. Zinching Dang. 12. August 2015

WINDOWS 8 WINDOWS SERVER 2012

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Der PC im PC: Virtualisierung

Secure Download Manager Übersichtsleitfaden Vertraulich Version 2.2

3 System Center Virtual Machine Manager 2012

Computeria Solothurn

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player

Installationsanleitung ETK RPC2 Schnittstelle (hier: Anzeige Sonderausstattung, Lackcode, Polstercode im ETK)

ICS-Addin. Benutzerhandbuch. Version: 1.0

vsphere vs. HyperV ein Vergleich aus Sicht eines VMware Partners interface:systems

SharePoint Demonstration

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

WINDOWS 10 Upgrade. Beispiel: Desktop-Ausschnitt von vorhandenem WIN 8.1 (rechte Ecke der Taskleiste)

B4 Viper Connector Service Installationsanleitung Stand:

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

Windows Server 2012 R2 Essentials & Hyper-V

Anleitung zum Prüfen von WebDAV

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Effizient, sicher und flexibel: Desktop-Virtualisierung mit Citrix XenDesktop

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

disk2vhd Wie sichere ich meine Daten von Windows XP? Vorwort 1 Sichern der Festplatte 2

PowerWeiss Synchronisation

Research Note zum Thema: Laufzeit von Support-Leistungen für Server OS

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien

Anleitung zum Prüfen von WebDAV

Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B.

NuVinci Harmony Software und Firmware. Anleitung in deutscher Sprache

Kernel Based Virtual Machine

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

Virtual Elastic Services

User Mode Linux. Sven Wölfel 15. April 2005

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

Hyper-V Grundlagen der Virtualisierung

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Transkript:

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, 2005

Vortragsinhalt 1 Geschichte, Definition und Ziele der Virtualisierung Konzepte Von der Virtualisierung zur virtuellen Maschine Software-Virtualisierung 2 Systemvirtualisierung UML VMWare XEN Vergleich der Systemvirtualisierungslösungen 3 Ausblick

Vortragsinhalt 1 Geschichte, Definition und Ziele der Virtualisierung Konzepte Von der Virtualisierung zur virtuellen Maschine Software-Virtualisierung 2 Systemvirtualisierung UML VMWare XEN Vergleich der Systemvirtualisierungslösungen 3 Ausblick

Vortragsinhalt 1 Geschichte, Definition und Ziele der Virtualisierung Konzepte Von der Virtualisierung zur virtuellen Maschine Software-Virtualisierung 2 Systemvirtualisierung UML VMWare XEN Vergleich der Systemvirtualisierungslösungen 3 Ausblick

Der Virtualisierungsgedanke I Time Sharing in Large Fast Computers - Christopher Strachey, Juni 1959 Idee: Programme werden nacheinander abgearbeitet Bei Pheripherie-Zugriff Kontextwechsel Ziel: Möglichst hohe CPU-Ausnutzung Heute bekannt als Multiprogrammierung

Der Virtualisierungsgedanke I Time Sharing in Large Fast Computers - Christopher Strachey, Juni 1959 Idee: Programme werden nacheinander abgearbeitet Bei Pheripherie-Zugriff Kontextwechsel Ziel: Möglichst hohe CPU-Ausnutzung Heute bekannt als Multiprogrammierung

Der Virtualisierungsgedanke I Time Sharing in Large Fast Computers - Christopher Strachey, Juni 1959 Idee: Programme werden nacheinander abgearbeitet Bei Pheripherie-Zugriff Kontextwechsel Ziel: Möglichst hohe CPU-Ausnutzung Heute bekannt als Multiprogrammierung

Der Virtualisierungsgedanke I Time Sharing in Large Fast Computers - Christopher Strachey, Juni 1959 Idee: Programme werden nacheinander abgearbeitet Bei Pheripherie-Zugriff Kontextwechsel Ziel: Möglichst hohe CPU-Ausnutzung Heute bekannt als Multiprogrammierung

Der Virtualisierungsgedanke II Christopher Strachey erdachte die logische CPU, die von einem Scheduler einer physikalischen CPU zugeordnet wird CPU CPU Scheduler Prozess Prozess Prozess Stapelverarbeitung CPU Prozess CPU Prozess Konzept Identische Vervielfachung: Parallelisierung, Multitasking

Der Virtualisierungsgedanke II Christopher Strachey erdachte die logische CPU, die von einem Scheduler einer physikalischen CPU zugeordnet wird CPU CPU Scheduler Prozess Prozess Prozess Stapelverarbeitung CPU Prozess CPU Prozess Konzept Identische Vervielfachung: Parallelisierung, Multitasking

Der Virtualisierungsgedanke III ATLAS Computer, Manchester, 1962 Neben Multiprogrammierung: Druckerspooler - Umleitung Druckausgabe Datei Konzept Substitution: Drucker kann benutzt werden, wenn er beschäftigt oder aktuell nicht am Rechner angeschlossen ist

Der Virtualisierungsgedanke III ATLAS Computer, Manchester, 1962 Neben Multiprogrammierung: Druckerspooler - Umleitung Druckausgabe Datei Konzept Substitution: Drucker kann benutzt werden, wenn er beschäftigt oder aktuell nicht am Rechner angeschlossen ist

Der Virtualisierungsgedanke III ATLAS Computer, Manchester, 1962 Neben Multiprogrammierung: Druckerspooler - Umleitung Druckausgabe Datei Konzept Substitution: Drucker kann benutzt werden, wenn er beschäftigt oder aktuell nicht am Rechner angeschlossen ist

Der Virtualisierungsgedanke IV ATLAS Computer, Manchester, 1962 Einstufiger virtueller Speicher 96 KB Hauptspeicher 576 KB Hintergrundspeicher Grund: Aber: Daher: Kosten - 1 Bit Hauptspeicher ˆ= 6 Bit Hintergrundspeicher Programmierer sollten keine zusätzliche Arbeit haben Demand Paging Ein- und Auslagerung von Speicherseiten im Hintergrund

Der Virtualisierungsgedanke IV ATLAS Computer, Manchester, 1962 Einstufiger virtueller Speicher 96 KB Hauptspeicher 576 KB Hintergrundspeicher Grund: Aber: Daher: Kosten - 1 Bit Hauptspeicher ˆ= 6 Bit Hintergrundspeicher Programmierer sollten keine zusätzliche Arbeit haben Demand Paging Ein- und Auslagerung von Speicherseiten im Hintergrund

Der Virtualisierungsgedanke IV ATLAS Computer, Manchester, 1962 Einstufiger virtueller Speicher 96 KB Hauptspeicher 576 KB Hintergrundspeicher Grund: Aber: Daher: Kosten - 1 Bit Hauptspeicher ˆ= 6 Bit Hintergrundspeicher Programmierer sollten keine zusätzliche Arbeit haben Demand Paging Ein- und Auslagerung von Speicherseiten im Hintergrund

Der Virtualisierungsgedanke IV ATLAS Computer, Manchester, 1962 Einstufiger virtueller Speicher 96 KB Hauptspeicher 576 KB Hintergrundspeicher Grund: Aber: Daher: Kosten - 1 Bit Hauptspeicher ˆ= 6 Bit Hintergrundspeicher Programmierer sollten keine zusätzliche Arbeit haben Demand Paging Ein- und Auslagerung von Speicherseiten im Hintergrund

Der Virtualisierungsgedanke IV ATLAS Computer, Manchester, 1962 Einstufiger virtueller Speicher 96 KB Hauptspeicher 576 KB Hintergrundspeicher Grund: Aber: Daher: Kosten - 1 Bit Hauptspeicher ˆ= 6 Bit Hintergrundspeicher Programmierer sollten keine zusätzliche Arbeit haben Demand Paging Ein- und Auslagerung von Speicherseiten im Hintergrund

Der Virtualisierungsgedanke IV ATLAS Computer, Manchester, 1962 Einstufiger virtueller Speicher 96 KB Hauptspeicher 576 KB Hintergrundspeicher Grund: Aber: Daher: Kosten - 1 Bit Hauptspeicher ˆ= 6 Bit Hintergrundspeicher Programmierer sollten keine zusätzliche Arbeit haben Demand Paging Ein- und Auslagerung von Speicherseiten im Hintergrund

Der Virtualisierungsgedanke V Drittes wichtiges Konzept: Klassenbildung dd kann auf allen blockorientierten Geräten arbeiten Keine Anpassung oder Rekompilation notwendig

Der Virtualisierungsgedanke V Drittes wichtiges Konzept: Klassenbildung dd kann auf allen blockorientierten Geräten arbeiten Keine Anpassung oder Rekompilation notwendig

Der Virtualisierungsgedanke V Drittes wichtiges Konzept: Klassenbildung dd kann auf allen blockorientierten Geräten arbeiten Keine Anpassung oder Rekompilation notwendig

Virtualisierung auf einer anderen Ebene Identische Vervielfachung, Substitution, Klassenbildung heutzutage Grundbausteine Interessanter: Virtuelle Maschinen

Virtualisierung auf einer anderen Ebene Identische Vervielfachung, Substitution, Klassenbildung heutzutage Grundbausteine Interessanter: Virtuelle Maschinen

Virtuelle Maschinen I - M44/44X Mitte der 60er Jahre: IBM Watson Research Center M44/44X Ziel: Mittel: Erforschung der Eigenschaften von Timesharingkonzepten Ein IBM 7044 (M44) Mehrere virtuelle Maschinen des Typs IBM 7044 (44X)

Virtuelle Maschinen I - M44/44X Mitte der 60er Jahre: IBM Watson Research Center M44/44X Ziel: Mittel: Erforschung der Eigenschaften von Timesharingkonzepten Ein IBM 7044 (M44) Mehrere virtuelle Maschinen des Typs IBM 7044 (44X)

Virtuelle Maschinen I - M44/44X Mitte der 60er Jahre: IBM Watson Research Center M44/44X Ziel: Mittel: Erforschung der Eigenschaften von Timesharingkonzepten Ein IBM 7044 (M44) Mehrere virtuelle Maschinen des Typs IBM 7044 (44X)

Virtuelle Maschinen I - M44/44X Mitte der 60er Jahre: IBM Watson Research Center M44/44X Ziel: Mittel: Erforschung der Eigenschaften von Timesharingkonzepten Ein IBM 7044 (M44) Mehrere virtuelle Maschinen des Typs IBM 7044 (44X)

Virtuelle Maschinen II - M44/44X Ermöglichte Einsicht mit einem Computer in ein laufendes System Erfolge: Entdeckung der FIFO-Anomalie Eigenschaften des virtuellen Speichers IBM bis heute im Virtualisierungsgeschäft bei Großrechnern

Virtuelle Maschinen II - M44/44X Ermöglichte Einsicht mit einem Computer in ein laufendes System Erfolge: Entdeckung der FIFO-Anomalie Eigenschaften des virtuellen Speichers IBM bis heute im Virtualisierungsgeschäft bei Großrechnern

Virtuelle Maschinen II - M44/44X Ermöglichte Einsicht mit einem Computer in ein laufendes System Erfolge: Entdeckung der FIFO-Anomalie Eigenschaften des virtuellen Speichers IBM bis heute im Virtualisierungsgeschäft bei Großrechnern

Virtuelle Maschinen II - M44/44X Ermöglichte Einsicht mit einem Computer in ein laufendes System Erfolge: Entdeckung der FIFO-Anomalie Eigenschaften des virtuellen Speichers IBM bis heute im Virtualisierungsgeschäft bei Großrechnern

Virtuelle Maschinen III - p-maschine Erste virtuelle Maschine: Pseudo-Maschine (p-maschine) Kenneth Bowles, 1977 Programmiersprache: Pascal existierte nur auf Papier Ausführung der Programme durch Emulatoren Neues Ziel: Portabilität

Virtuelle Maschinen III - p-maschine Erste virtuelle Maschine: Pseudo-Maschine (p-maschine) Kenneth Bowles, 1977 Programmiersprache: Pascal existierte nur auf Papier Ausführung der Programme durch Emulatoren Neues Ziel: Portabilität

Virtuelle Maschinen III - p-maschine Erste virtuelle Maschine: Pseudo-Maschine (p-maschine) Kenneth Bowles, 1977 Programmiersprache: Pascal existierte nur auf Papier Ausführung der Programme durch Emulatoren Neues Ziel: Portabilität

Virtuelle Maschinen III - p-maschine Erste virtuelle Maschine: Pseudo-Maschine (p-maschine) Kenneth Bowles, 1977 Programmiersprache: Pascal existierte nur auf Papier Ausführung der Programme durch Emulatoren Neues Ziel: Portabilität

Virtuelle Maschinen III - p-maschine Erste virtuelle Maschine: Pseudo-Maschine (p-maschine) Kenneth Bowles, 1977 Programmiersprache: Pascal existierte nur auf Papier Ausführung der Programme durch Emulatoren Neues Ziel: Portabilität

Virtuelle Maschinen IV - JVM Java Virtual Machine, 1991 Programmiersprache: Java existierte nur auf Papier Ausführung der Programme durch Emulatoren

Virtuelle Maschinen IV - JVM Java Virtual Machine, 1991 Programmiersprache: Java existierte nur auf Papier Ausführung der Programme durch Emulatoren

Virtuelle Maschinen IV - JVM Java Virtual Machine, 1991 Programmiersprache: Java existierte nur auf Papier Ausführung der Programme durch Emulatoren

Virtuelle Maschinen IV - JVM Java Virtual Machine, 1991 Programmiersprache: Java existierte nur auf Papier Ausführung der Programme durch Emulatoren

Virtuelle Maschinen V - JVM Java Virtual Machine, 1991 Ähnlich, aber mit kleinen Änderungen: Effizientere Emulationsmethoden (Just-In-Time-Compiler) Rockwell-Collins Inc. zeigt 1997 den JEM1-Mikroprozessor: Java Real Machine

Virtuelle Maschinen V - JVM Java Virtual Machine, 1991 Ähnlich, aber mit kleinen Änderungen: Effizientere Emulationsmethoden (Just-In-Time-Compiler) Rockwell-Collins Inc. zeigt 1997 den JEM1-Mikroprozessor: Java Real Machine

Virtuelle Maschinen V - JVM Java Virtual Machine, 1991 Ähnlich, aber mit kleinen Änderungen: Effizientere Emulationsmethoden (Just-In-Time-Compiler) Rockwell-Collins Inc. zeigt 1997 den JEM1-Mikroprozessor: Java Real Machine

Software-Virtualisierung Wine Is Not an Emulator, 1993 Ziel: Weg: Vorteile: Aber: Nachteile: Windows 3.1-Programme unter Linux auszuführen Windows-Systemaufrufe werden in X-Windows-Systemaufrufe übersetzt Betriebssystemunabhängig Kein Emulator - Plattformabhängig Windows API sehr umfangreich, kaum dokumentiert Keine vollständige Unterstützung

Software-Virtualisierung Wine Is Not an Emulator, 1993 Ziel: Weg: Vorteile: Aber: Nachteile: Windows 3.1-Programme unter Linux auszuführen Windows-Systemaufrufe werden in X-Windows-Systemaufrufe übersetzt Betriebssystemunabhängig Kein Emulator - Plattformabhängig Windows API sehr umfangreich, kaum dokumentiert Keine vollständige Unterstützung

Software-Virtualisierung Wine Is Not an Emulator, 1993 Ziel: Weg: Vorteile: Aber: Nachteile: Windows 3.1-Programme unter Linux auszuführen Windows-Systemaufrufe werden in X-Windows-Systemaufrufe übersetzt Betriebssystemunabhängig Kein Emulator - Plattformabhängig Windows API sehr umfangreich, kaum dokumentiert Keine vollständige Unterstützung

Software-Virtualisierung Wine Is Not an Emulator, 1993 Ziel: Weg: Vorteile: Aber: Nachteile: Windows 3.1-Programme unter Linux auszuführen Windows-Systemaufrufe werden in X-Windows-Systemaufrufe übersetzt Betriebssystemunabhängig Kein Emulator - Plattformabhängig Windows API sehr umfangreich, kaum dokumentiert Keine vollständige Unterstützung

Software-Virtualisierung Wine Is Not an Emulator, 1993 Ziel: Weg: Vorteile: Aber: Nachteile: Windows 3.1-Programme unter Linux auszuführen Windows-Systemaufrufe werden in X-Windows-Systemaufrufe übersetzt Betriebssystemunabhängig Kein Emulator - Plattformabhängig Windows API sehr umfangreich, kaum dokumentiert Keine vollständige Unterstützung

Software-Virtualisierung Wine Is Not an Emulator, 1993 Ziel: Weg: Vorteile: Aber: Nachteile: Windows 3.1-Programme unter Linux auszuführen Windows-Systemaufrufe werden in X-Windows-Systemaufrufe übersetzt Betriebssystemunabhängig Kein Emulator - Plattformabhängig Windows API sehr umfangreich, kaum dokumentiert Keine vollständige Unterstützung

Software-Virtualisierung Wine Is Not an Emulator, 1993 Ziel: Weg: Vorteile: Aber: Nachteile: Windows 3.1-Programme unter Linux auszuführen Windows-Systemaufrufe werden in X-Windows-Systemaufrufe übersetzt Betriebssystemunabhängig Kein Emulator - Plattformabhängig Windows API sehr umfangreich, kaum dokumentiert Keine vollständige Unterstützung

Linux auf Linux - UML User Mode Linux, 1999 Jeff Dike portiert Linux auf Linux Ausführung des Gast-Kernels als unprivilegierter Prozess Seit 2.6 im Mainstream-Kernel enthalten Ziel: Kernelprogrammierung vereinfachen Normale Debugging- und Profilingtools Isolation (Kernel Dump)

Linux auf Linux - UML User Mode Linux, 1999 Jeff Dike portiert Linux auf Linux Ausführung des Gast-Kernels als unprivilegierter Prozess Seit 2.6 im Mainstream-Kernel enthalten Ziel: Kernelprogrammierung vereinfachen Normale Debugging- und Profilingtools Isolation (Kernel Dump)

Linux auf Linux - UML User Mode Linux, 1999 Jeff Dike portiert Linux auf Linux Ausführung des Gast-Kernels als unprivilegierter Prozess Seit 2.6 im Mainstream-Kernel enthalten Ziel: Kernelprogrammierung vereinfachen Normale Debugging- und Profilingtools Isolation (Kernel Dump)

Linux auf Linux - UML User Mode Linux, 1999 Jeff Dike portiert Linux auf Linux Ausführung des Gast-Kernels als unprivilegierter Prozess Seit 2.6 im Mainstream-Kernel enthalten Ziel: Kernelprogrammierung vereinfachen Normale Debugging- und Profilingtools Isolation (Kernel Dump)

Linux auf Linux - UML User Mode Linux, 1999 Jeff Dike portiert Linux auf Linux Ausführung des Gast-Kernels als unprivilegierter Prozess Seit 2.6 im Mainstream-Kernel enthalten Ziel: Kernelprogrammierung vereinfachen Normale Debugging- und Profilingtools Isolation (Kernel Dump)

Linux auf Linux - UML User Mode Linux, 1999 Jeff Dike portiert Linux auf Linux Ausführung des Gast-Kernels als unprivilegierter Prozess Seit 2.6 im Mainstream-Kernel enthalten Ziel: Kernelprogrammierung vereinfachen Normale Debugging- und Profilingtools Isolation (Kernel Dump)

Linux auf Linux - UML User Mode Linux, 1999 Jeff Dike portiert Linux auf Linux Ausführung des Gast-Kernels als unprivilegierter Prozess Seit 2.6 im Mainstream-Kernel enthalten Ziel: Kernelprogrammierung vereinfachen Normale Debugging- und Profilingtools Isolation (Kernel Dump)

User Mode Linux Architektur User Mode Linux, 1999 Generische arch-schnittstelle wird um um (User Mode) erweitert Keine eigenen Pheripherie-Geräte Hardwarespezifische Befehle werden durch Software emuliert Bei Bedarf Systemaufrufe an den Host-Kernel Für diesen erscheint der UML-Kernel als Prozess.. und jeder andere Prozess innerhalb des UML-Systems ebenfalls

User Mode Linux Architektur User Mode Linux, 1999 Generische arch-schnittstelle wird um um (User Mode) erweitert Keine eigenen Pheripherie-Geräte Hardwarespezifische Befehle werden durch Software emuliert Bei Bedarf Systemaufrufe an den Host-Kernel Für diesen erscheint der UML-Kernel als Prozess.. und jeder andere Prozess innerhalb des UML-Systems ebenfalls

User Mode Linux Architektur User Mode Linux, 1999 Generische arch-schnittstelle wird um um (User Mode) erweitert Keine eigenen Pheripherie-Geräte Hardwarespezifische Befehle werden durch Software emuliert Bei Bedarf Systemaufrufe an den Host-Kernel Für diesen erscheint der UML-Kernel als Prozess.. und jeder andere Prozess innerhalb des UML-Systems ebenfalls

User Mode Linux Architektur User Mode Linux, 1999 Generische arch-schnittstelle wird um um (User Mode) erweitert Keine eigenen Pheripherie-Geräte Hardwarespezifische Befehle werden durch Software emuliert Bei Bedarf Systemaufrufe an den Host-Kernel Für diesen erscheint der UML-Kernel als Prozess.. und jeder andere Prozess innerhalb des UML-Systems ebenfalls

User Mode Linux Architektur User Mode Linux, 1999 Generische arch-schnittstelle wird um um (User Mode) erweitert Keine eigenen Pheripherie-Geräte Hardwarespezifische Befehle werden durch Software emuliert Bei Bedarf Systemaufrufe an den Host-Kernel Für diesen erscheint der UML-Kernel als Prozess.. und jeder andere Prozess innerhalb des UML-Systems ebenfalls

User Mode Linux Architektur User Mode Linux, 1999 Generische arch-schnittstelle wird um um (User Mode) erweitert Keine eigenen Pheripherie-Geräte Hardwarespezifische Befehle werden durch Software emuliert Bei Bedarf Systemaufrufe an den Host-Kernel Für diesen erscheint der UML-Kernel als Prozess.. und jeder andere Prozess innerhalb des UML-Systems ebenfalls

User Mode Linux - SKAS Patch für den Host-Kernel: UML-SKAS Seperate Kernel Address Space bessere Speicherisolation billigere Kontextwechsel, da nicht vom Host-Kernel durchgeführt bessere Performance keine Prozesskopplung noch nicht im Mainstream-Kernel enthalten

User Mode Linux - SKAS Patch für den Host-Kernel: UML-SKAS Seperate Kernel Address Space bessere Speicherisolation billigere Kontextwechsel, da nicht vom Host-Kernel durchgeführt bessere Performance keine Prozesskopplung noch nicht im Mainstream-Kernel enthalten

User Mode Linux - SKAS Patch für den Host-Kernel: UML-SKAS Seperate Kernel Address Space bessere Speicherisolation billigere Kontextwechsel, da nicht vom Host-Kernel durchgeführt bessere Performance keine Prozesskopplung noch nicht im Mainstream-Kernel enthalten

User Mode Linux - SKAS Patch für den Host-Kernel: UML-SKAS Seperate Kernel Address Space bessere Speicherisolation billigere Kontextwechsel, da nicht vom Host-Kernel durchgeführt bessere Performance keine Prozesskopplung noch nicht im Mainstream-Kernel enthalten

User Mode Linux - SKAS Patch für den Host-Kernel: UML-SKAS Seperate Kernel Address Space bessere Speicherisolation billigere Kontextwechsel, da nicht vom Host-Kernel durchgeführt bessere Performance keine Prozesskopplung noch nicht im Mainstream-Kernel enthalten

User Mode Linux - SKAS Patch für den Host-Kernel: UML-SKAS Seperate Kernel Address Space bessere Speicherisolation billigere Kontextwechsel, da nicht vom Host-Kernel durchgeführt bessere Performance keine Prozesskopplung noch nicht im Mainstream-Kernel enthalten

User Mode Linux init ls ps firefox init ls ps firefox UML-Kernel UML-Kernel UML arch Treiber init ps firefox UML arch Treiber init ps Kernel User BlockDev SIG I/O Host Linux-Kernel (nicht UML-spezifisch) Architekturschicht Hardware Host-System CPU, Festplatten, Netzwerk,... Treiber Prozessarchitektur eines UML-Systems Prozesse im UML-Bereich sind für den Host-Kernel sichtbar Host Linux-Kernel (mit SKAS-Patch) Architekturschicht Treiber Hardware Host-System CPU, Festplatten, Netzwerk,... Prozessarchitektur eines UML-Systems mit SKAS- Patch UML-Bereich wird hinter vier Prozessen verborgen: Kernel- und User-Bereich, Blockgerätetreiber und Signalvermittlung für Ein-/Ausgabe

Virtualisierungshindernis x86 x86 galt bis 1999 als ineffizient bzw. nicht virtualisierbar Hauptursache: Nicht alle relevanten Befehle sind abfangbar Befehle, die den Systemzustand ändern oder abhängig vom Ring andere Auswirkungen haben

Virtualisierungshindernis x86 x86 galt bis 1999 als ineffizient bzw. nicht virtualisierbar Hauptursache: Nicht alle relevanten Befehle sind abfangbar Befehle, die den Systemzustand ändern oder abhängig vom Ring andere Auswirkungen haben

Virtualisierungshindernis x86 x86 galt bis 1999 als ineffizient bzw. nicht virtualisierbar Hauptursache: Nicht alle relevanten Befehle sind abfangbar Befehle, die den Systemzustand ändern oder abhängig vom Ring andere Auswirkungen haben

VMWare I VMWare Workstation, 1999 kompletter x86-pc mit in Grenzen frei wählbarer Hardware und ansehnlicher Geschwindigkeit

VMWare I VMWare Workstation, 1999 kompletter x86-pc mit in Grenzen frei wählbarer Hardware und ansehnlicher Geschwindigkeit

VMWare I VMWare Workstation, 1999 kompletter x86-pc mit in Grenzen frei wählbarer Hardware und ansehnlicher Geschwindigkeit

VMWare I VMWare Workstation, 1999 kompletter x86-pc mit in Grenzen frei wählbarer Hardware und ansehnlicher Geschwindigkeit

VMWare II - Technik Idee: Lösung: Führe möglichst viel (x86) Programmcode direkt aus Aber keine abzufangenden Befehle Virtual Machine Monitor (VMM) überprüft Programmcode vor Ausführung Folgt konditionalen Sprüngen bis zu - einem abzufangenden Befehl - einer maximaler Suchtiefe - einem Befehl, dessen Bedeutung noch nicht feststeht Ersetze dann den diesen Befehl mit einem Breakpoint

VMWare II - Technik Idee: Lösung: Führe möglichst viel (x86) Programmcode direkt aus Aber keine abzufangenden Befehle Virtual Machine Monitor (VMM) überprüft Programmcode vor Ausführung Folgt konditionalen Sprüngen bis zu - einem abzufangenden Befehl - einer maximaler Suchtiefe - einem Befehl, dessen Bedeutung noch nicht feststeht Ersetze dann den diesen Befehl mit einem Breakpoint

VMWare II - Technik Idee: Lösung: Führe möglichst viel (x86) Programmcode direkt aus Aber keine abzufangenden Befehle Virtual Machine Monitor (VMM) überprüft Programmcode vor Ausführung Folgt konditionalen Sprüngen bis zu - einem abzufangenden Befehl - einer maximaler Suchtiefe - einem Befehl, dessen Bedeutung noch nicht feststeht Ersetze dann den diesen Befehl mit einem Breakpoint

VMWare II - Technik Idee: Lösung: Führe möglichst viel (x86) Programmcode direkt aus Aber keine abzufangenden Befehle Virtual Machine Monitor (VMM) überprüft Programmcode vor Ausführung Folgt konditionalen Sprüngen bis zu - einem abzufangenden Befehl - einer maximaler Suchtiefe - einem Befehl, dessen Bedeutung noch nicht feststeht Ersetze dann den diesen Befehl mit einem Breakpoint

VMWare II - Technik Idee: Lösung: Führe möglichst viel (x86) Programmcode direkt aus Aber keine abzufangenden Befehle Virtual Machine Monitor (VMM) überprüft Programmcode vor Ausführung Folgt konditionalen Sprüngen bis zu - einem abzufangenden Befehl - einer maximaler Suchtiefe - einem Befehl, dessen Bedeutung noch nicht feststeht Ersetze dann den diesen Befehl mit einem Breakpoint

VMWare II - Technik Idee: Lösung: Führe möglichst viel (x86) Programmcode direkt aus Aber keine abzufangenden Befehle Virtual Machine Monitor (VMM) überprüft Programmcode vor Ausführung Folgt konditionalen Sprüngen bis zu - einem abzufangenden Befehl - einer maximaler Suchtiefe - einem Befehl, dessen Bedeutung noch nicht feststeht Ersetze dann den diesen Befehl mit einem Breakpoint

VMWare II - Technik Idee: Lösung: Führe möglichst viel (x86) Programmcode direkt aus Aber keine abzufangenden Befehle Virtual Machine Monitor (VMM) überprüft Programmcode vor Ausführung Folgt konditionalen Sprüngen bis zu - einem abzufangenden Befehl - einer maximaler Suchtiefe - einem Befehl, dessen Bedeutung noch nicht feststeht Ersetze dann den diesen Befehl mit einem Breakpoint

VMWare II - Technik Idee: Lösung: Führe möglichst viel (x86) Programmcode direkt aus Aber keine abzufangenden Befehle Virtual Machine Monitor (VMM) überprüft Programmcode vor Ausführung Folgt konditionalen Sprüngen bis zu - einem abzufangenden Befehl - einer maximaler Suchtiefe - einem Befehl, dessen Bedeutung noch nicht feststeht Ersetze dann den diesen Befehl mit einem Breakpoint

VMWare II - Technik Idee: Lösung: Führe möglichst viel (x86) Programmcode direkt aus Aber keine abzufangenden Befehle Virtual Machine Monitor (VMM) überprüft Programmcode vor Ausführung Folgt konditionalen Sprüngen bis zu - einem abzufangenden Befehl - einer maximaler Suchtiefe - einem Befehl, dessen Bedeutung noch nicht feststeht Ersetze dann den diesen Befehl mit einem Breakpoint

VMWare III - Der PreScan PreScan oder Scan-Before-Execution Löst Instruktionsproblem Durch Caching sehr effizient Probleme: Auslesen des Programmspeichers, Selbstmodifizierender Code Zugriffe werden auf Kopie des Originalcodes umgeleitet

VMWare III - Der PreScan PreScan oder Scan-Before-Execution Löst Instruktionsproblem Durch Caching sehr effizient Probleme: Auslesen des Programmspeichers, Selbstmodifizierender Code Zugriffe werden auf Kopie des Originalcodes umgeleitet

VMWare III - Der PreScan PreScan oder Scan-Before-Execution Löst Instruktionsproblem Durch Caching sehr effizient Probleme: Auslesen des Programmspeichers, Selbstmodifizierender Code Zugriffe werden auf Kopie des Originalcodes umgeleitet

VMWare III - Der PreScan PreScan oder Scan-Before-Execution Löst Instruktionsproblem Durch Caching sehr effizient Probleme: Auslesen des Programmspeichers, Selbstmodifizierender Code Zugriffe werden auf Kopie des Originalcodes umgeleitet

VMWare III - Der PreScan PreScan oder Scan-Before-Execution Löst Instruktionsproblem Durch Caching sehr effizient Probleme: Auslesen des Programmspeichers, Selbstmodifizierender Code Zugriffe werden auf Kopie des Originalcodes umgeleitet

VMWare III - Der PreScan PreScan oder Scan-Before-Execution Löst Instruktionsproblem Durch Caching sehr effizient Probleme: Auslesen des Programmspeichers, Selbstmodifizierender Code Zugriffe werden auf Kopie des Originalcodes umgeleitet

VMWare IV - Komponenten Zusätzliche VMWare Komponenten: VMDriver: VMApp: Tools: Assistiert bei Speicherverwaltung Kommunikation VMApp VMM Benutzerinteraktion I/O zwischen virtueller Maschine und Host-System Treiber und Programme für Gast-System

VMWare IV - Komponenten Zusätzliche VMWare Komponenten: VMDriver: VMApp: Tools: Assistiert bei Speicherverwaltung Kommunikation VMApp VMM Benutzerinteraktion I/O zwischen virtueller Maschine und Host-System Treiber und Programme für Gast-System

VMWare IV - Komponenten Zusätzliche VMWare Komponenten: VMDriver: VMApp: Tools: Assistiert bei Speicherverwaltung Kommunikation VMApp VMM Benutzerinteraktion I/O zwischen virtueller Maschine und Host-System Treiber und Programme für Gast-System

VMWare IV - Komponenten Zusätzliche VMWare Komponenten: VMDriver: VMApp: Tools: Assistiert bei Speicherverwaltung Kommunikation VMApp VMM Benutzerinteraktion I/O zwischen virtueller Maschine und Host-System Treiber und Programme für Gast-System

VMWare IV - Komponenten Zusätzliche VMWare Komponenten: VMDriver: VMApp: Tools: Assistiert bei Speicherverwaltung Kommunikation VMApp VMM Benutzerinteraktion I/O zwischen virtueller Maschine und Host-System Treiber und Programme für Gast-System

VMWare IV - Komponenten Zusätzliche VMWare Komponenten: VMDriver: VMApp: Tools: Assistiert bei Speicherverwaltung Kommunikation VMApp VMM Benutzerinteraktion I/O zwischen virtueller Maschine und Host-System Treiber und Programme für Gast-System

VMWare IV - Komponenten Zusätzliche VMWare Komponenten: VMDriver: VMApp: Tools: Assistiert bei Speicherverwaltung Kommunikation VMApp VMM Benutzerinteraktion I/O zwischen virtueller Maschine und Host-System Treiber und Programme für Gast-System

VMWare IV - Komponenten Zusätzliche VMWare Komponenten: VMDriver: VMApp: Tools: Assistiert bei Speicherverwaltung Kommunikation VMApp VMM Benutzerinteraktion I/O zwischen virtueller Maschine und Host-System Treiber und Programme für Gast-System

VMWare IV - Komponenten Zusätzliche VMWare Komponenten: VMDriver: VMApp: Tools: Assistiert bei Speicherverwaltung Kommunikation VMApp VMM Benutzerinteraktion I/O zwischen virtueller Maschine und Host-System Treiber und Programme für Gast-System

VMWare V User Mode Applikation User Mode Applikation VMWare Tools User Mode Applikation User Mode Applikation VMWare Workstation (VMApp) Betriebssystem Treiber Betriebssystem Treiber VMDriver Virtual Machine Monitor Hardware Host-System CPU, Festplatten, Netzwerk,... Architektur eines VMWare-Systems mit eingezeichnetem Kommunikationsweg

Para-Virtualisierung Bei VMWare muss das Gastsystem nicht modifiziert werden Was wäre wenn? Keine vollständige Virtualisierung mehr nötig Weniger Umsetzungsarbeiten Bessere Performance Konzept Para-Virtualisierung: Biete Gastsystem eine Architektur, die nicht gleich der eigenen ist aber sehr ähnlich

Para-Virtualisierung Bei VMWare muss das Gastsystem nicht modifiziert werden Was wäre wenn? Keine vollständige Virtualisierung mehr nötig Weniger Umsetzungsarbeiten Bessere Performance Konzept Para-Virtualisierung: Biete Gastsystem eine Architektur, die nicht gleich der eigenen ist aber sehr ähnlich

Para-Virtualisierung Bei VMWare muss das Gastsystem nicht modifiziert werden Was wäre wenn? Keine vollständige Virtualisierung mehr nötig Weniger Umsetzungsarbeiten Bessere Performance Konzept Para-Virtualisierung: Biete Gastsystem eine Architektur, die nicht gleich der eigenen ist aber sehr ähnlich

Para-Virtualisierung Bei VMWare muss das Gastsystem nicht modifiziert werden Was wäre wenn? Keine vollständige Virtualisierung mehr nötig Weniger Umsetzungsarbeiten Bessere Performance Konzept Para-Virtualisierung: Biete Gastsystem eine Architektur, die nicht gleich der eigenen ist aber sehr ähnlich

Para-Virtualisierung Bei VMWare muss das Gastsystem nicht modifiziert werden Was wäre wenn? Keine vollständige Virtualisierung mehr nötig Weniger Umsetzungsarbeiten Bessere Performance Konzept Para-Virtualisierung: Biete Gastsystem eine Architektur, die nicht gleich der eigenen ist aber sehr ähnlich

Para-Virtualisierung Bei VMWare muss das Gastsystem nicht modifiziert werden Was wäre wenn? Keine vollständige Virtualisierung mehr nötig Weniger Umsetzungsarbeiten Bessere Performance Konzept Para-Virtualisierung: Biete Gastsystem eine Architektur, die nicht gleich der eigenen ist aber sehr ähnlich

Para-Virtualisierung Bei VMWare muss das Gastsystem nicht modifiziert werden Was wäre wenn? Keine vollständige Virtualisierung mehr nötig Weniger Umsetzungsarbeiten Bessere Performance Konzept Para-Virtualisierung: Biete Gastsystem eine Architektur, die nicht gleich der eigenen ist aber sehr ähnlich

Para-Virtualisierung Bei VMWare muss das Gastsystem nicht modifiziert werden Was wäre wenn? Keine vollständige Virtualisierung mehr nötig Weniger Umsetzungsarbeiten Bessere Performance Konzept Para-Virtualisierung: Biete Gastsystem eine Architektur, die nicht gleich der eigenen ist aber sehr ähnlich

Xen - and the Art of Virtualization Xen - Universität von Cambridge Design-Prinzipien: Anwendungen müssen unverändert lauffähig bleiben Gastsystem (DomU) weiss von Virtualisierung effizientere Kommunikation Kontrolle durch möglichst schlanken VMM (Hypervisor) Ziel: Bis zu 100 VMs auf einem Server parallel und isoliert

Xen - and the Art of Virtualization Xen - Universität von Cambridge Design-Prinzipien: Anwendungen müssen unverändert lauffähig bleiben Gastsystem (DomU) weiss von Virtualisierung effizientere Kommunikation Kontrolle durch möglichst schlanken VMM (Hypervisor) Ziel: Bis zu 100 VMs auf einem Server parallel und isoliert

Xen - and the Art of Virtualization Xen - Universität von Cambridge Design-Prinzipien: Anwendungen müssen unverändert lauffähig bleiben Gastsystem (DomU) weiss von Virtualisierung effizientere Kommunikation Kontrolle durch möglichst schlanken VMM (Hypervisor) Ziel: Bis zu 100 VMs auf einem Server parallel und isoliert

Xen - and the Art of Virtualization Xen - Universität von Cambridge Design-Prinzipien: Anwendungen müssen unverändert lauffähig bleiben Gastsystem (DomU) weiss von Virtualisierung effizientere Kommunikation Kontrolle durch möglichst schlanken VMM (Hypervisor) Ziel: Bis zu 100 VMs auf einem Server parallel und isoliert

Xen - and the Art of Virtualization Xen - Universität von Cambridge Design-Prinzipien: Anwendungen müssen unverändert lauffähig bleiben Gastsystem (DomU) weiss von Virtualisierung effizientere Kommunikation Kontrolle durch möglichst schlanken VMM (Hypervisor) Ziel: Bis zu 100 VMs auf einem Server parallel und isoliert

Xen - and the Art of Virtualization Xen - Universität von Cambridge Design-Prinzipien: Anwendungen müssen unverändert lauffähig bleiben Gastsystem (DomU) weiss von Virtualisierung effizientere Kommunikation Kontrolle durch möglichst schlanken VMM (Hypervisor) Ziel: Bis zu 100 VMs auf einem Server parallel und isoliert

Xen - and the Art of Virtualization Xen - Universität von Cambridge Design-Prinzipien: Anwendungen müssen unverändert lauffähig bleiben Gastsystem (DomU) weiss von Virtualisierung effizientere Kommunikation Kontrolle durch möglichst schlanken VMM (Hypervisor) Ziel: Bis zu 100 VMs auf einem Server parallel und isoliert

Xen-Architektur I - Speicherzugriffe Speicherzugriffe Translation Lookaside Buffer = Cache von Speicheradressen sorgt für schnelle Zugriffe Codebereichswechsel bedeutet klassischerweise TLB-Flush für jeden Systemaufruf (Hypercall)

Xen-Architektur I - Speicherzugriffe Speicherzugriffe Translation Lookaside Buffer = Cache von Speicheradressen sorgt für schnelle Zugriffe Codebereichswechsel bedeutet klassischerweise TLB-Flush für jeden Systemaufruf (Hypercall)

Xen-Architektur I - Speicherzugriffe Speicherzugriffe Translation Lookaside Buffer = Cache von Speicheradressen sorgt für schnelle Zugriffe Codebereichswechsel bedeutet klassischerweise TLB-Flush für jeden Systemaufruf (Hypercall)

Xen-Architektur I - Speicherzugriffe Speicherzugriffe Translation Lookaside Buffer = Cache von Speicheradressen sorgt für schnelle Zugriffe Codebereichswechsel bedeutet klassischerweise TLB-Flush für jeden Systemaufruf (Hypercall)

Xen-Architektur II - Speicherzugriffe Xen: Betriebssystem soll Seitentabellen selbst verwalten Lesezugriffe werden direkt ausgeführt Schreibzugriffe werden vom Hypervisor geprüft Für Hypervisor werden obere 64 MB reserviert Einfache Systemaufrufe damit ohne TLB-Flush möglich Zusammenfassen vieler Schreibzugriffe zu einem Systemaufruf

Xen-Architektur II - Speicherzugriffe Xen: Betriebssystem soll Seitentabellen selbst verwalten Lesezugriffe werden direkt ausgeführt Schreibzugriffe werden vom Hypervisor geprüft Für Hypervisor werden obere 64 MB reserviert Einfache Systemaufrufe damit ohne TLB-Flush möglich Zusammenfassen vieler Schreibzugriffe zu einem Systemaufruf

Xen-Architektur II - Speicherzugriffe Xen: Betriebssystem soll Seitentabellen selbst verwalten Lesezugriffe werden direkt ausgeführt Schreibzugriffe werden vom Hypervisor geprüft Für Hypervisor werden obere 64 MB reserviert Einfache Systemaufrufe damit ohne TLB-Flush möglich Zusammenfassen vieler Schreibzugriffe zu einem Systemaufruf

Xen-Architektur II - Speicherzugriffe Xen: Betriebssystem soll Seitentabellen selbst verwalten Lesezugriffe werden direkt ausgeführt Schreibzugriffe werden vom Hypervisor geprüft Für Hypervisor werden obere 64 MB reserviert Einfache Systemaufrufe damit ohne TLB-Flush möglich Zusammenfassen vieler Schreibzugriffe zu einem Systemaufruf

Xen-Architektur II - Speicherzugriffe Xen: Betriebssystem soll Seitentabellen selbst verwalten Lesezugriffe werden direkt ausgeführt Schreibzugriffe werden vom Hypervisor geprüft Für Hypervisor werden obere 64 MB reserviert Einfache Systemaufrufe damit ohne TLB-Flush möglich Zusammenfassen vieler Schreibzugriffe zu einem Systemaufruf

Xen-Architektur II - Speicherzugriffe Xen: Betriebssystem soll Seitentabellen selbst verwalten Lesezugriffe werden direkt ausgeführt Schreibzugriffe werden vom Hypervisor geprüft Für Hypervisor werden obere 64 MB reserviert Einfache Systemaufrufe damit ohne TLB-Flush möglich Zusammenfassen vieler Schreibzugriffe zu einem Systemaufruf

Xen-Architektur II - Speicherzugriffe Xen: Betriebssystem soll Seitentabellen selbst verwalten Lesezugriffe werden direkt ausgeführt Schreibzugriffe werden vom Hypervisor geprüft Für Hypervisor werden obere 64 MB reserviert Einfache Systemaufrufe damit ohne TLB-Flush möglich Zusammenfassen vieler Schreibzugriffe zu einem Systemaufruf

Xen-Architektur III - Speicherzugriffe Problem: Schreibanfragen werden verspätet bearbeitet Lesezugriffe aber direkt ausgeführt = Seitenzugriffsfehler DomU-Betriebssystem prüft ob noch Schreibanfragen vorliegen, führt diese aus und versucht wieder Lesezugriff Segmenttabellen funktionieren ähnlich

Xen-Architektur III - Speicherzugriffe Problem: Schreibanfragen werden verspätet bearbeitet Lesezugriffe aber direkt ausgeführt = Seitenzugriffsfehler DomU-Betriebssystem prüft ob noch Schreibanfragen vorliegen, führt diese aus und versucht wieder Lesezugriff Segmenttabellen funktionieren ähnlich

Xen-Architektur III - Speicherzugriffe Problem: Schreibanfragen werden verspätet bearbeitet Lesezugriffe aber direkt ausgeführt = Seitenzugriffsfehler DomU-Betriebssystem prüft ob noch Schreibanfragen vorliegen, führt diese aus und versucht wieder Lesezugriff Segmenttabellen funktionieren ähnlich

Xen-Architektur III - Speicherzugriffe Problem: Schreibanfragen werden verspätet bearbeitet Lesezugriffe aber direkt ausgeführt = Seitenzugriffsfehler DomU-Betriebssystem prüft ob noch Schreibanfragen vorliegen, führt diese aus und versucht wieder Lesezugriff Segmenttabellen funktionieren ähnlich

Xen-Architektur III - Speicherzugriffe Problem: Schreibanfragen werden verspätet bearbeitet Lesezugriffe aber direkt ausgeführt = Seitenzugriffsfehler DomU-Betriebssystem prüft ob noch Schreibanfragen vorliegen, führt diese aus und versucht wieder Lesezugriff Segmenttabellen funktionieren ähnlich

Xen-Architektur III - Speicherzugriffe Problem: Schreibanfragen werden verspätet bearbeitet Lesezugriffe aber direkt ausgeführt = Seitenzugriffsfehler DomU-Betriebssystem prüft ob noch Schreibanfragen vorliegen, führt diese aus und versucht wieder Lesezugriff Segmenttabellen funktionieren ähnlich

Xen-Architektur IV - CPU Virtualisierung der CPU x86: Ring 0 (Kernel) - 3 (User) Xen führt DomU-Systeme im (fast) ungenutzten Ring 1 aus Abfangen vieler Befehle nun leicht möglich Ausnahmen: Seitenfehler per Umweg über Ring 0 Systemaufrufe aus DomU-Programmen per Exceptionhandler

Xen-Architektur IV - CPU Virtualisierung der CPU x86: Ring 0 (Kernel) - 3 (User) Xen führt DomU-Systeme im (fast) ungenutzten Ring 1 aus Abfangen vieler Befehle nun leicht möglich Ausnahmen: Seitenfehler per Umweg über Ring 0 Systemaufrufe aus DomU-Programmen per Exceptionhandler

Xen-Architektur IV - CPU Virtualisierung der CPU x86: Ring 0 (Kernel) - 3 (User) Xen führt DomU-Systeme im (fast) ungenutzten Ring 1 aus Abfangen vieler Befehle nun leicht möglich Ausnahmen: Seitenfehler per Umweg über Ring 0 Systemaufrufe aus DomU-Programmen per Exceptionhandler

Xen-Architektur IV - CPU Virtualisierung der CPU x86: Ring 0 (Kernel) - 3 (User) Xen führt DomU-Systeme im (fast) ungenutzten Ring 1 aus Abfangen vieler Befehle nun leicht möglich Ausnahmen: Seitenfehler per Umweg über Ring 0 Systemaufrufe aus DomU-Programmen per Exceptionhandler

Xen-Architektur IV - CPU Virtualisierung der CPU x86: Ring 0 (Kernel) - 3 (User) Xen führt DomU-Systeme im (fast) ungenutzten Ring 1 aus Abfangen vieler Befehle nun leicht möglich Ausnahmen: Seitenfehler per Umweg über Ring 0 Systemaufrufe aus DomU-Programmen per Exceptionhandler

Xen-Architektur IV - CPU Virtualisierung der CPU x86: Ring 0 (Kernel) - 3 (User) Xen führt DomU-Systeme im (fast) ungenutzten Ring 1 aus Abfangen vieler Befehle nun leicht möglich Ausnahmen: Seitenfehler per Umweg über Ring 0 Systemaufrufe aus DomU-Programmen per Exceptionhandler

Xen-Architektur IV - CPU Virtualisierung der CPU x86: Ring 0 (Kernel) - 3 (User) Xen führt DomU-Systeme im (fast) ungenutzten Ring 1 aus Abfangen vieler Befehle nun leicht möglich Ausnahmen: Seitenfehler per Umweg über Ring 0 Systemaufrufe aus DomU-Programmen per Exceptionhandler

Xen-Architektur IV - CPU Virtualisierung der CPU x86: Ring 0 (Kernel) - 3 (User) Xen führt DomU-Systeme im (fast) ungenutzten Ring 1 aus Abfangen vieler Befehle nun leicht möglich Ausnahmen: Seitenfehler per Umweg über Ring 0 Systemaufrufe aus DomU-Programmen per Exceptionhandler

Xen-Architektur V - I/O Virtualisierung von I/O I/O-Operationen über gemeinsame Ringpuffer Asynchrone Nachrichtenübermittlung ähnlich Interrupts Gastsystem kann entscheiden, wann und wie oft es unterbrochen werden will Festplattenzugriffe über virtuelle blockorientierte Geräte Xen kann Anfragen umordnen - Alternativ: reorder barriers

Xen-Architektur V - I/O Virtualisierung von I/O I/O-Operationen über gemeinsame Ringpuffer Asynchrone Nachrichtenübermittlung ähnlich Interrupts Gastsystem kann entscheiden, wann und wie oft es unterbrochen werden will Festplattenzugriffe über virtuelle blockorientierte Geräte Xen kann Anfragen umordnen - Alternativ: reorder barriers

Xen-Architektur V - I/O Virtualisierung von I/O I/O-Operationen über gemeinsame Ringpuffer Asynchrone Nachrichtenübermittlung ähnlich Interrupts Gastsystem kann entscheiden, wann und wie oft es unterbrochen werden will Festplattenzugriffe über virtuelle blockorientierte Geräte Xen kann Anfragen umordnen - Alternativ: reorder barriers

Xen-Architektur V - I/O Virtualisierung von I/O I/O-Operationen über gemeinsame Ringpuffer Asynchrone Nachrichtenübermittlung ähnlich Interrupts Gastsystem kann entscheiden, wann und wie oft es unterbrochen werden will Festplattenzugriffe über virtuelle blockorientierte Geräte Xen kann Anfragen umordnen - Alternativ: reorder barriers

Xen-Architektur V - I/O Virtualisierung von I/O I/O-Operationen über gemeinsame Ringpuffer Asynchrone Nachrichtenübermittlung ähnlich Interrupts Gastsystem kann entscheiden, wann und wie oft es unterbrochen werden will Festplattenzugriffe über virtuelle blockorientierte Geräte Xen kann Anfragen umordnen - Alternativ: reorder barriers

Xen-Architektur V - I/O Virtualisierung von I/O I/O-Operationen über gemeinsame Ringpuffer Asynchrone Nachrichtenübermittlung ähnlich Interrupts Gastsystem kann entscheiden, wann und wie oft es unterbrochen werden will Festplattenzugriffe über virtuelle blockorientierte Geräte Xen kann Anfragen umordnen - Alternativ: reorder barriers

Xen-Architektur VI Kontroll-System Dom0 Gast-System DomU Gast-System DomU App Xen Verwaltungssoftware App App App App Betriebssystem Betriebssystem Treiber Betriebssystem Control Interface Safe Hardware Interface Event Channel Xen Virtual Machine Monitor Hardware Host-System CPU, Festplatten, Netzwerk,... Architektur eines Xen-Systems: Hypervisor/VMM stellt x86/xen-architektur zur Verfügung, auf die das Kontroll-Betriebssystem sowie die Gast-Systeme portiert wurden.

Xen-Architektur VII - Scheduling Exkurs: Scheduling mit Borrowed Virtual Time Kenneth J. Duda und David R. Cheriton, 1999 Ziele: Hoher Durchsatz und Fairness Externe Vorgaben erfordern schnelle Reaktion: z.b. TCP-Timing BVT weicht daher von einem strikt fairen Scheduling ab

Xen-Architektur VII - Scheduling Exkurs: Scheduling mit Borrowed Virtual Time Kenneth J. Duda und David R. Cheriton, 1999 Ziele: Hoher Durchsatz und Fairness Externe Vorgaben erfordern schnelle Reaktion: z.b. TCP-Timing BVT weicht daher von einem strikt fairen Scheduling ab

Xen-Architektur VII - Scheduling Exkurs: Scheduling mit Borrowed Virtual Time Kenneth J. Duda und David R. Cheriton, 1999 Ziele: Hoher Durchsatz und Fairness Externe Vorgaben erfordern schnelle Reaktion: z.b. TCP-Timing BVT weicht daher von einem strikt fairen Scheduling ab

Xen-Architektur VII - Scheduling Exkurs: Scheduling mit Borrowed Virtual Time Kenneth J. Duda und David R. Cheriton, 1999 Ziele: Hoher Durchsatz und Fairness Externe Vorgaben erfordern schnelle Reaktion: z.b. TCP-Timing BVT weicht daher von einem strikt fairen Scheduling ab

Xen-Architektur VIII - Scheduling Exkurs: Scheduling mit Borrowed Virtual Time t ex 7 6 5 4 3 2 1 0-1 -2-3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 t R t ex 7 6 5 4 3 2 1 0-1 -2-3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 t R P1 P2 P3 Standard-Zeitscheibenverfahren (Round Robin) P1 P2 P3 Möglicher Ablauf mit BVT

Xen-Architektur IX - Scheduling Exkurs: Scheduling mit Borrowed Virtual Time In der Praxis: Zwei Benchmarksysteme Ein System, das die Festplatten auslastet Ein System mit Fork-Bomb und Speicherallokation = Benchmarks geben um 2-4% gegenüber Vergleichstest nach (in anderen Fällen sogar besser als Linux)

Xen-Architektur IX - Scheduling Exkurs: Scheduling mit Borrowed Virtual Time In der Praxis: Zwei Benchmarksysteme Ein System, das die Festplatten auslastet Ein System mit Fork-Bomb und Speicherallokation = Benchmarks geben um 2-4% gegenüber Vergleichstest nach (in anderen Fällen sogar besser als Linux)

Xen-Architektur IX - Scheduling Exkurs: Scheduling mit Borrowed Virtual Time In der Praxis: Zwei Benchmarksysteme Ein System, das die Festplatten auslastet Ein System mit Fork-Bomb und Speicherallokation = Benchmarks geben um 2-4% gegenüber Vergleichstest nach (in anderen Fällen sogar besser als Linux)

Xen-Architektur IX - Scheduling Exkurs: Scheduling mit Borrowed Virtual Time In der Praxis: Zwei Benchmarksysteme Ein System, das die Festplatten auslastet Ein System mit Fork-Bomb und Speicherallokation = Benchmarks geben um 2-4% gegenüber Vergleichstest nach (in anderen Fällen sogar besser als Linux)

Xen-Architektur IX - Scheduling Exkurs: Scheduling mit Borrowed Virtual Time In der Praxis: Zwei Benchmarksysteme Ein System, das die Festplatten auslastet Ein System mit Fork-Bomb und Speicherallokation = Benchmarks geben um 2-4% gegenüber Vergleichstest nach (in anderen Fällen sogar besser als Linux)

Xen-Architektur IX - Scheduling Exkurs: Scheduling mit Borrowed Virtual Time In der Praxis: Zwei Benchmarksysteme Ein System, das die Festplatten auslastet Ein System mit Fork-Bomb und Speicherallokation = Benchmarks geben um 2-4% gegenüber Vergleichstest nach (in anderen Fällen sogar besser als Linux)

Vergleich der Systemvirtualisierungslösungen 110 % 100 % Relative Geschwindigkeit gegenüber Linux 90 % 80 % 70 % 60 % 50 % 40 % 30 % 20 % 10 % 0 % L X V U SPEC INT2000 L X V U Kernelkompilation L X V U OSDB-IR L X V U OSDB-OLTP L X V U dbench L X V U SPEC WEB99

Ausblick: Xen 3 Xen 3 Unterstützung für SMP, x86 64. IA64 Clustering und bessere Managementsoftware QoS für Limits und Garantien z.b. Netzwerkbandbreite und CPU-Auslastung etwa Dezember 2005

Ausblick: Xen 3 Xen 3 Unterstützung für SMP, x86 64. IA64 Clustering und bessere Managementsoftware QoS für Limits und Garantien z.b. Netzwerkbandbreite und CPU-Auslastung etwa Dezember 2005

Ausblick: Xen 3 Xen 3 Unterstützung für SMP, x86 64. IA64 Clustering und bessere Managementsoftware QoS für Limits und Garantien z.b. Netzwerkbandbreite und CPU-Auslastung etwa Dezember 2005

Ausblick: Xen 3 Xen 3 Unterstützung für SMP, x86 64. IA64 Clustering und bessere Managementsoftware QoS für Limits und Garantien z.b. Netzwerkbandbreite und CPU-Auslastung etwa Dezember 2005

Ausblick: Xen 3 Xen 3 Unterstützung für SMP, x86 64. IA64 Clustering und bessere Managementsoftware QoS für Limits und Garantien z.b. Netzwerkbandbreite und CPU-Auslastung etwa Dezember 2005

Ausblick: x86 x86 im Wandel - Pacifica und VT/Vanderpool Erweiterung der Rechtestruktur: Ring 0-3 root mode, non-root mode Xen 3 Hypervisor im Ring 0 root mode, Windows XP im Ring 0 non-root mode = Portierung nicht mehr notwendig Prozessoren etwa 2006 verfügbar

Ausblick: x86 x86 im Wandel - Pacifica und VT/Vanderpool Erweiterung der Rechtestruktur: Ring 0-3 root mode, non-root mode Xen 3 Hypervisor im Ring 0 root mode, Windows XP im Ring 0 non-root mode = Portierung nicht mehr notwendig Prozessoren etwa 2006 verfügbar

Ausblick: x86 x86 im Wandel - Pacifica und VT/Vanderpool Erweiterung der Rechtestruktur: Ring 0-3 root mode, non-root mode Xen 3 Hypervisor im Ring 0 root mode, Windows XP im Ring 0 non-root mode = Portierung nicht mehr notwendig Prozessoren etwa 2006 verfügbar

Ausblick: x86 x86 im Wandel - Pacifica und VT/Vanderpool Erweiterung der Rechtestruktur: Ring 0-3 root mode, non-root mode Xen 3 Hypervisor im Ring 0 root mode, Windows XP im Ring 0 non-root mode = Portierung nicht mehr notwendig Prozessoren etwa 2006 verfügbar

Ausblick: x86 x86 im Wandel - Pacifica und VT/Vanderpool Erweiterung der Rechtestruktur: Ring 0-3 root mode, non-root mode Xen 3 Hypervisor im Ring 0 root mode, Windows XP im Ring 0 non-root mode = Portierung nicht mehr notwendig Prozessoren etwa 2006 verfügbar

Ausblick: x86 x86 im Wandel - Pacifica und VT/Vanderpool Erweiterung der Rechtestruktur: Ring 0-3 root mode, non-root mode Xen 3 Hypervisor im Ring 0 root mode, Windows XP im Ring 0 non-root mode = Portierung nicht mehr notwendig Prozessoren etwa 2006 verfügbar

Ausblick: x86 x86 im Wandel - Pacifica und VT/Vanderpool Erweiterung der Rechtestruktur: Ring 0-3 root mode, non-root mode Xen 3 Hypervisor im Ring 0 root mode, Windows XP im Ring 0 non-root mode = Portierung nicht mehr notwendig Prozessoren etwa 2006 verfügbar

Ausblick: x86 x86 im Wandel - Pacifica und VT/Vanderpool Erweiterung der Rechtestruktur: Ring 0-3 root mode, non-root mode Xen 3 Hypervisor im Ring 0 root mode, Windows XP im Ring 0 non-root mode = Portierung nicht mehr notwendig Prozessoren etwa 2006 verfügbar

Vielen Dank für die Aufmerksamkeit Fragen?