Bestandssystemen en harddiskmanagement

 

 

Inleiding

Bestandssystemen en harddiskmanagementIn deze uitleg zal getracht worden zoals de titel al verraadt een uitleg geven over bestandssystemen en harddiskmanagement

(partitioneren, formatteren en defragmenteren). Iedereen weet wel iets over deze dingen, maar de details zijn lang

 niet bij iedereen bekend. De meesten weten bijvoorbeeld wel dat FAT32 beter is dan FAT16 en dat dit samenhangt

 met de clustergrootte, maar hoe zit het nou precies in elkaar?
Als je dus niet bij dat minigedeelte bezoekers hoort dat alles al weet, is dit artikel volgens mij zeker de moeite waard om te lezen.

Het zijn immers zaken waar de hele PC op gebaseerd is, en dus verplichte kost voor elke zichzelf respecterende computergebruiker.

Zelfs de superfreaks zullen er nog wel wat van opsteken denk ik.


Wat is een bestandssysteem

De oudste vergelijking om dit uit te leggen is nog steeds degene die het makkelijkste te begrijpen is. Hierbij wordt de harde schijf

vergeleken met een heel groot gebouw met duizenden vakjes (dit worden clusters genoemd). In de clusters kunnen bestanden of

bestandsgedeeltes worden opgeslagen.

Het bestandssysteem verdeelt de harde schijf in clusters en zorgt er ook voor dat bestanden weggeschreven en weer gelezen kunnen

worden. Het bestandssysteem is dus een zeer belangrijk onderdeel van een besturingssysteem. Aangezien het bekendste en ook

meest gebruikte systeem voor bestandsordening de FAT is, zal ik mijn verhaal daar voor het grootste gedeelte op baseren.

 

 

FAT16

 

Zoals gezegd is FAT (File Allocation Table) het meest gebruikte bestandssysteem, vooral door particulieren. Reden hiervoor is dat haast

iedereen Windows gebruikt (hoewel er steeds meer besturingssystemen in opkomst zijn). Het systeem is ontwikkeld in 1977,

toen alleen diskettes nog maar ondersteund werden. Sindsdien is de FAT steeds verder verbeterd.

Bij MS-DOS 2.0 werd voor het eerst een bestandssysteem geleverd, dat ook harde schijven aankon. Een hele doorbraak.

De naam van dit systeem was FAT16. Het getal 16 in de naam van FAT16 slaat op het aantal bits waarin een clusternummer kan worden

opgeslagen. Hieruit volgt dat er in totaal 2^16-2 = 65536 clusters (2 – 65535) op de schijf aanwezig kunnen zijn,

aangezien hogere clusternummers niet meer opgeslagen zouden kunnen worden.

Clustergroottes

Als er op elke harde schijf maar 65536 clusters aanwezig kunnen zijn, is het natuurlijk logisch dat de clusters bij een grote schijf

groter moeten zijn dan bij een kleine schijf, anders zou niet alle ruimte benut worden.

Het is makkelijk uit te rekenen hoe groot de clusters worden bij een bepaalde schijfgrootte:


FAT16Clustersize









Hierbij wordt de clustergrootte omhoog afgerond naar een macht van twee, dus 2, 4, 8, 16 of 32 (het maximum).

 De grootste schijf die ondersteund wordt is dus 65536 * 32 / 1024^2 = 2 GB.

Grotere clusters zorgen ervoor dat er veel ruimte verloren gaat. Dit wordt veroorzaakt door het feit dat twee bestanden niet

samen één cluster kunnen delen. Is een bestand bijvoorbeeld 3 Kilobyte en de clustergrootte 32 Kilobyte, dan gaat er dus 29 KB verloren.

Dit wordt in computertaal ‘slack’ genoemd. Zouden de clusters kleiner zijn, dan zou er minder ruimte verloren gaan.

Bij een clustergrootte van 4 KB zou er immers maar 1 KB slack ontstaan. Dit is dus 29 keer zo weinig!

Natuurlijk is dit een extreem voorbeeld, maar je begrijpt wel dat er bij grote clusters veel meer ruimte verloren gaat dan bij kleine.
Klein nadeeltje van kleine clusters is dat de performance van de schijf er iets van naar beneden gaat, maar de meeste gebruikers zullen hier weinig tot niets van merken. Zeker bij snellere schijven kan je dus in de meeste gevallen beter kleine clusters hebben.

