Linker, Loader und ausführbare Formate
Welche Aussage zum positionsunabhängigen Code (PIC) ist richtig?
- AMaschinencode, der auf jeder CPU gleich funktioniert
- BMaschinencode, der sich während der Ausführung ständig an einen anderen Ort verschiebt
- CMaschinencode, der so gestaltet ist, dass er ohne Änderung des Codes korrekt funktioniert, an welcher Speicheradresse er auch geladen wird
Antwort und Erläuterung anzeigen
Antwort: C. Maschinencode, der so gestaltet ist, dass er ohne Änderung des Codes korrekt funktioniert, an welcher Speicheradresse er auch geladen wird
Shared Libraries können in jedem Prozess an unterschiedlichen Adressen geladen werden. Positionsunabhängiger Code referenziert Funktionen und Daten nicht über feste Adressen, sondern über den Abstand zum PC oder über eine Tabelle von Adressen (GOT). So muss auch bei geänderter Ladeadresse keine Codeseite überschrieben werden, und eine einzige Kopie im physischen Speicher kann von vielen Prozessen gemeinsam genutzt werden.