72 - 6.3.2 Adressbindung: Einführung [ID:18545]
50 von 186 angezeigt

Zunächst die Einführung in den Stoff, ein kurzer Ausblick in die Semiotik und dann letztendlich

der Brückenschlag hin zur Informatik. Nun, Adressbindung ist ganz allgemein ein Vorgang,

der nämlich eine bestimmte Adresse eines bestimmten Adressraums X hier genannt an die

Adresse eines Adressraums Y bindet. Da kann die Adresse X eben ein Reale oder eine physische

Adresse sein und die Adresse Y ist dann zum Beispiel eine logische, virtuelle oder gar

eine symbolische Adresse. Und dann sehen wir eben, dass diese Abbildung immer von dem einen

Adressraum zu einem anderen Adressraum geht. Die Adressräume selbst bilden letztendlich

Bezugssysteme für diese Adressen, auch für die entsprechende technische Repräsentation

dieser Adressen, ob es Namen sind, Symbole sind oder ob es wirklich numerisch repräsentiert

sind. Das werden wir im Detail im weiteren Verlauf schon noch sehen. Diese Bindung, um

die es hier geht, geschieht zu verschiedenen Zeitpunkten. Aber da gibt es immer in all

diesen Fällen ein Ziel, ein gemeinsames Ziel, nämlich absolute Adressen von den benannten

Objekten zu generieren. Eine absolute Adresse ist eine, mit der man direkt auf ein entsprechendes

Objekt im Speicher zum Beispiel zugreifen kann. Die muss also nicht noch irgendwie berechnet

werden letztendlich. Es ist auch keine relative Adresse. Es ist eine konkrete, wirkliche Adresse

auf ein bestimmtes Objekt in einem bestimmten Adressraum. Zur Übersetzungszeit haben wir

hier zum Beispiel den Compiler. Der geht hin dem Programm Quelltext. In dem Programm Quelltext

sind symbolische Adressen enthalten. Das sind die variablen Namen, die Prozedurnamen, Funktionsnamen,

die wir haben. Die müssen gebunden werden an Adressen. Das nennt man Compiled Time Binding

letztendlich. Auf der Ebene 5 finden diese Vorgänge statt. Auf der Ebene 3 hätten wir

Bindungsvorgänge, die zur Ladezeit letztendlich stattfinden. Hier sind die Maschinenprogramme

so ausgelegt, dass sie für gewöhnlich relative und noch verschiebbare Adressen enthalten.

Und dann kommt der Lader daher und verlagert praktisch diese Programme, verändert damit

diese verschiebbaren Adressen. Entsprechend, das ist schon eine Funktion des Betriebssystems für

die Maschinenprogramme. Load Time Binding ist der englischsprachige Begriff dafür. Und dann

haben wir halt eben auch noch eine Bindung, eine Adressbindung, die zur Ausführungszeit

gilt. Hier enthalten die Programme ebenfalls, also das Maschinenprogramm, ebenfalls relativ

verschiebbaren Adressen. Und dann haben wir hier aber sogenannte Adressumsetzungseinheiten,

die praktisch für diese Bindung hin zu den absoluten Adressen, denn letztendlich so eine

Umsetzungseinheit kann ganz abstrakt und allgemein Interpreter sein. Aber so wie wir das hier konkret

betrachten werden, ist das zum Beispiel ein Betriebssystem schon als ein besonderer Interpreter

und insbesondere die MMU, die Memory Management Unit, die zur Laufzeit während der Ausführung

eines Maschinenprogramms einfach diese Bindung denn vollzieht. Es geht hierbei um die Namensauflösung

von einem Subul hin zu einer Adresse. Das ist so der Schwerpunkt von der Vorlesung von heute und

damit geht es eben um die Zeitpunkten Übersetzungszeit und Ausführungszeit, wo denn praktisch dieser

Adresse Bindung vollzogen werden muss. Das sind die beiden Schwerpunkte, die wir haben, wo wir

recht viel Zeit für die Ausführungszeit verwenden und hier unterschiedliche Speichersysteme,

Adressräume, wenn man so will, betrachten und wir am Ende denn noch mal die Aspekte der

Übersetzungszeit aufgreifen wollen. Nun hinter all diesen Adressen, wie ich eingangs schon nannte,

steht der Begriff des Namens. Wenn wir in den Duden schauen, dann meinen wir damit irgendeine

Kennzeichnung, Benennung eines Einzelwins, Ortes oder Dings. Das passt dann schon für unsere

Belange, Ort, Speicherort, Ding, eine Variable, eine bestimmte Datenstruktur, eine Prozedur in

diesen Speichern. Die müssen benannt werden, die bekommen also einen Namen. Der Name sollte eindeutig

sein, sodass er denn unter diese Dinge und diese Orte, die man damit bezeichnet, eben unterschieden

werden können. Allgemein sagen wir, hier wird eine Entität innerhalb eines Rechensystems bezeichnet

und man macht es deshalb, damit dann diese Entität eben auch nach außen zugänglich sein kann. Also

etwa Stellen, die wir im Hauptspeicher, im Arbeitsspeicher oder im Ablagesspeicher halt haben,

auf diese Stellen möchte man zugreifen können, nämlich um Informationen speichern zu können und

um die gespeicherte Information abrufen zu können. Das machen wir lieber mit Namen, mit abstrakteren

Dingen, als mit konkreten Dingen, wie eine Adresse, die dann numerisch ausgelegt ist. Das sind

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

00:19:06 Min

Aufnahmedatum

2020-06-24

Hochgeladen am

2020-06-24 16:56:32

Sprache

de-DE

Tags

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