Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Assembler, kleines Verständisproblem

  Alt 18. Apr 2004, 22:40
Moin d3g,

Zitat von d3g:
könnte man dann auf eigene logische Adressräume für einzelne Register verzichten, oder sehe ich das falsch?
könnte man.

In Windows laufen ja mehrere Prozesse "gleichzeitig".
Damit die beim Laden aufgelösten Adressen nicht immer neu berechnet werden müssen, wenn auf einen anderen Thread umgeschaltet wird, macht es Sinn einen definierten Nullpunkt zu haben, relativ zu dem dann adressiert werden kann.

Beispiel:
Ein Prozess wird ausgelagert, da er lange nicht benögtigt wurde.
Jetzt ist der phyiskalische Speicher in dem dieser Prozess lag aber von einem anderen belegt worden.
Um jetzt den ausgelagerten Prozess an eine andere physikalische Adresse zu legen müsste man, ohne Segmentregister, erst einmal alle beim Laden aufgelösten Adressen anpassen. Dies lässt sich umgehen, indem einfach die Segementregister für den Prozess auf einen neuen Wert gesetzt werden.
Schon passen die vorberechneten Werte wieder, da sie relativ zum jeweiligen Segmentregister zugreifen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat