AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wozu Relocation?

Ein Thema von Namenloser · begonnen am 16. Mär 2014 · letzter Beitrag vom 30. Mär 2014
 
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.687 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Wozu Relocation?

  Alt 16. Mär 2014, 14:48
Ich bereite mich gerade auf eine Betriebssysteme-Klausur vor, und da bin ich gerade am Punkt Relocation.

Also dabei werden ja wohl irgendwelche Adressen angepasst, wenn das Image (z.B. Exe, DLL) an eine bestimmte Stelle im Speicher geladen wird.

Ich frag mich nur: Wo braucht man das überhaupt? Ich habe mich ja mal ein bisschen mit der Generierung von Assembler-Code befasst, und alle JMPs, CALLs usw. beziehen sich in der Regel auf relative Offsets an und nicht auf absolute Adressen.
Das kann nicht sein, denn dazu muessten alle Prozessoren das auch koennen. Das ist aber definitiv nicht der Fall. Du hast Dir vermutlich nur halbwegs aktuelle Intel-kompatible Prozessoren angeschaut.

Ich weiß, dass es auch zwar entsprechende Codes für absolute Adressen gibt
Genau.

Wozu/Wann verwendet man absolute Adressen überhaupt jemals? Der einzige Grund, den ich mir vorstellen könnte, wäre eine minimale Performancesteigerung, da man z.B., wenn man Code aus einer DLL anspringen will, nicht erst einen Pointer dereferenzieren muss, um das Sprungziel zu ermitteln*. Aber das könnte man auch zur Not im Programm selbst regeln mit selbstmodifizierendem Code, Betriebssystemunterstützung bräuchte man eigentlich nicht.
Wie schon oben geschrieben: Nicht alle Prozessoren beherrschen relative Adressierung oder es ist ggf. ineffizienter als absolulte Adressierung. Selbst modifizierender Code wiederum ist ein Sicherheitsrisiko und wird deshalb von aktuellen Betriebssystemen teilweise blockiert.
Thomas Mueller
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz