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
Presenters
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