Positionsunabhängiger Code (mit gcc Option -fpic generierbar) ermöglicht das Zuordnen von Code an Speicheradressen zur Execution Time und damit die größte Flexibilität: Prozesse können im Speicher verschoben werden, einzelne Bestandteile (Unterprogramme) nach Bedarfs hinzuladen und diese untereinander teilen.
Diese Flexibilität hat (gegenüber Compile & Ladezeitoptimierung) Performance-Nachteile und erfordert Hardware-Unterstützung (mehrere Base- und Limit Register).
In positionsunabhängigem Code sind logische und physische Adressen grundsätzlich verschieden.
Siehe auch