Linker, loader en uitvoerbare formaten
Wat is het juiste verschil tussen „sectie” en „segment” in een ELF-bestand?
- ASectie is de term voor Windows en segment die voor Linux, met dezelfde inhoud
- BEen sectie is de fijne eenheid die de linker behandelt, en een segment is de eenheid die de loader in het geheugen laadt en waarin secties met dezelfde rechten zijn samengevoegd
- CEen segment bestaat alleen op schijf en wordt niet in het geheugen geladen
Antwoord en toelichting tonen
Antwoord: B. Een sectie is de fijne eenheid die de linker behandelt, en een segment is de eenheid die de loader in het geheugen laadt en waarin secties met dezelfde rechten zijn samengevoegd
ELF kent twee gezichtspunten. De linker voert samenvoegen en relocatie uit in eenheden van fijne secties zoals .text, .rodata, .data en .bss. De loader koppelt aan het geheugen in eenheden van de segmenten uit de programmaheaders, bijvoorbeeld .text en .rodata in een segment voor lezen en uitvoeren, en .data en .bss in een segment voor lezen en schrijven. Door per recht samen te voegen, is bescherming per pagina gemakkelijk in te stellen.
Verder: nog 9 vragen over Linker, loader en uitvoerbare formaten