Hva er en gratis liste?

En gratis liste er en datastruktur som inneholder adressene til datamaskinminnene som er tilgjengelige for bruk av et løpsprogram når du bruker dynamisk minnetildeling. Listen blir nødvendig når et program må tildele plass fra et område med gratis minne som kalles haugen. Implementeringen av en gratis liste for en enkel kobling eller en enkel liste.

Når et program krever plass for å lagre informasjon under utførelsen av programmet, må det be om en spesifikk mengde minne fra det underliggende operativsystemPlasseringen returneres, det elementet på listen fjernes.

Etter at et program er ferdig med minnet, kan det fordele det. Dette innebærer å sende pekeren til minneblokken tilbake til gratislisten, der den vil bli tilgjengelig neste gang en tildeling er forsøkt. Det er mulig for minnefordelingen til å misl

Den enkleste formen for minnestyring kalles det første passformsystemet. Dette systemet opprettholder en enkelt liste over gratis minneplasser. Når en forespørsel om minne sendes, er listen krysset og den første blokken som er stor nok blir returnert. Hvis blokken er mer enn det dobbelte av den forespurte størrelsen, er den halvert, og den ubrukte halvparten tilsettes tilbake til listen.Ving fragmenterte minneområder som kanskje aldri blir returnert til listen.

En annen form for minnestyring kalles kompisfordelingssystemet. I motsetning til det første passformsystemet, holder Buddy Allocation flere gratis lister, hver og en holder åpne blokker av bare en bestemt størrelse. Dette betyr at når en tildelingsforespørsel blir mottatt, er listen som holder blokkering som er bare en stor å fylle forespørselen, og en åpen beliggenhet blir returnert. Hvis ingen gratis blokkerer, er det mindre til å fylle den store. Krav.

Begrepet "gratis liste" kan referere til enten en enkelt koblet liste over minneadresser, eller det kan referere til en mye mer kompleks type datastruktur. Ulike typer slags trær, hvis de holdes enkle og balanserte, kan bidra til å øke hastigheten på å finne åpne minneblokker på bekostning av å komplisere kildekoden. En koblet liste kan være treg enn en spesifikasjonalized sort tree, men oppretter programmeringskode som er langt lettere å lese, feilsøke og endre.

Noen programmeringsspråk og operativsystemer benytter seg av en spesiell mekanisme som kalles søppelinnsamling. Dette er en prosess som kan bidra til å ta de forskjellige oppføringene på en gratis liste og konsolidere de frie rommene slik at de er sammenhengende. Dette har effekten av å forhindre fragmentering og tillate større hukommelsesblokker.

ANDRE SPRÅK