Linker, loader en uitvoerbare formaten
Wat is de juiste rol van de dynamische linker (zoals ld.so) die werkt bij het starten van een dynamisch gelinkt programma op Linux?
- ADe broncode compileren en machinecode maken
- BDe benodigde gedeelde bibliotheken zoeken en in het geheugen laden, symbolen koppelen en daarna het programma laten starten
- CNa afloop van het programma de vrije schijfruimte opruimen
Antwoord en toelichting tonen
Antwoord: B. De benodigde gedeelde bibliotheken zoeken en in het geheugen laden, symbolen koppelen en daarna het programma laten starten
In een dynamisch gelinkt uitvoerbaar bestand staat de locatie van de te gebruiken dynamische linker, en na het laden van het programma draagt het OS eerst de verwerking aan de dynamische linker over. Die zoekt en laadt de benodigde gedeelde bibliotheken, voert relocatie en symboolkoppeling uit en draagt daarna de besturing over aan de ingang van het programma. Het tijdens uitvoering extra laden van bibliotheken met dlopen wordt eveneens door de dynamische linker verzorgd.
Verder: nog 9 vragen over Linker, loader en uitvoerbare formaten