Zie ook het stukje uitleg over partitioneren hoe je dit voor elkaar krijgt.

 

 

FAT32

 

Met de komst van Windows 95 OSR2 kwam de clustergrootte wat meer op de achtergrond. Dit besturingssysteem kon namelijk ook werken met de opvolger van FAT16: FAT32. Het principe van dit systeem is grotendeels gelijk aan dat van FAT16, maar toch zijn er een aantal verschillen. De belangrijkste twee:

FAT32

 

      FAT32 heeft meer bits beschikbaar om het clusternummer in op te slaan.

      Er zijn dus meer clusters beschikbaar, waardoor de clusters een stuk kleiner

      kunnen zijn dan bij FAT16.

 

Mede door de beschikbaarheid van meer clusters is het nu mogelijk veel grotere harde schijven te gebruiken dan FAT16.

Verder heeft FAT32 ook nog de mogelijkheid tot meer dan 512 root-entries door een verplaatsbare root-directory.

FAT16 kon dit nog niet. Ook is de tabel uitgebreid waardoor er nu een backup van bepaalde belangrijke onderdelen beschikbaar is.

FAT32 is dus behalve ruimtebesparend ook nog eens foutbestendiger dan z’n voorganger.


De nadelen

Zoals vaak hebben dingen naast voordelen ook nadelen. Dit geldt ook voor FAT32. Het is bijvoorbeeld niet meer mogelijk om een schijf met het

FAT32-bestandssysteem aan te spreken vanuit besturingssystemen die dit nog niet ondersteunen (DOS, Windows 3.x, Windows 95 orig, Windows NT).

Verder is het ook niet meer mogelijk om de FAT32-HD te comprimeren met DriveSpace / DoubleSpace. Een programma dat je hier wel voor zou kunnen gebruiken is FreeSpace van Mijenix. Dit programma kan zelfs bestanden of directories apart comprimeren.

 

 

Andere bestandssystemen

 

Naast FAT komen NTFS en Ext2 ook redelijk vaak voor. Een korte beschrijving:

NTFS

Na FAT is NTFS (New Technology File System) waarschijnlijk het meest gebruikte bestandssysteem. Het hoort bij Windows NT,

en wordt vooral door bedrijven gebruikt. Met de komst van het wat gebruiksvriendelijkere Windows 2000 wordt NTFS nu ook wat meer

door particulieren gebruikt. Het systeem neemt meer ruimte in dat FAT, aangezien het meerdere kopieën van de MFT

(Master File Table) bijhoudt om de kans op verlies van gegevens tot een minimum te beperken. Andere eigenschappen zijn Hot Fixing

(automatisch slechte sectoren detecteren en markeren) en een goede performance bij grote harde schijven. Als laatste heeft NTFS

ook nog eens goede security-opties. Zo kunnen bepaalde bestanden of directories versleuteld worden zodat mensen waar de data niet

voor bedoeld is er ook niet bij kunnen.

Ext2

Ook Ext2 wordt steeds meer gebruikt, omdat het bij Linux hoort. Steeds meer bedrijven en particulieren stappen over op dit stabiele systeem.

 De manier van filemanaging is afgeleid van UNIX, en daardoor even betrouwbaar en snel. Harde schijven tot 2 TB worden ondersteund.

 

Bestandssystemen

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Partitioneren

 

Partitioneren is iets dat bij elke harde schijf moet gebeuren. Hierbij wordt de schijf ingedeeld in één of meerdere delen (partities).

In geval van meerdere partities wordt de opslagruimte die fysiek op maar één schijf staat opgesplitst in verschillende virtuele schijven,

die allemaal een andere driveletter krijgen toegewezen (bij DOS/Windows).

 Voor degene die niet beter weet lijkt het dus dat er meer dan één harde schijf in de computer aanwezig is. Maar waarom zou je dat doen?


Redenen voor partitioneren

Voor degenen die gebruik maken van FAT16 en een schijf hebben die groter is dan 2 GB is partitioneren verplicht als alle ruimte gebruikt wil

