Defragmentatie

Uit Wikipedia, de vrije encyclopedie
(Doorverwezen vanaf Defragmenteren)
Een schematische voorstelling van een bestandssysteem dat gedefragmenteerd wordt

Defragmentatie is het optimaliseren van de ordening van gegevens op een harde schijf van een computer. Bepaalde bestandssystemen, zoals FAT16, neigen ertoe de bestanden in steeds kleinere stukjes verspreid over de harde schijf op te slaan. Andere bestandssystemen hebben intelligentere algoritmen. Het MS-DOS-besturingssysteem, dat FAT16 gebruikt, kon pas vanaf versie 6.0 zelf defragmenteren. Voordien waren er al externe programma's, zoals PCtools waarmee MS-DOS-schijven gedefragmenteerd konden worden.

Oorzaak en gevolg[bewerken | brontekst bewerken]

Fragmentatie (versnippering) van computerbestanden op een harde schijf komt voor als er bij het schrijven van een bestand niet voldoende aaneengesloten vrije ruimte is om alle gegevens achter elkaar te kunnen opslaan. Het bestand wordt in dit geval opgedeeld en verspreid over lege plekken op de harde schijf opgeslagen. Dat leidt ertoe dat bij het lezen van het bestand de leeskop meermaals opnieuw moet worden gepositioneerd en pas gelezen kan worden als de betreffende sector zich onder de leeskop bevindt. Beide kost relatief veel tijd.

Voorbeeld[bewerken | brontekst bewerken]

Voorbeeld van defragmenteren (afbeelding 1)

In afbeelding 1 is te zien, dat in de bovenste regel de gegevens van verschillende computerbestanden door elkaar staan. Om het computerbestand met de blauwe cijfers te lezen, gaat de kop van de harde schijf eerst op zoek naar positie 3, waarna hij deze uitleest. Daarna gaat hij op zoek naar positie 5 en leest deze uit. Als laatste gaat hij naar positie 23 en leest deze uit. De kop moet dus meerdere posities opzoeken en uitlezen, om alle delen van het bestand uit te lezen.

Na defragmenteren staan de gegevens per computerbestand direct achter elkaar. Om nu het blauwe bestand uit te lezen, gaat de kop van de harde schijf direct naar positie 17 en leest het hele bestand aan een stuk uit. Dit scheelt dus een hoop zoekwerk en dus tijd.

Dit is vooral te merken bij databasebestanden. Om dit te voorkomen hebben de meeste databases een OPTIMIZE-commando. Deze doet hetzelfde als een normale defragmentatie, alleen voor het databasebestand zelf. Het is belangrijk dat databases niet fragmenteren, of dat de fragmentatie verminderd wordt omdat databases erg "performance sensitive" (prestatiegevoelig) zijn.

Oplossing voor fragmentatie[bewerken | brontekst bewerken]

Defragmenteren gaat met behulp van computerprogramma's (zie defragmentatiesoftware hieronder). Deze programma's zetten de enen en nullen van bestanden bij elkaar, zodat deze bestanden niet meer opgesplitst over de harde schijf verspreid staan. Zonder defragmentatie is het mogelijk dat een bestand van 700 MB verspreid staat over meer dan 30 plekken op de harde schijf, de schrijfarm van de harde schijf moet dan steeds heen en weer wat de snelheid niet ten goede komt. Defragmentatie helpt de harde schijf om de bestanden sneller te vinden omdat ze op 1 plek staan waardoor bestanden sneller uitgelezen kunnen worden. Hierdoor werkt de computer sneller, wat het uiteindelijke doel is van defragmenteren.

Defragmentatiesoftware[bewerken | brontekst bewerken]

Om te defragmenteren kan volgende software aangewend worden:

Controverse[bewerken | brontekst bewerken]

Het nut van het defragmenteren van schijven wordt door experts betwijfeld. Er zijn onderzoeken die uitwijzen dat defragmentatie geen of nauwelijks effect heeft op de systeemprestaties [1] Ook het feit dat men al meermaals betwist heeft of de 'load' die op de harde schijf actief is tijdens het defragmenteren, niet schadelijk is voor de werking.

Linux en Mac OS X[bewerken | brontekst bewerken]

Veel bestandssystemen gebruikt op Unix-achtige platformen (zoals Linux en Mac OS X) gaan intelligenter met de vrije ruimte op de schijf om, waardoor pas fragmentatie optreedt als de schijf bijna vol is.