Linker, loader en uitvoerbare formaten

Bij herhaald malloc en free kan het voorkomen dat, ook al is het totaal aan vrij geheugen ruim voldoende, een groot gebied niet meer in één keer kan worden gereserveerd. Hoe heet dit verschijnsel?

  1. AGeheugenlek (memory leak)
  2. BFragmentatie
  3. CStack overflow
Antwoord en toelichting tonen

Antwoord: B. Fragmentatie

Bij herhaald reserveren en vrijgeven van gebieden van verschillende grootte raken kleine vrije stukken verspreid tussen gebruikte gebieden. Ook als het totaal aan vrije ruimte groot is, mislukt een grote reservering als er geen aaneengesloten groot vrij gebied is. Dit heet fragmentatie. Geheugenallocators beperken fragmentatie door per grootte te beheren en naburige vrije stukken samen te voegen. Bij embedded apparaten die lang blijven draaien, is hierop extra te letten.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Linker, loader en uitvoerbare formaten

  1. Welk voordeel is juist van het zetten van de symboolzichtbaarheid (visibility) op „hidden” voor interne functies, terwijl bij het maken van een gedeelde bibliotheek alleen de van buiten gebruikte functies worden gepubliceerd?
  2. Welk mechanisme waardoor in C++ de constructors van globale objecten vóór main worden uitgevoerd, is juist?
  3. Welke uitspraak over het objectbestand (.o) dat de compiler uit één bronbestand voortbrengt, is juist?
  4. Wat is de juiste hoofdtaak van de linker?
  5. Welke omschrijving van de symboolresolutie die de linker uitvoert, is juist?

Vergelijkingen bij dit onderwerp