worden (en het lijkt me logisch dat dat het geval is). Het 16-bits bestandssysteem kan namelijk zoals al eerder vermeld geen schijven aan

boven de 2 GB, maar door meerdere partities te maken kan dit probleem omzeild worden.

Ook het bestandssysteem ziet een partitie namelijk als een aparte schijf, zodat je een schijf die groter is dat 2 GB gewoon kan opsplitsen

en dan toch alle ruimte benutten. Door FAT32 is deze reden verdwenen, aangezien dit nieuwere filesystem partities tot 2 TB aankan.

Dit lijkt wel voldoende voor de komende jaartjes.

Ook de tweede reden heeft met het bestandssysteem te maken.

Zoals ook in deze uitleg is uitgelegd groeit de clustergrootte bij een grotere partitie.

Vooral bij FAT16 is hierdoor een hoop ruimte te besparen door te partitioneren:

 

 

Slack



 

 

 

 

Door te partitioneren is in het bovenstaande voorbeeld gratis 100 MB verkregen. En dan is de hoeveelheid

slack in het voorbeeld zelfs nog maar een grove schatting van mij. Afhankelijk van het schijfgebruik kan dit

verschil zelfs oplopen tot 500 MB (zeer veel kleine bestanden) of juist tot bijna 0 MB (erg grote bestanden).
Ook deze reden is door FAT32 bijna verdrukt, aangezien bij partities tot 8 GB de clustergrootte constant is.

Bij schijven boven de 8 GB (die steeds meer mensen tegenwoordig hebben) is het toch nog wel aan te raden om te

 partitioneren om de grootte van de clusters op 4 KB te houden in plaats van 8 KB.

Nadeel is natuurlijk dan weer wel dat je HD zoals gezegd heel iets langzamer wordt van kleine clusters.

De laatste reden is niet zozeer een technische, maar meer een praktische reden, namelijk overzichtelijkheid.

Dit is voor veel mensen belangrijk, omdat het erg onhandig is als je je bestanden niet meer terug kan vinden.

Bij een HD met maar één partitie is deze onoverzichtelijkheid snel een feit aangezien de hele bestandsstructuur

op één root-directory gebaseerd is, die van de C-partitie.

Het is dus aan te raden om een overzichtelijke schijfindeling te maken. Een aantal voorbeelden:

 

 

Partities

 

 

 

 

 

 

 

 

 

 

 



 

Er zijn dus meerdere redenen om de HD in meer dan één partitie op te delen.

Welke verdeling hierbij voor jou het beste is kan je nu vast wel zelf beslissen.


Hoe te partitioneren?

Als je HD nog leeg is moet je je harde schijf partitioneren, zelfs als je niet meerdere partities wilt gaan gebruiken.

In dat geval maak je via het programma FDISK alleen een primaire partitie aan.

Wil je meerdere partities, maak dan eerst een primaire partitie die kleiner is dan de HD,

dan een uitgebreide (extended) partitie met de resterende ruimte als grootte. Vervolgens moet je in de uitgebreide partitie

nog één of meer logische partities zetten. Als je dus bijvoorbeeld 3 partities wil hebben, maak je een primaire

partitie en een uitgebreide partitie met hierin 2 logische partities.

Als je HD al vol is zal FDISK alle gegevens vernietigen bij een herpartitionering. De makkelijkste manier om toch te

partitioneren zonder gegevensverlies is via het programma Partition Magic van Powerquest.

Deze utility is echter niet gratis, maar wel erg handig. Alternatief is het freeware progje Presizer,

wat alleen een stuk minder praktisch werkt.

 

 

Formatteren

 

Het woord “formatteren” wordt gebruikt voor twee totaal verschillende processen, namelijk low-level formatting en high-level formatting.

Met die eerst vorm van formatteren heeft de consument niets te maken, dit gebeurt al in de fabriek. Hierbij wordt ervoor gezorgd dat

het magnetisme van de harde schijf op orde komt. Als de HD net gemaakt is, bestaat ie namelijk uit een enorm aantal magnetische velden,

veroorzaakt door de ijzeroxide-laag die op de schijf zit. Bij de low-level format worden de magnetische velden goed gezet en wordt er op de

schijf een indeling gemaakt.

