Wat is een gratis lijst?

Een gratis lijst is een gegevensstructuur die de adressen van computergeheugenlocaties bevat die beschikbaar zijn voor gebruik door een hardloopprogramma bij het gebruik van dynamische geheugentoewijzing. De lijst wordt noodzakelijk wanneer een programma ruimte moet toewijzen uit een gebied met een vrij geheugen genaamd HEAP.

Wanneer een programma ruimte vereist om informatie op te slaan tijdens de uitvoering van het programma, moet het een specifiek geheugen van het onderliggende besturingssysteem aanvragen. De locaties van geheugenblokken die kunnen worden gebruikt, worden opgeslagen in de gratis lijst. Voor de toewijzing moet de toewijzing succesvol zijn, moet de hoeveelheid gevraagde geheugen beschikbaar zijn in een of meer van deze blokken.Locatie wordt geretourneerd, dat element van de lijst is verwijderd.

Nadat een programma is gedaan met behulp van het geheugen, kan het het toewijzen. Dit houdt in dat de aanwijzer aan het geheugenblok wordt doorgegeven aan het geheugenblok in de vrije lijst, waar het beschikbaar komt de volgende keer dat een toewijzing wordt geprobeerd.

De eenvoudigste vorm van geheugenbeheer wordt het eerste fit -systeem genoemd. Dit systeem houdt een enkele lijst bij van vrije geheugenlocaties. Wanneer een verzoek om geheugen wordt verzonden, wordt de lijst doorkruist en wordt het eerste blok dat groot genoeg is geretourneerd. Als het blok meer dan twee keer de gevraagde grootte is, wordt het gehalveerd en wordt de ongebruikte helft toegevoegd aan de lijst.Ving gefragmenteerde geheugengebieden die misschien nooit naar de lijst worden geretourneerd.

Een andere vorm van geheugenbeheer wordt het buddy -toewijzingssysteem genoemd. In tegenstelling tot het eerste fit -systeem, houdt Buddy -toewijzing verschillende gratis lijsten bij, waarbij elk open blokken van slechts één bepaalde grootte worden gehouden. Dit betekent dat wanneer een toewijzingsverzoek wordt ontvangen, de lijst die blokken bevat die gewoon zijn gespeeld om het verzoek in te vullen, wordt geraadpleegd, en een open locatie wordt geretourneerd. Vereisten.

De term "vrije lijst" kan verwijzen naar een enkele gekoppelde lijst met geheugenadressen, of kan verwijzen naar een veel complexer type gegevensstructuur. Verschillende soorten soorten bomen, indien eenvoudig en evenwichtig gehouden, kan helpen de snelheid van het vinden van open geheugenblokken te vergroten ten koste van het compliceren van de broncode. Een gekoppelde lijst kan langzamer zijn dan een speciAlized sorteerboom maar maakt programmeercode die veel gemakkelijker te lezen, foutopsporing en wijzigen is.

Sommige programmeertalen en besturingssystemen maken gebruik van een speciaal mechanisme genaamd Garbage Collection. Dit is een proces dat kan helpen de verschillende inzendingen op een vrije lijst te nemen en de vrije ruimtes te consolideren zodat ze aaneengesloten zijn. Dit heeft het effect van het voorkomen van fragmentatie en het toestaan ​​van grotere blokken van geheugen toegewezen.

ANDERE TALEN