36 - 5.1.5 Rechnerorganisation: Entvirtualisierung und Ausnahmen [ID:15387]
50 von 293 angezeigt

Als nächstes nun die Entvirtualisierung, also die Auflösung der Abstraktionshierarchie,

die Abbildung von höheren Schichten auf tieferen Schichten oder die Abbildung von

Programmen auf anderen Programmen von Maschinenbefehlen der höheren Stufe auf

Maschinenbefehle einer tieferen Stufe. Nun wir haben gesehen, dass die Schichten

der Ebene 3 bis 5 als virtuelle Maschinen verstanden werden und diese

virtuellen Maschinen müssen dann letztendlich nachher auf eine reale

Maschine, die durch diese Ebene 0 bis 2 repräsentiert sind, abgebildet werden.

Und das ist das, was man mit der Endvirtualisierung meint, diese Form der

Abbildung. Diese virtuellen Maschinen werden aufgelöst und die werden

letztendlich zu einem Maschinenprogramm verschmolzen. Das Maschinenprogramm ist

ein ausführbares Programm, das durch einen Prozessor auf der Ebene 2

zur Ausführung kommen kann. Nun wie dieser Vorgang jetzt dieser

Endvirtualisierung jetzt wirklich geschieht, hängt sehr stark von der Art

der virtuellen Maschine ab. Da verweise ich hier unten in der Fußnote auf dieser

Referenz als ergänzendes Material zu dem Stoff, den wir hier behandeln werden.

Nun der eine Punkt, der eine wichtige Schritt bei dieser Abbildung ist

einerseits die Übersetzung. Hier spricht man davon, dass eben alle Befehle des

Programms, dass der Ebene i zugeordnet sind, in eine semantisch-equivalente

Folge von Befehlen einer anderen Ebene, nämlich Ebene j, umgewandelt wird.

Normalerweise würde man sagen, die Ebene j liegt unterhalb der Ebene i, aber wie

ich schon ein bisschen verdeutlicht habe, kann man natürlich auch eine Übersetzung

vornehmen, wo man sagt, wir haben ein C++ Programm, das wird nach C übersetzt.

Da würde man sagen, beide Sprachen, die hier eine Rolle spielen, sind der

problemorientierten Programmiersprachen-Ebene nach wie vor zugeordnet.

Das heißt, es ist Ebene 5. Wir wechseln die Ebene de facto nicht, wenn wir

zumindest noch auf dieser groben konzeptionellen Stufe letztendlich

bleiben. Sehr wohl ist es eine Auflösung einer Abstraktion durch

Generierung eines Programms, dass wir dann einer anderen Ebene letztendlich

zuhornen würden. Die andere Form der Auflösung ist die Interpretation. Da

gibt es zwei harten Genesweisen. Einmal die übliche totale Interpretation, wo

wirklich alle Befehle des Programms, dass eben einer bestimmten Ebene i zugeordnet

ist, einfach direkt ausgeführt werden. Die werden alle gedeutet und diese

Deutung führt dann dazu, dass die Ausführung dieses entsprechenden Befehls

besorgt wird und in dem der Interpreter das Befehl befürchtet, in diesem

Programm macht, wird dann dieses Programm durch den Interpreter letztendlich zur

Ausführung kommen können. Es gibt dann noch die partielle

Interpretation, die eine besondere Rolle spielt. Insbesondere wird sie uns eben im

Kontext von Betriebssystemen stark beschäftigen. Da geht es eben um die

Interpretation nur der Befehle eines Programms, das wirklich nur der Ebene i

zugeordnet ist. In diesem Programm könnten auch Befehle einer anderen, einer

noch tiefer liegenden Ebene enthalten sein, etwa Ebene j, die dann aber nicht

interpretiert werden. Partiell, also nur ein Teil von Maschinenbefehlen wird eben

durch diesen Interpreter direkt ausgeführt. Das Programm selbst, was hier

denn interpretiert wird oder dessen Maschinenbefehle interpretiert werden,

kann durchaus oberhalb dieser Ebene i denn letztendlich liegen. In beiden Fällen

ist es immer ein Interpreter, der total oder partiell arbeitet und der Interpreter

denn zum Beispiel als ein Programm technisch repräsentiert ist, wo dieses

Programm eben ablaufen muss, ausgeführt werden muss. Das ist ein Programm, das

läuft dann auf der Ebene j, wo man dann typischerweise sagt, dass diese Ebene j

unterhalb dieser Ebene liegt von dem Programm, dessen Befehle man

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

00:26:13 Min

Aufnahmedatum

2020-05-09

Hochgeladen am

2020-05-10 00:26:05

Sprache

de-DE

Tags

module programmstruktur Variablen Datentypen Preprozessor Gültigkeit
Einbetten
Wordpress FAU Plugin
iFrame
Teilen