Hierbij wordt de schijf in tracks (‘rondlopende paden’), sectoren (512 bytes) en cilinders (een aantal tracks samen) onderverdeeld.
In sommige BIOS’en zit een format-optie, die deze low-level format probeert uit te voeren. Het is zeer af te raden om deze mogelijkheid

te gebruiken als je een redelijk moderne schijf hebt (EIDE).

De low-level format van het BIOS is namelijk bedoeld voor erg oude schijven (MFM en RLL) en zal hierdoor je mooie nieuwe schijf

zonder pardon vernietigen en er dus prullenbakvulling van maken! Niet doen dus.

High-level formatting is iets heel anders, waar we meer mee te maken hebben. Hierbij wordt alle eventueel aanwezige informatie op de

HD gewist en wordt er een bestandssysteem aangemaakt. Dit moet altijd gebeuren nadat een harde schijf gepartitioneerd is om ‘m bruikbaar te maken.
Het formatteren van een schijf (HD of diskette) gaat bij een

Windows-systeem zoals iedereen wel zal weten via het Microsoft-programmaatje format.com. De belangrijkste switches:

       /C Slechte clusters worden opnieuw getest.

       /S Maakt een schijf/partitie bootable.

       /Q Optie die ervoor kan zorgen dat de setup van Windows toch verder gaat als dit eerst niet het geval was.

             Alleen gebruiken als laatste oplossing.

       /Z:n Hiermee geef je zelf de clustergrootte op (n KB). Het kan handig zijn om de clusters groter te maken dan noodzakelijk.

              Nadeel is de toenemende slack, maar de prestaties wat betreft snelheid zijn iets verbeteren.

 

 

Defragmenteren

 

Defragmenteren is een belangrijk proces om de performance van je HD goed te houden.

Het hangt erg samen met de manier waarop het bestandssysteem de bestanden op de schijf plaatst.

 Stel dat je alleen bestanden zou toevoegen, dan zou er niets aan de hand zijn. Maar bestanden wordt ook weer verwijderd

(zelfs zonder dat je het door hebt in de vorm van tijdelijke bestanden van het besturingssysteem of een applicatie).

Dit zorgt ervoor dat er gaten ontstaan, die de fragmentatie veroorzaken. Wordt namelijk weer een bestand toegevoegd,

dan kijkt het filesystem naar de eerste vrije cluster en zet daar het eerste gedeelte van het bestand in.

Dan wordt het volgende gedeelte weer in de eerstvolgende lege cluster geplaatst, ook al is deze niet aansluitend op de vorige.

Zo kunnen delen van een groot bestand in het ergste geval over de hele schijf verspreid staan. Dit noemt men fragmentatie.

 

 

Defragmenteren

 

 

 

 

 

 

 

 

 

 

 

In het bovenstaande voorbeeld zie je versimpeld hoe er eerst drie bestanden zijn, er dan eentje wordt verwijderd en er in

derde instantie fragmentatie ontstaat. Het zwarte bestand zit voor ongeveer de helft in het gat waar eerst het blauwe bestand zat.

De fragmentatie zorgt ervoor dat de leeskop van de HD steeds weer moet zoeken waar het volgende gedeelte van het bestand is,

wat natuurlijk een slechtere performance oplevert. Uiteraard is er een oplossing die de fragmentatie achteraf kan laten verdwijnen,

namelijk defragmenteren. Het defragmentatieprogramma (bijv. Microsoft Defragmentatie, Norton SpeedDisk of Executive’s Diskeeper)

schuift de bestanden net zolang heen en weer totdat alle bestandsfragmenten weer netjes naast elkaar staan.

Eventueel is het ook nog mogelijk om de meest gebruikte bestanden vooraan de schijf te plaatsen voor een nog snellere schijf.


Tips en opmerkingen

Gebruik de PC nooit onder het defragmenteren, dan begint het proces steeds weer opnieuw.

Schakel de virusscanner en de screensaver om dezelfde reden uit.

Haal een dik boek bij de bibliotheek of ga op de fiets heen en terug naar Rusland onder het defragmenteren.

Het kan namelijk nog wel eens lang duren.

Defragmenteer regelmatig om de HD in goede conditie te houden (en jezelf ook, als je voor het fietsen kiest).