Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einleitung
2 Die Installation
3 Erste Schritte
4 Linux als Workstation für Einsteiger
5 Der Kernel
6 Die Grundlagen aus Anwendersicht
7 Die Shell
8 Reguläre Ausdrücke
9 Konsolentools
10 Die Editoren
11 Shellskriptprogrammierung mit der bash
12 Die C-Shell
13 Benutzerverwaltung
14 Grundlegende Verwaltungsaufgaben
15 Netzwerkgrundlagen
16 Anwendersoftware für das Netzwerk
17 Netzwerkdienste
18 Mailserver unter Linux
19 LAMP
20 DNS-Server
21 Secure Shell
22 Die grafische Oberfläche
23 Window-Manager und Desktops
24 X11-Programme
25 Multimedia und Spiele
26 Prozesse und IPC
27 Bootstrap und Shutdown
28 Dateisysteme
29 Virtualisierung und Emulatoren
30 Softwareentwicklung
31 Crashkurs in C und Perl
32 Einführung in die Sicherheit
33 Netzwerksicherheit überwachen
A Lösungen zu den einzelnen Aufgaben
B Kommandoreferenz
C X11-InputDevices
D MBR
E Die Buch-DVDs
F Glossar
G Literatur
Stichwort

Download:
- ZIP, ca. 15,7 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Linux von Johannes Pl&ouml;tner, Steffen Wendzel
Das umfassende Handbuch
Buch: Linux

Linux
geb., mit 2 DVDs
1302 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1704-0
Pfeil 29 Virtualisierung und Emulatoren
  Pfeil 29.1 Einführung
    Pfeil 29.1.1 Betriebssystem-Virtualisierung
    Pfeil 29.1.2 Emulation
  Pfeil 29.2 Wine, Cedega und Crossover
    Pfeil 29.2.1 Cedega
    Pfeil 29.2.2 Crossover
    Pfeil 29.2.3 Wine
  Pfeil 29.3 ScummVM
    Pfeil 29.3.1 Klassiker und Open-Source-Spiele
    Pfeil 29.3.2 Spiele installieren
  Pfeil 29.4 Oldie-Emulatoren und Nostalgie
    Pfeil 29.4.1 DOSBox
    Pfeil 29.4.2 UAE
    Pfeil 29.4.3 Weitere Emulatoren
  Pfeil 29.5 Hardware-Virtualisierung mit Xen
    Pfeil 29.5.1 Die Xen-Architektur
    Pfeil 29.5.2 Die Administration via xm
  Pfeil 29.6 Hardware-Virtualisierung mit KVM
    Pfeil 29.6.1 Die KVM-Architektur
    Pfeil 29.6.2 Die Administration via Qemu
    Pfeil 29.6.3 KVM vs. Xen
    Pfeil 29.6.4 Weitere Lösungen
  Pfeil 29.7 Zusammenfassung
  Pfeil 29.8 Aufgaben

»Mache alles so einfach wie möglich, doch nicht einfacher.«
– Albert Einstein

29 Virtualisierung und Emulatoren

In diesem Kapitel beschäftigen wir uns mit Emulatoren und virtuellen Maschinen (VMs) unter Linux.

Durch die Virtualisierung oder die Emulation einer Systemumgebung wird es möglich, unter Linux auch Anwendungen anderer Betriebssysteme beziehungsweise sogar komplette Betriebssysteme zu betreiben.


Galileo Computing - Zum Seitenanfang

29.1 Einführung  Zur nächsten ÜberschriftZur vorigen Überschrift

Zuerst einmal wollen wir die Begriffe klären. Virtualisierung und Emulation sind zwar verwandt, aber nicht zu verwechseln.


Galileo Computing - Zum Seitenanfang

29.1.1 Betriebssystem-Virtualisierung  Zur nächsten ÜberschriftZur vorigen Überschrift

Der Begriff Virtualisierung wurde bereits in Kapitel 5, »Der Kernel«, vorgestellt. Dort wurde Virtualisierung bereits so definiert, dass vorhandene Ressourcen wie Speicher oder CPU-Rechenzeit unter den laufenden Prozessen aufgeteilt wurden.

