WIN105 PA 2a

Algorithmus, Baumdurchlauf, Compiler, Interpreter...; Cobol, Pascal, C/C++, Java & Co.
Antworten
chrystal
Mitglied
Mitglied
Beiträge: 40
Registriert: 31.07.05 20:32
Wohnort: MTK

a) Berechnet bei einem modernen Betriebssystem mit virtuellem Speicher der Compiler, der Linker oder der Lader die reale (physische) Adressen eines Programms?

Ich würde Compiler und Linker ausschließen.
Kann mir jemand die Funktion eines Laders erklären?

Danke und Grüße
Chrystal
Martin0815
Forums-Scout
Forums-Scout
Beiträge: 374
Registriert: 23.09.04 15:43
Kontaktdaten:

Naja, die Programme befinden sich i.d.R. auf irgendeinem Massenspeicher (z.B. Festplatte). Dort liegen sie in binärer Form vor. Zu diesem Zeitpunkt ist es völlig ungewiss wann und wo sie mal im Hauptspeicher (RAM) liegen werden falls sie gestartet werden.

Das Lader kopiert dieses Programm bei Bedarf nun in den Arbeitsspeicher und sorgt dafür, dass es an eine passende Stelle geladen wird. Im Programm selbst werden die logischen Adressen (für Sprungbefehle) nun in physikalische umgesetzt.

Kleines vereinfachtes Beispiel:

Code: Alles auswählen

1. Befehl
2. Befehl
3. Befehl
=> Sprungbefehl an den ANFANG
Sollte der Betriebssystem-Lader das Programm nun an die Speicheradressen 1000-1003 laden, dann steht ab 1000 dann beispielsweise:

Code: Alles auswählen

1000 Mache irgendwas
1001 Mache irgendwas
1002 Mache irgendwas
1003 SPRINGE #1000
Gleichzeitig verwaltet der Lader noch den zugewiesenen Speicher und legt entsprechende Referenzen ab, damit der Dispatcher/Scheduler (der Betriebssystemteil, der bestimmt welches Programm gerade ausgeführt werden soll) weiß wo er die Programme vorfindet, die zur Ausführung bereit sind.
chrystal
Mitglied
Mitglied
Beiträge: 40
Registriert: 31.07.05 20:32
Wohnort: MTK

Danke erstmal für die Erklärung.

Aber bezieht sich das nicht nur auf den "verschiebenden Lader"?

Und die Adresse wird demnach also nicht vom Lader berechnet???
Dann wäre bei dieser Frage ja keine Möglichkeit korrekt... :roll:

Hoffe, ich befinde mich nicht total auf dem Holzweg durch den Win-Wald?!

Grüße
Chrystal
Benutzeravatar
ReneK
Forums-Profi
Forums-Profi
Beiträge: 169
Registriert: 23.06.05 11:14
Wohnort: jwd

Richtig, in diesem Fall ist keine der vergegebenen Lösungen richtig.


Gruß
René
Antworten