I sammenheng med et filsystem er fragmentering en ineffektiv bruk av lagringsplass for å lagre innholdet i en enkelt fil i forskjellige steder på en disk i stedet for i en sammenhengende rekkefølge av biter på ett sted. Fragmentering er et naturlig fenomen som forekommer fysisk på en harddisk eller noen ganger på en minnemodul når dataene ikke er skrevet nær nok på stasjonen.
Dataene er noen ganger skrevet ute av drift, noe som betyr at dataene ikke er plassert ved siden av hverandre på stasjonen på grunn av hyppig bruk av filer. Disse dataene refereres til som fragmenter. På et tidspunkt vil operativsystemet trenge tilgang til filsystemet for å finne hvor de forskjellige fragmentene er plassert på stasjonen.
For eksempel, når du oppretter et nytt dokument, la oss si en ordfil; filen ser ut til å være på ett sted. Du kan åpne filen, redigere den eller slette den - uansett hva du vil. Alle aktivitetene ser ut til å foregå fysisk på stasjonen, i hvert fall det er det du tror.
Harddisken kan lagre biter av filer i ett område av enheten, men resten av det eksisterer bokstavelig talt et annet sted på lagerenheten. Enkelt sagt refererer fragmentering til bortkastet lagringsplass i filsystemet slik at gapet kan utvikles mellom de forskjellige delene av en fil.
Fragmentering oppstår i utgangspunktet i det dynamiske minnetildelingssystemet fordi det reserverte for mye plass til filen som resulterer i åpne områder rundt den.
Det er på en eller annen måte knyttet til fast størrelse partisjonering. Systemet allokerer minne til ulike programmer og prosesser ved å dele dem inn i små blokker som kreves av programmet. Men mer minne er tildelt noen ganger enn det som trengs av prosessen, noe som til slutt resulterer i at overskytende minne går til avfall eller blir ubrukt.
For eksempel kan minne bare tildeles programmer i blokkene som er delbare med 4, 8 eller 16. Når en prosess krever 24 byte, blir det vanligvis en blokk på 32 byte, det overskytende 8 byte blir ubrukt. Ubrukt minne ligger dermed innenfor en bestemt allokert plassering, og den er så liten at en ny prosess ikke kan allokeres til den, noe som resulterer i avfall. Dette avfallet kalles intern fragmentering. Sannsynligvis er den eneste måten å fjerne denne typen fragmentering ved dynamisk minneallokering.
Hovedminne danner hull mellom deler av tildelt minne som er for små til å holde noen prosess. Det er ulempen med lagringsallokeringsalgoritmer, når sammenhengende blokker av ubrukt mellomrom ikke kan betjene en ny forespørsel fordi mellomrommene er for små til store behov for minneapplikasjon. Enkelt sagt lager de ikke-sammenhengende blokkene hull i minnet, noe som resulterer i ubenyttet lagring som ligger utenfor de tildelte områdene, noe som betyr at den ikke kan brukes sammen med hovedminnet for større minneoppgaver. De ender opp med å bli isolert og kan ikke elimineres helt fra minneplassen. Dette kalles ekstern fragmentering. Det kan fjernes ved komprimering som blander innholdet i minnet for å plassere alt ledig minne sammen.
Intern fragmentering:
Intern fragmentering refererer til ekstra mellomrom som går bort når mer minne blir allokert til en prosess enn nødvendig. Det oppstår vanligvis når faste størrelsesminneblokker blir allokert til programmene eller prosessene.
Ekstern fragmentering:
Ekstern fragmentering, derimot, refererer til de ubrukte mellomromene som dannes mellom de tilstøtende minneblokkene som ikke er tilstøtende til hverandre.
Intern fragmentering:
Det ledige rommet som dannes innenfor den tildelte minneblokken når minnet som er tilordnet prosessen, er større enn minnet som forespurt av prosessen, kalles intern fragmentering. Den "interne" refererer til de ubrukt byte som ligger i de større minneblokkene.
Ekstern fragmentering:
Når hovedminnet danner hull som er for små til å tilfredsstille enhver forespørsel, kalles det ekstern fragmentering.
Intern fragmentering:
Hovedårsaken til at intern fragmentering oppstår, er når minnet er delt inn i fast størrelse blokker .
Ekstern fragmentering:
Ekstern fragmentering er et fenomen som oppstår når minnet er delt inn i variabel størrelse blokker basert på størrelsen på forskjellige prosesser.
Intern fragmentering:
Intern fragmentering er et naturlig fenomen som kan elimineres ved dynamisk minneallokering som er å dynamisk allokere deler av minneblokker til prosesser på deres forespørsel og frigjøre det når de ikke lenger er nødvendige under utførelsen av et program.
Ekstern fragmentering:
Ekstern fragmentering, derimot, kan elimineres ved komprimering, personsøking og segmentering slik at minne kan allokeres til en prosess på en ikke-sammenhengende måte.
Både intern og ekstern fragmentering er naturfenomen relatert til ubrukt minne eller minne som er bortkastet. Intern fragmentering lider av ineffektiv minneallokering som oppstår når minnet tilordnet en prosess er mer enn det som er etterspurt, og etterlater ubrukt mellomrom i minneblokken til slutt forårsaker intern fragmentering. Etter at prosessen er fjernet fra det fysiske minnet, blir ledig plass distribuert her og der, og ingen tilstøtende blokker med minne kan bli funnet, noe som forårsaker ekstern fragmentering. Imidlertid kan begge fenomenene unngås. Intern fragmentering kan reduseres ved å tildele minne til prosesser dynamisk, mens ekstern fragmentering best kan unngås ved komprimering, personsøking og segmentering.