Virtuelle Maschine

Wenn von der Virtualisierung ganzer Systeme die Rede ist, meint man den Betrieb verschiedener Betriebssystem-Instanzen oder virtueller Maschinen auf einem physikalischen System. Damit man nun zwei oder mehr unabhängige Linux-Systeme oder auch Windows und Linux parallel auf derselben Maschine betreiben kann, benötigt man einen Hypervisor.


Ein Hypervisor ist eine Software, die eine Umgebung für virtuelle Maschinen bereitstellt bzw. diese verwaltet.


Für die Virtualisierung von Betriebssystemen gibt es unterschiedliche Hypervisor-Technologien mit jeweils eigenen Vor- und Nachteilen:

  • Virtualisierung mittels Container / Zone / jail
    Hier wird eine komplette Betriebssystemumgebung innerhalb eines abgeschlossenen Containers zur Verfügung gestellt. Charakteristisch für diese Virtualisierungsform ist, dass nur ein Kernel des Betriebssystems läuft, der die jeweiligen Container verwaltet und eine saubere Trennung sicherstellt. Mit dieser Virtualsierungsform können selbstverständlich jeweils nur gleiche Betriebssysteme virtualisiert werden, die Virtualisierung eines Window-Systems unter Linux ist hier nicht möglich.
  • Abbildung Teufelchen
  • Diese Virtualisierung existiert unter verschiedenen Unix-Varianten: Unter Solaris spricht man von Zones, unter FreeBSD von jails. [Unter OpenBSD lässt sich durch Kombination von chroot und systrace Ähnliches bewirken.] Unter Linux gibt es User-Mode-Linux, das ebenfalls eine Variante eines Containers darstellt. [Jedoch wird hier – im Widerspruch zur »reinen Lehre« – innerhalb eines Containers wieder ein spezieller User-Mode-Linux-Kernel gestartet.]
    • Bei dieser Virtualisierung ist der Hypervisor eigentlich der Kernel selbst.
  • Virtualisierung in Software
    Bei der Virtualisierung in Software läuft der Hypervisor als eigenes Programm auf einem vollwertigen Betriebssystem. Der Hypervisor nutzt hier die Treiber des Betriebssystems.
    • Vorteile sind hier, dass kaum Anpassung an das zugrunde liegende Wirtssystem notwendig sind. Weiterhin hat jede virtuelle Maschine im Gegensatz zu einer Container-Virtualisierung einen eigenen vollwertigen Kernel. Ein wesentlicher Nachteil können jedoch Performanceinbußen sein, die aufgrund eventuell mangelnder Hardwareunterstützung für solche Virtualisierungslösungen entstehen können – schließlich laufen die virtuellen Gastsysteme nicht parallel auf einer geteilten Hardware, sondern mehr oder weniger innerhalb des Wirts-Betriebssystems.
    • Beispiele für diese Art der Virtualisierung wären VMware Workstation, Virtualbox oder Qemu (ohne KVM).
  • Hardware-Virtualisierung
    Im Gegensatz zur Software-Virtualisierung läuft der Hypervisor hier direkt auf der Hardware und bringt in der Regel seine eigenen Treiber mit. Alle virtuellen Gastsysteme laufen somit direkt auf der zugrunde liegenden Hardware parallel neben dem »kontrollierenden« Hypervisor, was im Vergleich zur Software-Virtualisierung deutliche Performance-Vorteile mit sich bringt. Das in einer virtuellen Maschine ausgeführte Gastsystem muss somit jedoch auch kompatibel zur eingesetzten Hardware sein. Selbstverständlich nutzen die virtuellen Gastsysteme ebenfalls einen eigenen Kernel.

