När en dator kopierar en fil till minnet , kommer den att använda den första tillgängliga adresser och pack program end -to - end , hålla dem angränsar till snabba uppkopplingar gånger . När systemet raderar några av dessa filer , men det kan lämna oregelbundna hål , som datorn sedan kommer att försöka fylla med den kopierade nästa program . I processen , till block av minne som är för små att använda förbli tomma , slösa utrymme och minskar minne tillgängligt för systemet , en process som kallas fragmentering . Extern Fragmentering
En typ av fragmentering är extern fragmentering . Detta inträffar när den första fria block av minne är otillräckligt för nästa program att använda . Till exempel , säga ett system laddar tre program i minnet , vart tar upp 50 megabyte eller MB . Det andra programmet avslutas , lämna det blocket av 50MB gratis . Om nästa program att starta kräver 100MB , skulle det inte kunna använda det 50MB blocket ledigt utrymme , och systemet skulle tilldela den nästa lediga 100MB span . Denna lucka i det minne skulle förbli oanvända tills något program krävs minst 50 MB minne . Med tiden kan dessa små luckor lägga upp , och ett system kan köra lite på minne trots de många små områden av ledigt minne . Addera Inre Fragmentering
annan typ av fragmentering är intern splittring . Intern splittring härrör från det faktum att medan minnet är denominerade i byte , är den minsta tillgängliga enheten oftast större än att på grund minnesadressering regler . Till exempel, om systemet läser ett program som kräver 50MB och 19 byte minne , kanske det inte går att starta nästa program på den 20: e byte , istället börjar den på 24: e eller 28: e byte . Dessa brister leder till små områden av oanvändbara minne , helt enkelt därför att systemet inte kan hantera varenda byte av minne tillgängligt för det . Medan minnet förlorade mot intern splittring är oftast mycket mindre än den som förlorade mot extern fragmentering , kan dessa små mängder fortfarande lägga upp över tid .
Data Fragmentering
Magnetiska lagringsmedia kan också drabbas av fragmentering . Extern fragmentering är inte ett lika stort problem , eftersom de flesta filsystem kan hantera icke sammanhängande fil , men sprider program ut över stora delar av en skiva kan avsevärt öka tillgången gånger . Intern fragmentering uppstår också eftersom den minsta adresserbara enheten på en hårddisk är klustret , vilket ofta omfattar fyra kilobyte - KB - data . Om en fil sträcker sig in i ett nytt kluster , även om det inte tar upp hela fyra KB , är resten av klustret ej användas för förvaring .
Lösningar
den bästa lösningen på minnet fragmentering är att starta om systemet . Eftersom dessa oanvändbara fragment bygger upp över tid , ju längre ett system körs , desto mindre tillgängligt minne det kan ha för program . Starta en dator eller server tömmer minnet , frigör den för användning . För hårddisk fragmentering , kör Diskdefragmenteraren programvara för att omgruppera och omorganisera filer , förbättra åtkomsttid och prestanda .