Skillnad mellan intern fragmentering och extern fragmentering

Inom ramen för ett filsystem är fragmentering en ineffektiv användning av lagringsutrymme för att lagra innehållet i en enda fil i olika platser på en disk snarare än i en enda sammanhängande bitföljd på ett ställe. Fragmentering är ett naturligt fenomen som uppträder fysiskt på en hårddisk eller ibland på en minnesmodul när data inte skrivs tillräckligt nära på enheten.

Uppgifterna är ibland skrivna i ordning, vilket innebär att data bitarna inte placeras bredvid varandra på enheten på grund av den frekventa användningen av filer. Dessa bitar av data kallas fragment. Vid något tillfälle skulle operativsystemet behöva komma åt filsystemet för att hitta var de olika fragmenten finns på enheten.

Till exempel, när du skapar ett nytt dokument, låt oss säga en ordfil; filen verkar vara på ett ställe. Du kan öppna filen, redigera den eller ta bort den - vad du än vill. Alla aktiviteter verkar hända fysiskt på enheten, åtminstone det är vad du tycker.

Hårddisken kan vara att spara bitar av filer i ett område av enheten, men resten av det finns bokstavligen någon annanstans på lagringsenheten. Enkelt uttryckt hänvisar fragmentering till det bortkastade lagringsutrymmet i filsystemet vilket gör att gap kan utvecklas mellan de olika delarna av en fil.

Fragmentering uppträder i grunden i det dynamiska minnesallokeringssystemet eftersom det reserverade för mycket utrymme för filen vilket resulterade i öppna områden runt den.

Vad är intern fragmentering?

Det hänvisar på något sätt till partitionering med fast storlek. Systemet tilldelar minne till olika program och processer genom att dela dem i små block som krävs av programmet. Men mer minne tilldelas ibland än vad som behövs av processen, vilket resulterar så småningom i att överflödigt minne går till spill eller lämnas oanvänd.

Minnet kan till exempel bara tilldelas program i block som är delbara med 4, 8 eller 16. När en process begär 24 byte får den vanligtvis ett block med 32 byte, överskottet 8 byte lämnas oanvänd. Således är det oanvända minnet beläget inom en bestämd tilldelad plats och den är så liten att en ny process inte kan tilldelas den, vilket leder till avfall. Detta avfall betecknas som intern fragmentering. Förmodligen är det enda sättet att ta bort denna typ av fragmentering genom dynamisk minnesallokering.

Vad är extern fragmentering?

Huvudminnet bildar hål mellan delar av tilldelat minne som är för små för att hålla några processer. Det är nackdelen med lagringsallokeringsalgoritmer, när sammanhängande block av oanvända utrymmen inte kan betjäna en ny begäran eftersom utrymmena är för små för stora behov för minnesapplikation. Enkelt uttrycka skapar de icke-sammanhängande blocken hål i minnet vilket resulterar i oanvända lagringsutrymmen som ligger utanför de tilldelade regionerna, vilket betyder att det inte kan användas tillsammans med huvudminnet för större minnesuppgifter. De hamnar isolerade och kan inte helt elimineras från minnesutrymmet. Detta kallas extern fragmentering. Den kan avlägsnas genom komprimering som blandar innehållet i minnet för att placera allt ledigt minne tillsammans.

Skillnad mellan intern och extern fragmentering

  1. Grunderna

Intern fragmentering:

Intern fragmentering avser extra utrymmen som slösar bort när mer minne tilldelas en process än vad som behövs. Det uppstår oftast när minnesblock i fast storlek tilldelas programmen eller processerna.

Extern fragmentering:

Extern fragmentering, tvärtom, hänvisar till de oanvända utrymmena som bildas mellan de intilliggande minnesblocken som inte angränsar till varandra.

  1. Förekomst

Intern fragmentering:

Det fria utrymmet som bildas inom det tilldelade minnesblocket när minnet som tilldelats processen är större än det minne som begärs av processen kallas intern fragmentering. Den "interna" avser de oanvända bitarna som finns i de större minnesblocken.

Extern fragmentering:

När huvudminnet bildar hål som är för små för att tillfredsställa en begäran, kallas den extern fragmentering.

  1. Anledning

Intern fragmentering:

Huvudskälet till att intern fragmentering uppstår är när minnet är partitionerat i block med fast storlek .

Extern fragmentering:

Extern fragmentering är ett fenomen som uppstår när minnet är indelat i block med variabel storlek baserat på storleken på olika processer.

  1. Lösning

Intern fragmentering:

Intern fragmentering är ett naturligt fenomen som kan elimineras genom dynamisk minnesallokering som är att dynamiskt fördela delar av minnesblock till processer på deras förfrågan och frigöra det när de inte längre behövs under genomförandet av ett program.

Extern fragmentering:

Extern fragmentering kan å andra sidan elimineras genom komprimering, personsökning och segmentering så att minnet kan allokeras till en process på ett icke sammanhängande sätt.

Intern vs Extern fragmentering: Jämförelse Diagram

Sammanfattning av intern och extern fragmentering

Både intern och extern fragmentering är naturfenomen relaterade till oanvända minnesutrymmen eller minne som slösas bort. Intern fragmentering lider av ineffektiv minnesallokering som uppstår när minnet som allokeras till en process är mer än vad som begärts, vilket lämnar oanvända utrymmen i minnesblocket så småningom som orsakar intern fragmentering. Efter att processen har tagits bort från det fysiska minnet distribueras ledigt utrymme här och där och inga intilliggande minneblock kan hittas, vilket orsakar extern fragmentering. Båda fenomenen kan emellertid undvikas. Intern fragmentering kan minskas genom att tilldela minne till processer dynamiskt, medan extern fragmentering bäst kan undvikas genom komprimering, personsökning och segmentering.