Paravirtualisierung

    • Eine besondere Form der Hardware-Virtualisierung ist die Paravirtualisierung: Hier wird die gemeinsam genutzte Hardware vom Hypervisor zu einer generischen Schnittstelle abstrahiert, was in der Folge nur spezielle Gastsysteme beziehungsweise Gastsysteme mit speziell angepassten Kerneln erlaubt. Durch die vorgenommene Abstraktion kann die virtuelle Maschine aber besonders schlank und effizient gestaltet werden, was im Betrieb wiederum weitere Geschwindigkeitsvorteile bringt.
    • Beispiele für eine Hardware- beziehungsweise Paravirtualiserung sind beispielsweise VMware ESX Server oder auch Xen unter Linux.

Aber Achtung: Die Literatur ist in diesen Definitionen nicht eindeutig, auch viele Hersteller nutzen dieselben Begriffe in teilweise unterschiedlichen Bedeutungen. Passen Sie also auf, wenn Sie anderswo mit diesen Begriffen konfrontiert werden und hinterfragen Sie gegebenenfalls den Kontext. Für unser Verständnis und das weitere Kapitel sind diese Definitionen aber eindeutig und mehr als ausreichend.


Galileo Computing - Zum Seitenanfang

29.1.2 Emulation  topZur vorigen Überschrift

Während eine Virtualsierung also immer etwas vorhandenes – im Regelfall Systemressourcen – aufteilt, wird bei einer Emulation etwas nachbildet, was eigentlich nicht da ist. Meist handelt es sich bei diesen »Nachbildungen« um spezielle Schnittstellen oder gleich ganze Systemumgebungen.


Analog zum Hypervisor ist ein Emulator eine Software, die eine fremde Systemumgebung (gegebenenfalls in Teilen) nachbildet.


Ein Emulator ist nach dieser Definition im Gegensatz zum Hypervisor immer ein Programm, das innerhalb Ihres Betriebssystems läuft.

Hardware-Emulator

Ein spezielles Beispiel für Emulatoren ist dabei der Hardware-Emulator bochs. bochs ist ein Programm, das beispielsweise einen PowerPC-Prozessor unter einem normalen x86-Linux nachbilden kann. Innerhalb dieser Hardware-Emulationen können nun wieder ganze Betriebssysteme installiert (und gegebenenfalls auch betrieben) werden. In der Praxis wird der bochs-Emulator vor allem zur Entwicklung und dem Test diverser Betriebssystem-Portierungen auf andere Hardware benutzt.

Die meisten Emultoren beschränken sich jedoch typischerweise darauf, Anwendungen auszuführen, die eigentlich für andere Betriebssysteme programmiert wurden. Der Einsatz eines solchen Emulators würde den Betrieb einer virtuellen Maschine mit einem separaten Betriebssystem ersetzen – ein wichtiger Aspekt, wenn Ressourcen knapp sind und nur einzelne Fremdanwendungen betrieben werden sollen.


Zum besseren Verständnis des Unterschieds zwischen Hypervisor und Emulatoren wollen wir Ihnen noch ein konkretes Beispiel geben: Sie haben auf Ihrem Computer Linux installiert, möchten aber unbedingt dieses tolle Windows-Spiel spielen. Für diesen Fall benötigen Sie entweder eine virtuelle Maschine, innerhalb derer Sie nun Windows und darin das jeweilige Spiel installieren können, oder Sie verwenden einen Emulator, der alle benötigten Schnittstellen nachbildet und direkt Windows-Programme ausführen kann – und installieren das Spiel innerhalb dieses Emulators.


In den folgenden Abschnitten werden wir auf konkrete Virtualisierungstechnolo- gien und Emulatoren eingehen – und das auch, aber nicht nur, um Windows-Spiele unter Linux nutzen zu können.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Linux, Ausgabe 2011






Linux, Ausgabe 2011
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux-Server






 Linux-Server


Zum Katalog: Linux Hochverfügbarkeit






 Linux Hoch-
 verfügbarkeit


Zum Katalog: LPIC-1






 LPIC-1


Zum Katalog: Debian GNU/Linux






 Debian GNU/Linux


Zum Katalog: openSUSE 11.2






 openSUSE 11.2


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2011
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de