Forskjellene mellom intern og ekstern fragmentering

Ekstern fragmentering

En type fragmentering er ekstern. Dette skjer når den første ledige blokkeringen av minne ikke er nok til at neste program kan brukes. La oss for eksempel si at et system laster inn tre programmer i minnet som hver har 50 megabyte eller MB. Det andre programmet slutter, og den blokken på 50 MB er gratis. Hvis neste program for å starte krever 100 MB, vil det ikke være i stand til å bruke den 50 MB blokken med ledig plass, og systemet tildeler det neste 100 MB frie intervallet. Det gapet i minnet som brukes, vil forbli ubrukt inntil noe program krever mindre enn 50 MB minne. Over tid kan disse små plassene legge seg opp, og et system kan kjøres med lite minne til tross for de mange små områdene med fritt minne.

Intern fragmentering

En annen type fragmentering er intern. Dette stammer fra det faktum at mens minnet er denominert i byte, er den minste tilgjengelige enheten generelt større enn den på grunn av regler for adresseringsminnet. Hvis systemet for eksempel laster inn et program som krever 50 MB og 19 byte minne, kan det hende at det ikke er i stand til å starte det neste programmet på det 20 byte, i stedet for å starte det på byte 24 eller 28. Disse hullene resulterer i små områder med ubrukelig minne, ganske enkelt fordi systemet ikke kan adressere hver byte minne tilgjengelig for det. Mens hukommelsestap fra intern fragmentering generelt er mye mindre enn tap fra ekstern fragmentering, kan disse små mengdene fremdeles legge opp over tid.

Datafragmentering

Magnetlagringsmedier kan også lide fragmentering. Eksternt er ikke et så stort problem, siden de fleste filsystemer kan håndtere ikke sammenhengende filer, men spredning av programmer over store områder på en disk kan øke tilgangstiden betydelig. Den interne skyldes også at den minste adresserbare enheten på en harddisk er klyngen, som ofte dekker fire kilobyte, KB, med data. Hvis en fil utvides i en ny klynge, selv om den ikke opptar alle fire KB, kan ikke resten av den brukes til lagring.

løsninger

Den beste løsningen for minnefragmentering er å starte systemet på nytt. Siden disse ubrukelige fragmentene akkumuleres over tid, jo lenger et system kjører, jo mindre tilgjengelig minne kan det ha for programmer. Når du starter en datamaskin eller server på nytt, renser du minnet og frigjør det for bruk. For harddiskfragmentering, kjør defragmenteringsprogramvare for å omstille og organisere filer, forbedre tilgangstider og ytelse.

Interessante Artikler