Forskel mellem intern fragmentering og ekstern fragmentering

I forbindelse med et filsystem er fragmentering en ineffektiv brug af lagerplads til at gemme indholdet af en enkelt fil på forskellige placeringer på en disk i stedet for i en enkelt sammenhængende række af bits ét sted. Fragmentering er et naturligt fænomen, der forekommer fysisk på en harddisk eller undertiden på et hukommelsesmodul, når dataene ikke er skrevet nok på drevet.

Dataene skrives undertiden ude af rækkefølge, hvilket betyder, at dataene ikke er placeret ved siden af ​​hinanden på drevet på grund af den hyppige brug af filer. Disse stykker data benævnes fragmenter. På et tidspunkt skulle operativsystemet have adgang til filsystemet for at finde, hvor de forskellige fragmenter er placeret på drevet.

For eksempel, når du opretter et nyt dokument, lad os sige en ordfil; filen ser ud til at være et sted. Du kan åbne filen, redigere den eller slette den - hvad du vil. Alle aktiviteter ser ud til at ske fysisk på drevet, i det mindste er det, hvad du synes.

Harddisken gemmer muligvis bunker af filer i et område af enheden, men resten af ​​den findes bogstaveligt talt et andet sted på lagerenheden. Enkelt sagt henviser fragmentering til den spildte lagerplads i filsystemet, der giver mulighed for at udvikle mellemrum mellem de forskellige dele af en fil.

Fragmentering forekommer dybest set i det dynamiske hukommelsesallokeringssystem, fordi det reserverede for meget plads til filen, hvilket resulterer i åbne områder omkring den.

Hvad er intern fragmentering?

Det vedrører på en eller anden måde partitionering i fast størrelse. Systemet tildeler hukommelse til forskellige programmer og processer ved at dele dem op i små blokke efter behov af programmet. Imidlertid tildeles mere hukommelse nogle gange, end det er nødvendigt af processen, hvilket til sidst resulterer i, at overskydende hukommelse går til spilde eller efterlades ubrugt.

F.eks. Kan hukommelse kun allokeres til programmer i blokke, der kan deles med 4, 8 eller 16. Når en proces anmoder om 24 byte, får den normalt en blok på 32 byte, de overskydende 8 byte efterlades ubrugt. Således ligger ubrugt hukommelse inden for en bestemt allokeret placering, og den er så lille, at en ny proces ikke kan allokeres til den, hvilket resulterer i spild. Dette affald betegnes som intern fragmentering. Den eneste måde at fjerne denne type fragmentering er sandsynligvis ved dynamisk hukommelsesallokering.

Hvad er ekstern fragmentering?

Hovedhukommelsen danner huller mellem dele af tildelt hukommelse, der er for små til at kunne rumme enhver proces. Det er ulempen med lagerallokeringsalgoritmer, når sammenhængende blokke med ubrugte rum ikke kan tjene en ny anmodning, fordi mellemrumene er for små til store hukommelsesapplikationsbehov. Kort sagt skaber de ikke sammenhængende blokke huller i hukommelsen, hvilket resulterer i ubrugt lagerplads, der er uden for de tildelte områder, hvilket betyder, at det ikke kan bruges sammen med hovedhukommelsen til større hukommelsesopgaver. De ender med at blive isoleret og kan ikke fjernes fuldstændigt fra hukommelsesområdet. Dette kaldes ekstern fragmentering. Det kan fjernes ved komprimering, der blander hukommelsens indhold for at placere al fri hukommelse sammen.

Forskellen mellem intern og ekstern fragmentering

  1. Grundlæggende

Intern fragmentering:

Intern fragmentering refererer til ekstra mellemrum, der spilder, når mere hukommelse tildeles til en proces end nødvendigt. Det forekommer normalt, når hukommelsesblokke med fast størrelse allokeres til programmerne eller processerne.

Ekstern fragmentering:

Ekstern fragmentering henviser tværtimod til de uudnyttede rum, der dannes mellem de sammenhængende hukommelsesblokke, som ikke støder op til hinanden.

  1. Hændelse

Intern fragmentering:

Det frie rum, der dannes inden for den tildelte hukommelsesblok, når den hukommelse, der er tildelt til processen, er større end den hukommelse, der kræves af processen, kaldes intern fragmentering. Den "interne" henviser til de ubrugte bytes, der findes i de større hukommelsesblokke.

Ekstern fragmentering:

Når hovedhukommelsen danner huller, der er for små til at imødekomme enhver anmodning, kaldes det ekstern fragmentering.

  1. Grund

Intern fragmentering:

Hovedårsagen til, at intern fragmentering opstår, er, når hukommelsen opdeles i blokke i fast størrelse .

Ekstern fragmentering:

Ekstern fragmentering er et fænomen, der opstår, når hukommelsen er opdelt i blokke med variabel størrelse baseret på størrelsen på forskellige processer.

  1. Løsning

Intern fragmentering:

Intern fragmentering er et naturligt fænomen, der kan elimineres ved dynamisk hukommelsesallokering, som er at dynamisk allokere dele af hukommelsesblokke til processer på deres anmodning og frigøre det, når de ikke længere er nødvendige under eksekvering af et program.

Ekstern fragmentering:

Ekstern fragmentering kan på den anden side fjernes ved komprimering, personsøgning og segmentering, så hukommelsen kan allokeres til en proces på en ikke sammenhængende måde.

Intern vs. ekstern fragmentering: Sammenligningstabel

Resumé af intern og ekstern fragmentering

Både intern og ekstern fragmentering er naturlige fænomener relateret til ubrugt hukommelsesplads eller hukommelse, der spildes. Intern fragmentering lider af ineffektiv hukommelsesallokering, der opstår, når hukommelsen, der er tildelt til en proces, er mere end det, der anmodes om, hvilket efterlader ubrugt plads i hukommelsesblokken til sidst forårsager intern fragmentering. Efter at processen er fjernet fra den fysiske hukommelse, distribueres ledig plads her og der, og ingen tilstødende blokke af hukommelse kan findes, hvilket forårsager ekstern fragmentering. Imidlertid kan begge fænomener undgås. Intern fragmentering kan reduceres ved dynamisk at allokere hukommelse til processer, hvorimod ekstern fragmentering bedst kan undgås ved komprimering, paging og segmentering.