Was ist eine virtuelle Maschine – Typen und Vorteile
Das Konzept einer virtuellen Maschine wurde um 1960 eingeführt. Es ist die Weiterentwicklung der Time-Sharing-Technik. Bei der Time-Sharing-Methode hat jedes Programm vollen Zugriff auf alle Computerressourcen, jedoch wird jeweils nur ein Programm ausgeführt. Das System schaltet zwischen Programmen in Zeitscheiben um, während jedes Mal Programmzustände gespeichert und wiederhergestellt werden. Bei Verwendung des Time-Sharing-Verfahrens können mehrere Benutzer das Computersystem gleichzeitig verwenden. IBM-Forschungszentren haben die Time-Sharing-Methode als virtuelle Maschinen weiterentwickelt. CP-67 war die erste verfügbare Architektur für virtuelle Maschinen . Es wurden Systeme mit mehreren virtuellen Maschinen auf einem einzelnen Host und einer einzelnen virtuellen Maschine auf mehreren Hosts entwickelt.
Bevor eine neue Hardware-Technologie auf den Markt kommt, wird sie zuerst auf dem Emulator getestet, um zu erkennen, Wiederherstellen und Reparieren der Fehler in den erforderlichen Design- und Tack-Schritten. In ähnlicher Weise wird vor der Einführung einer neuen Software simuliert, um auf Fehler zu prüfen und diese zu debuggen. Um diese Aufgabe zu erfüllen, kann ein System als Ersatz für die Hauptumgebung dienen, um neue Technologien zu erstellen. Hier kommen virtuelle Maschinen ins Spiel. Es fungiert als Emulation des Computersystems und bietet die volle Funktionalität des physischen Systems.
Was ist eine virtuelle Maschine?
Mit der Einführung neuer Technologien und neuerer Forschungsmodelle werden zahlreiche Hard- und Softwareprodukte auf den Markt gebracht. Viele der Software sind plattformabhängig, daher ist es aufgrund der begrenzten Hardwareressourcen manchmal schwierig, sie zu debuggen oder zu überprüfen.
Eine VM (virtuelle Maschine) ist eine Emulation eines Computersystems, wobei diese Maschinen Computerarchitekturen verwenden, um die Funktionalität eines physischen Computers bereitzustellen. Das physische Gerät, auf dem virtuelle Maschinen arbeiten, wird als Host bezeichnet, während die virtuellen Maschinen als Gast bezeichnet werden. Ein einzelner Gastgeber kann mehrere Gästezahlen haben.
Typen virtueller Maschinen
Die virtuelle Maschine funktioniert wie ein Computer und wird vom Rest des Hostsystems in einer Sandbox ausgeführt. Die Software des Gastes kann keine Änderungen an der Software des Hostsystems vornehmen. Somit können die Virendateien mit einer virtuellen Maschine getestet werden, ohne das Hauptcomputersystem zu beeinträchtigen. Die Computersoftware, die die virtuelle Maschine erstellt und ausführt, wird als Hypervisor bezeichnet. Basierend auf ihren Funktionen gibt es zwei verschiedene Arten von virtuellen Maschinen – virtuelle Systemmaschinen und virtuelle Prozessmaschinen.
1). Virtuelle Systemmaschinen
Diese Arten von VMs bieten vollständige Virtualisierung. Diese fungieren als Ersatz für die reale Maschine und bieten Funktionalitäten zur Ausführung eines gesamten Betriebssystems. Hardwareressourcen werden gemeinsam genutzt und verwaltet und bilden mehrere Umgebungen auf dem Hostsystem. Diese Umgebungen sind voneinander isoliert, befinden sich jedoch auf demselben physischen Host. Somit bieten diese Time-Sharing zwischen mehreren Single-Tasking-Betriebssystemen.
Um die gemeinsame Speichernutzung zwischen verschiedenen virtuellen Maschinen auf einem Computerbetriebssystem zu ermöglichen, können Systeme zur Speicherüberbelegung angewendet werden. Speicherseiten mit identischem Inhalt können von mehreren virtuellen Maschinen gemeinsam genutzt werden, die sich auf demselben physischen Host befinden. Dies ist sehr nützlich für schreibgeschützte Seiten.
2). Virtuelle Maschinen (VM) verarbeiten
Diese VMs werden auch als virtuelle Anwendungsmaschinen oder verwaltete Laufzeitumgebungen bezeichnet. Dieser VM-Typ wird als normale Anwendung im Betriebssystem des Hosts ausgeführt und unterstützt einen einzelnen Prozess. Es wird mit dem Start des Prozesses erstellt und wird zerstört, wenn der Prozess endet. Es wird verwendet, um dem Prozess eine plattformunabhängige Programmierumgebung bereitzustellen, sodass er auf allen anderen Plattformen auf die gleiche Weise ausgeführt werden kann.
Diese werden mithilfe von Interpretern implementiert und bieten Abstraktionen auf hoher Ebene. Diese werden im Allgemeinen für die Java-Programmierung verwendet, die Java Virtual Machine zur Ausführung von Programmen verwendet. Es gibt einen Sonderfall einer Prozess-VM, die über den Kommunikationsmechanismus eines Computerclusters abstrahiert. Diese enthalten einen Prozess pro physischer Maschine im Cluster. Diese helfen dem Programmierer, sich auf den Algorithmus statt auf den Kommunikationsprozess zu konzentrieren, der von der Verbindung und der virtuellen Maschine im Betriebssystem bereitgestellt wird . Die auf diesen VMs ausgeführte Anwendung hat Zugriff auf alle Betriebssystemdienste. Beispiele für diese virtuellen Maschinen (VM) sind parallele virtuelle Maschinen, Message Passing Interface.
Architektur
Runtime-Software ist die Virtualisierungssoftware, die die Process VM implementiert. Es wird auf der API-Ebene der Computerarchitektur über der kombinierten Schicht von Betriebssystem und Hardware implementiert. Dies emuliert die Anweisungen auf Benutzerebene sowie Betriebssystem- oder Bibliotheksaufrufe. Für die virtuelle Systemmaschine wird die Virtualisierungssoftware Virtual Machine Monitor (VMM) genannt. Diese Software ist zwischen der Host-Hardwaremaschine und der Gastsoftware vorhanden. VMM emuliert die Hardware-ISA, sodass die Gastsoftware eine andere ISA ausführen kann.
Vorteile
Einige der Vorteile der virtuellen Maschinen sind wie folgt-
- Virtuelle Maschinen bieten Softwarekompatibilität zu der darauf ausgeführten Software. Somit läuft die gesamte Software, die für den virtualisierten Host geschrieben wurde, auch auf der virtuellen Maschine.
- Es bietet Isolierung zwischen verschiedenen Arten von Betriebssystemen und Prozessen. Daher kann das Prozessorbetriebssystem, das auf einer virtuellen Maschine läuft, die Prozesse der anderen virtuellen Maschinen und des Host-Systems nicht ändern.
- Diese bieten Kapselung und Software, die auf einer virtuellen Maschine vorhanden ist, kann modifiziert und gesteuert werden.
- Für den Host mit mehreren Betriebssystemen bieten diese verschiedene Funktionen wie kein duales Booten, Übertragung von Dateien zwischen virtuellen Maschinen, Fehler in einem Betriebssystem wirken sich nicht auf das andere auf dem Host vorhandene Betriebssystem aus, freash OS kann problemlos hinzugefügt werden.
- Diese bieten eine gute Softwareverwaltung wie diese können einen vollständigen Software-Stack des Host-Rechners ausführen, ältere Betriebssysteme ausführen usw.
- Hier ist es möglich, Hardware-Ressourcen mit unabhängigen Software-Stacks zu teilen und zum Lastenausgleich die virtuellen Maschinen auf die verschiedenen Computer zu übertragen.
Daher werden moderne Computersysteme komplexer, die verschiedene, eng zusammenwirkende Soft- und Hardwarekomponenten enthalten. Virtualisierung fungiert hier als Verbindungstechnologie. Virtuelle Maschinen machen inkompatible Subsysteme für die Zusammenarbeit. Es bietet auch eine flexiblere und effektivere Nutzung von Hardwareressourcen unter mehreren Betriebssystemen. Diese bieten Interoperabilität zwischen Hardware, Systemsoftware und Anwendungen. Was sind die Unterschiede zwischen der virtuellen Prozessmaschine und der virtuellen Systemmaschine?
Eingebettet
- Vor- und Nachteile einer Drehmaschine
- Welche Stoßmaschine? - Definition, Teile und Typen
- Was ist eine Hobelmaschine? - Definition, Teile und Typen
- Was ist eine Bohrmaschine? - Typen und Anwendung
- Was ist eine Schleifmaschine? - Definition und Typen
- Was ist eine Vorrichtungsbohrmaschine? - Typen und Funktionsweise
- Elektroerosionsmaschinen (EDM) Typen, Vor- und Nachteile
- Was ist CNC-Laserschneiden? Wie es funktioniert, Typen und Vorteile
- Was ist eine Bohr- und Fräsmaschine?
- Verschiedene Arten von Übertragungssystemen und ihre Vorteile