Hvad er en gratis liste?
En gratis liste er en datastruktur, der indeholder adresserne på computerhukommelsespladser, der er tilgængelige til brug af et kørende program, når du bruger dynamisk hukommelsesallokering. Listen bliver nødvendig, når et program skal tildele plads fra et område med gratis hukommelse kaldet Heap. Implementeringen af en gratis liste kan være en simpel linkeliste eller kan være en mere kompleks datastruktur, såsom et sorteringstræ. De fleste high-niveau computer-programmeringsprogrammer, der automatisk håndterer det gratis, fjernes, fjerner det behov. MPlaceringen returneres, dette element på listen fjernes.
Når et program er udført ved hjælp af hukommelsen, kan det af-allokere det. Dette involverer at videregive markøren til hukommelsesblokken tilbage på den gratis liste, hvor det vil blive tilgængeligt, næste gang en tildeling er forsøgt. Det er muligt for hukommelsesallokering at mislykkes, fordi listen er tom eller fordi der ikke er tilgængelige hukommelsesblokke, der er store nok til at opfylde programmet er anmodning. /p>
Den enkleste form for hukommelsesstyring kaldes det første fit -system. Dette system opretholder en enkelt liste over gratis hukommelsessteder. Når en anmodning om hukommelse sendes, krydses listen, og den første blok, der er stor nok, returneres. Hvis blokken er mere end dobbelt så storVing fragmenterede hukommelsesområder, der måske aldrig returneres til listen.
En anden form for hukommelsesstyring kaldes Buddy Allocation System. I modsætning Krav.
MAlized Sort Tree men opretter programmeringskode, der er langt lettere at læse, debug og ændre.Nogle programmeringssprog og operativsystemer bruger en speciel mekanisme kaldet affaldsindsamling. Dette er en proces, der kan hjælpe med at tage de forskellige poster på en gratis liste og konsolidere de frie rum, så de er sammenhængende. Dette har effekten af at forhindre fragmentering og give mulighed for større hukommelsesblokke.