===== Ausgangsproblem ===== In der Informatik stehen wir häufig vor der Situation, dass auf einem einzigen Rechner mehrere unterschiedliche Anforderungen erfüllt werden sollen: * verschiedene Betriebssysteme werden benötigt (z. B. Windows und Linux) * Programme sollen getestet werden, ohne das bestehende System zu gefährden * Serverdienste (z. B. Webserver, Datenbank) sollen gleichzeitig laufen * Systeme sollen sicher voneinander getrennt sein Ohne spezielle Techniken ist dies nur eingeschränkt möglich. ===== Klassische Lösungsansätze und ihre Grenzen ===== ==== Mehrere Rechner ==== Eine Möglichkeit wäre, für jede Aufgabe einen eigenen Computer zu verwenden. **Nachteile:** * hohe Kosten * hoher Platz- und Energiebedarf * ineffiziente Nutzung der Hardware ==== Dual-Boot-Systeme ==== Ein Rechner kann mit mehreren Betriebssystemen ausgestattet werden, zwischen denen beim Start gewählt wird. **Nachteile:** * immer nur ein Betriebssystem gleichzeitig nutzbar * Neustart notwendig * keine parallele Nutzung möglich ===== Motivation für Virtualisierung ===== Virtualisierung wurde entwickelt, um diese Probleme zu lösen. **Zentrale Idee:** > Ein physischer Rechner stellt seine Hardware mehreren voneinander getrennten, virtuellen Systemen gleichzeitig zur Verfügung. Dadurch wird es möglich: * mehrere Betriebssysteme parallel auf einem Rechner zu betreiben * Systeme sicher voneinander zu isolieren * Hardware effizienter auszunutzen * Software gefahrlos zu testen * Server flexibel bereitzustellen ===== Alltags- und Praxisbezug ===== Virtualisierung wird heute in vielen Bereichen eingesetzt: * Cloud-Dienste (z. B. Online-Speicher, Webanwendungen) * Rechenzentren * Softwareentwicklung und -tests * IT-Ausbildung und Unterricht > Ohne Virtualisierung wäre modernes Cloud Computing nicht möglich. > Wie kann ein einzelner physischer Computer mehrere voneinander unabhängige Computersysteme gleichzeitig ausführen?