Fragmentation

Fragmentering fragment, et stykke eller en del af noget, der er gået i stykker (brudstykke). I computer sammenhæng taler man om lagerplads, der ikke er effektivt udnyttet, hvorfor lagerkapaciteten bliver reduceret og ligeså computerens præstationer. Der er tre forskellige men relaterede former af fragmentering nemlig ekstern-, intern- og datafragmentering. Intern fragmentering forekommer, når man beder om lagerplads uden at bruge den. Dermed er denne plads spildt. Selv om det virker tåbeligt, accepteres det for det meste, da det medfører højere effektivitet og øget simplificering. Ordet intern refererer til, at det uudnyttede lager (område) ligger inde i den tildelte region, men bliver ikke brugt. F.eks. i de fleste filsystemer starter hver fil i begyndelsen af en blok, fordi det simplificerer organiseringen og gør det lettere at forlænge filerne. Al plads, der er mellem filens sidste byte og den første byte på den næste blok, er en form for intern fragmentering som kaldes file slack (slack=uudnyttet område) eller slack space. Til forskel fra andre former for fragmentering, er intern fragmentering meget svær at få tilbage. I almindelighed vil, den nemmeste måde til at fjerne fragmenteringen, være at ændre designet. Ekstern fragmentering er det fænomen, der over tid lader ledig lagerplads blive delt i mange små stykker, som ikke ligger ved siden af hinanden. Dette er en svaghed ved mange oplagringsalgoritmer. Det sker, når et program tildeler ikke tildeler (\"fryser\") lagerområder af forskellig størrelser, og derved efterlader tildelte og frigjorte områder urørte. Resultatet er, at til trods for ledig lagerkapacitet, kan det ikke bruges, da det er inddelt i små stykker, som er for små til at tilfredsstille det efterspurgte. Begrebet ekstern refererer således til den ubrugelige lagerkapacitet, fordi den ligger udenfor det tildelte område. F.eks. hvis man skal bruge 1000 bytes, og den største ledige blok kun er på 300 bytes, så går det ikke. Heller ikke, hvis man 10 ledige blokke med hver 300 bytes, kan det lade sig gøre at tildele en blok på 1000 bytes. Ekstern fragmentering kan give langsomme søgetider, fordi filer ikke lagres efter hinanden men spredt over hele disken. Nogle operativsystemer har indbygget defragmenteringprogrammer (se også defragmentation), ellers kan de købes eller downloades gratis, de kan hjælpe dig med at mindske fragmenteringen på disken. Datafragmentering forekommer, når noget data i hukommelsen deles op i mange små stykker, der ikke ligger ved siden af hinanden. Det er typisk resultatet, hvis man forsøger at lagre store objekter, der allerede lider af ekstern fragmentering. Datafragmentering kan fjernes ved at rokerer om på datalageret, så de relaterede stykker kommer til at ligge ved siden af hinanden.