38 - 5.1.7 Rechnerorganisation: Anhang zu Virtualisierung [ID:15389]
50 von 235 angezeigt

Aus den vorangegangenen Abschnitten haben wir mitgenommen, dass die Abbildung einer virtuellen

Maschine auf eine andere virtuelle Maschine oder eine höhere Ebene auf eine tiefer liegende Ebene

immer bedeutete, dass wir eine Abbildung von einer Sprache in eine andere Sprache vorgenommen haben.

Konkret hat sich der Befehlssatz dieser Maschinen, die hier in der Hierarchie zueinander stehen,

dann eben geändert im Zuge dieser Abbildungsvorgänge.

Wir haben auf der obersten Ebene etwa eine C-Maschine gehabt.

Und diese C-Maschine, die in der Lage wäre, virtuell C-Programme auszuführen,

wurde abgebildet auf eine nächst tiefer liegende Maschine, die Assembler-Maschine.

Und C wie auch Assembler sind komplett unterschiedliche Sprachen.

Wir können eben auch sagen, dass die Maschinen dieser Sprachebenen

komplett unterschiedliche Befehlssätze jeweils anbieten.

Nun hier wollen wir uns mal mit einer etwas anderen Situation beschäftigen und der Frage nachgehen,

wie man ein Rechner selbst virtualisieren kann.

Das heißt, dass bei der Abbildung von der einen zu der anderen Ebene, von der eine Maschine zu der anderen Maschine

kein Befehlssatzwechsel praktisch durchgeführt wird.

Dass der Befehlssatz einer virtuellen Maschine dem Befehlssatz der realen Maschine entspricht,

die virtualisiert werden soll.

Und dafür wollen wir mal ein paar architektonische Prinzipien betrachten.

Nun es geht hier im Wesentlichen um die Schichten 2 und 3 in dieser gesamten Hierarchie, die wir vorne betrachtet haben.

Wir wissen, dass diese Ebenen eben als reale oder virtuelle Maschinen implementiert sind.

Und normalerweise finden wir hier Interpreter wieder, die denn Programme für diese Maschine in der Lage sind auszuführen.

Nun real bedeutet hier, dass wir auf der Ebene 2 beschränkt sind.

Das heißt, wir schauen uns wirklich die physische CPU an, also konkret einen x86 Prozessor.

Wohingegen wir virtuell meinen, dass es hier um ein spezifisches Programm geht, das im Software letztendlich vorliegt.

Und entweder im Falle der Ebene 3 eine sogenannte partielle Virtualisierung, nämlich durch das Betriebssystem, vornimmt.

Oder wenn wir wiederum die Ebene 2 betrachten, also eigentlich die reale Maschine,

wir von einem Virtualisierungssystem sprechen, das total oder eben auch partiell funktionieren kann.

In beiden Fällen ist möglicherweise eine Binärübersetzung anzufinden.

Das ist eine Technik, wo man etwa den Befehlssatz eines bestimmten Prozessors durch einen speziellen Übersetzer

einfach auf einen Befehlssatz, das der realen Maschine konkret abbildet.

Rosetta ist so ein Beispiel, das hat Apple einige Zeit lang verwendet in ihrem Rechensystem,

als sie nämlich den Wechsel von einem Power PC als reale Maschine hin zu einem Intel Prozessor durchgeführt haben.

Aber dieser Aspekt der Binärübersetzung spielt hier in weiteren Betrachtungen keine Rolle.

Nun, das Virtualisierungssystem im Form eines besonderen Interpreters

wird jetzt in der Lage sein, entweder alle nur oder nur ein Teil der Befehle der Programme einer virtuellen Maschine auszuführen.

Auch hier gibt es eine entsprechende Differenzierung.

Total bedeutet, dass wir dann von einem Emulator sprechen, der in der Lage ist,

praktisch die eigene oder möglicherweise auch eine fremde reale Maschine wirklich komplett nachzubilden

und Programme, die in den Befehlssatz einer solchen Maschine denn formuliert sind,

denn in der Lage ist auszuführen, damit eine virtuelle reale Maschine zur Verfügung gestellt.

Konkret ist der sogenannte CSM-Ansatz, also ein Complete Software Interpreter Maschinenansatz.

Typisches Beispiel einer solchen totalen Herangehensweise.

Viel mehr verbreitet heute ist denn der partielle Ansatz.

Und hier finden wir einen sogenannten Virtual Machine Monitor, den VMM, in unterschiedlichen Typen.

Den werden wir gleich noch ein bisschen weiter betrachten,

der dann eben für eine partielle Interpretation von den Befehlen in dieser virtuellen Maschine sorgt.

Und das, die Befehle, die dieser VMM denn interpretiert, sind die sogenannten sensitiven Befehle.

Hier muss ein Mechanismus denn existieren, der es dem VMM ermöglicht, solche sensitive Befehle,

so sie denn durch einen realen Prozessor zur Ausführung gebracht werden sollen, abzufangen

und dann in Software zu emulieren.

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

00:30:59 Min

Aufnahmedatum

2020-05-09

Hochgeladen am

2020-05-10 00:56:09

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen