Når en datamaskin kopierer en fil i minnet , vil den bruke de første tilgjengelige adresser og pakke programmer ende-til - ende , holde dem sammenhengende for å få fart besøkstider . Når systemet sletter noen av disse filene, men det kan la uregelmessige hull, som datamaskinen vil deretter forsøke å fylle med neste kopiert programmet . I prosessen for å minneblokker som er for små bruke forbli tomt , unødig plass og reduserer det tilgjengelige minnet til systemet, en prosess som kalles fragmentering. Ekstern Fragmentering
En type fragmentering er ekstern fragmentering . Dette skjer når det første frie blokk med minne er tilstrekkelig for neste program å bruke . For eksempel si et system laster tre programmene i minnet , hver tar opp 50 megabyte, eller MB . Det andre programmet terminerer , slik at blokken med 50 MB ledig . Hvis det neste programmet å starte krever 100MB , ville det ikke være i stand til å bruke det 50MB blokk med ledig plass, og systemet vil tildele den neste gratis 100MB span . Dette gapet i det minnet som brukes ville forbli ubrukt inntil noen program krevde mindre enn 50 MB minne. Over tid kan disse små hullene legge opp, og et system kan kjøre lite minne til tross for de mange små områder med ledig minne.
Intern fragmentering
annen type fragmentering er intern fragmentering . Intern fragmentering stammer fra det faktum at mens minnet er denominert i byte , er den minste tilgjengelige enhet vanligvis større enn at på grunn av minne adressering regler . For eksempel , hvis systemet laster et program som krever 50MB og 19 byte minne , kan det ikke være i stand til å starte neste program på den 20. byte , i stedet starter den på den 24. eller 28. byte . Disse hullene resultere i små områder av ubrukelig minne , rett og slett fordi systemet ikke kan håndtere hver eneste byte av minne til rådighet. Mens minnet tapt for intern fragmentering er vanligvis mye mindre enn det som tapte mot ekstern fragmentering , kan disse små mengder fortsatt legge opp over tid .
Data Fragmentering
< p > Magnetiske lagringsmedier kan også lider fragmentering . Ekstern fragmentering er ikke et like stort problem , siden de fleste filsystemer kan håndtere usammenhengende fil , men sprer programmer ut over store deler av en disk kan signifikant øke besøkstider . Intern fragmentering oppstår også fordi den minste adresserbare enheten på en harddisk er klyngen , som ofte omfatter fire kilobyte - KB - av data . Hvis en fil strekker seg inn i en ny klynge , selv om det ikke tar opp hele fire KB, er resten av klyngen ikke brukbare for lagring.
Solutions
< p > den beste løsningen for å minne fragmentering er å restarte systemet. Siden disse ubrukelige fragmenter bygge opp over tid , jo lenger et system går , jo mindre tilgjengelig minne det kan ha for programmer. Omstart en datamaskin eller server tømmer minnet , frigjør det for bruk. For harddisk fragmentering , kjøre defragmenter programvare for å omstille og omorganisere filer , bedre besøkstider og ytelse .