Root » Servers » » Harde schijf » » Onderverdeling » » Formateren
Formateren van de partitie
klaarmaken voor gebruik
Formateren
Eenmaal je harde schijf in partities onderverdeeld, moet je iedere partitie formateren. Het formateren houdt in dat de partitie klaar voor gebruik wordt gemaakt: de nodige strukturen worden geschreven. Van een partitie maak je een volume.

Bij de snelle formatering wordt er enkel een inhoudstabel (root directory) geschreven en een FAT (file allocation table). In deze situatie gaat de computer ervan uit dat de volledige partitie leesbaar is; er wordt niet gecontroleerd of iedere block leesbaar is.

Bij een langzame formatering wordt ook nagezien of iedere block effectief leesbaar is. Bij het installeren van een nieuwe schijf gebruik je dus best de langzame formatering: de meeste schijven vertonen geen fouten, maar er kan altijd iets mis gebeuren tijdens het transport. Het operating system zal niet merken of een block defekt is: automatisch zal de disk controller een spare sector gebruiken. De enige manier om na te zien of je harde schijf slechte sektoren heeft, is door middel van een monitoring-programma (smart-programma).

FAT

leeskop van een harde schijf
De effectieve leeskop is het linker gedeelte met de spoel en de ijzeren kern. De keramische houder vliegt over de schijf dankzij zijn speciale vorm.
Het FAT-systeem is een van de mogelijke formaten dat je kan gebruiken bij het formateren van je harde schijf (of beter gezegd: van de partitie). FAT is beschikbaar in 2 versies: FAT-16 en FAT-32. Dos en windows 95 konden enkel werken met FAT-16. Bij floppies wordt FAT-12 gebruikt. Het nummer geeft aan hoeveel bits er gebruikt worden voor de pointers. Met een kleinere waarde kunnen er minder pointers voorzien worden, en is de beschikbare adresseerbare ruimte dus beperkt.

Het FAT-systeem dankt zijn naam aan de File Allocation Table: dit is een tabel dat aangeeft welke sectoren reeds in gebruik zijn door een bepaald bestand. Bij ieder blok of sector op de harde schijf hoort één element uit de FAT. De eerste sector dat een bestand gebruikt (de eerste 512 bytes), wordt door het directory aangegeven. In de FAT zelf staat op deze positie het sectornummer van het tweede stuk bestand (de volgende 512 bytes).

De FAT is eigelijk een linked list van adressen van bestand-stukken. Zo kan de computer snel de opeenvolgende blokken die bij een bestand horen opsporen. De slechte sectoren worden ook in een linked list opgenomen zoals een gewoon bestand. Voor vrije sectoren wordt een speciale kode gebruikt.

FAT-16 kan maximaal 65535 sectoren bijhouden. Aangezien iedere sector 512 bytes bevat is de capaciteit van de partitie beperkt tot 32MB in deze eerste versie. Men is al snel overgestapt op een tweede versie van het FAT-16 waarbij opeenvolgende sectoren gegroupeerd worden: 2, 3, 4 of meer sectoren werden samengepakt en vormen aldus een cluster (dit werd reeds gedaan vanaf DOS3.0).


    De nadelen van FAT-16:
  • Slechts 65535 clusters beschikbaar. Bij grote harde schijven heb je snel plaatsverlies ("slack"). Ieder bestand gebruikt minstens een cluster, dat het bestand 10 bytes of 10000 bytes bevat. Een partitie van 2GB gebruikt clusters van 32kB. Sla je veel kleine bestanden op, dan kan je gemakkelijk meer dan 50% van je beschikbare ruimte verliezen.

  • Er wordt een tweede copie van de FAT-16 op de harde schijf opgeslagen (als back-up), maar de positie van beide FAT-bestanden ligt vast. Tegenwoordig speelt dit feit geen rol meer (harde schijven wijzen automatisch een spare block toe als er leesfouten optreden), maar het heeft wel invloed bij floppies. Een defekte sector op een kritieke plaats maakt de volledige schijf onbruikbaar. Floppies gebruiken het FAT-12 systeem in plaats van het FAT-16 omdat er minder blokken zijn. Een floppy heeft nooit meer dan 3000 blokken.

  • Een FAT-16 partitie kan nooit meer dan 65535 bestanden bevatten (aangezien er nooit meer dan 65535 clusters kunnen voorzien worden, en één cluster nodig is per bestand).
Men is al snel overgestapt op de FAT-32 dat de nadelen van FAT-16 niet heeft: de tabellen zijn groter gemaakt waardoor ze heelwat meer elementen kunnen bevatten. VFAT was een eerste stap in de goede richting, door bestandsnamen toe te laten die langer waren dan de oude "8.3" benaming en werd eerst toegepast door windows 95 (dat verder het FAT-16 bleef gebruiken).

Het FAT-systeem heeft als voordeel dat het zeer eenvoudig is. Om een bestand te lezen moet de computer enkel de bijhorende directory lezen. De directory bevat een pointer naar de eerste cluster waar het bestand begint. Aan de hand van de FAT kan het systeem de opeenvolgende clusters vinden. Door de eenvoud ervan (er zijn weinig disk-accessen nodig om een bestand in te lezen) werkt het FAT-systeem razend snel.

Een nadeel van het FAT-32 filesystem is dat de maximale filegrootte beperkt is tot 4GB. Dit kan een probleem worden bij grote bestanden (back ups, videofilms en dergelijke).

exFAT is een filesysteem die de voordelen van het FAT systeem koppelt aan de mogelijkheid om met grotere bestanden en grotere schijven te werken. Dit filesysteem is bijzonder geschikt voor geheugenkaarten omdat er minder schijfopdrachten nodig zijn bij het wegschrijven van een bestand.

NTFS

Externe media...
(USB sticks, geheugenkaarten en dergelijke)
...formateer je best niet onder NTFS.
  • Sommige drivers ondersteunen geen NTFS partities
  • Apparaten (fototoestellen, MP-3 players) werken niet met NTFS partities
  • Er zijn meer stappen nodig om een bestand te schrijven, waardoor de geheugenkaart sneller verslijt (aantal schrijfcycli is beperkt!)
  • Windows gebruikt intensief "delayed write", waardoor de kans op dataverlies groter is met removable media
  • Zelfs voor kleine partities (vb 1 GB) gebruikt NTFS 300MB voor de systeemfiles
Opgelet: sommige oudere apparaten ondersteunen OOK GEEN FAT-32!!!
Het beste is altijd de kaart in het toestel zelf te formateren voor het eerste gebruik.
Windows is met zijn "professionele systemen" (eerst windows NT en dan 2000 en XP) op de markt gekomen met een filesysteem dat afwijkt van de FAT-systeem. Het filesysteem wordt aangezien als een grote database, waarin alles opgeslagen wordt: zowel bestanden, directories, journalen en access lists (tabellen die aangeven wie een bestand mag lezen, mag schrijven, ...). Terwijl de specificaties van het FAT-systeem open source zijn, is NTFS een fabrieksgeheim. Bij iedere wijziging van het operating system worden er kleine wijzigingen aan NTFS aangebracht, zodat concurrerende software-leveranciers moeilijker drivers kunnen leveren om NTFS disks te lezen.

De organisatie van de database is een enorme b-tree (een gebalanceerde boom in mooi nederlands). Dit heeft als voordeel dat toegang tot een record altijd evenveel stappen zal nemen (altijd via eenzelfde aantal nodes). Als de complexiteit van het bestandssysteem toeneemt, zal het aantal stappen om een bestand te lezen slechts beperkt toenemen.

Delayed write

Het schrijven van een bestand neemt daartegenover wel heelwat stappen in beslag, vooral als bestaande files aangroeien en er nodes verplaatst moeten worden! Om dit te beperken wordt bij NTFS "delayed write" op grote schaal toegepast. Veranderingen aan de bestandstruktuur wordt niet direkt uitgevoerd, maar enkel in het journaal weggeschreven en later uitgevoerd (als de harde schijf minder werk heeft). Het opstarten van een computersysteem met NTFS geformateerde schijven duurt daarom langer dan eenzelfde systeem opstarten met FAT-schijven: het eerste wat windows doet, is alle journalen verwerken.

Overigens is die delayed write geen nieuwigheid in NTFS, het bestond reeds onder DOS 6.2 (smartdrv) en werd toen "write behind" genoemd, en je kon die uitschakelen met de /X flag (ah, leve de zalige tijd van de DOS prompt!)

ADS - Alternate Data Stream

Microsoft heeft in zijn NTFS zelfs een optie bijgevoegd waarop niemand zat te wachten (een optie dat niemand trouwens ook effektief gebruikt): de Alternate Data Stream (ADS). Je hebt de normale (anonieme) data in een bestand, maar je kan ook een tweede, een derde, een vierde... data-reeks in het bestand opnemen door die een naam te geven.

Je merkt pas dat een bestand een ADS heeft als je het bestand van een NTFS partitie naar een FAT partitie kopieert: windows vertelt u dan doodleuk dat de alternatieve data stromen verloren gaan (zie voorbeeld).

Het wordt bijna uitsluitend gebruikt bij mp3 om de cover van het album te tonen, maar het is ook heel doeltreffend om "trojans" en andere malware in normaal uitziende bestanden onder te brengen. Als deze malware uitgevoerd wordt verschijnt het niet in de lijst van programma's die uitgevoerd worden, en de afmetingen van het bestand veranderen niet door deze extra ballast. Als programmeur kan je ADS gebruiken om geheime gegevens op te slaan: zonder de naam van de stream te kennen kan je die niet lezen. Zelfs een directory kan een ADS hebben. Helaas kan ADS niet uitgeschakeld worden.

Wat de voor- en nadelen van beide formaten zijn lees je op de volgende bladzijde.

WinFS

leeskop van een harde schijf
De kophouder is op een arm gemonteerd zodat de verschillende sporen bereikt worden. De plateau waarop de magnetische informatie geschreven worden is bijzonder glad, daarom is het spiegelbeeld zo goed zichtbaar.
Het was de bedoeling dat Vista uitgerust zou worden met een nieuw filesysteem, namelijk WinFS. Helaas (of misschien gelukkig), is er niets van in huis terecht gekomen. De programmeurs waren niet op tijd klaar. WinFS zou een verdere evolutie van NTFS moeten zijn.

Bij NTFS worden enkel de algemene fileattributen in de database opgenomen (naam van de file, directory, creatiedatum, grootte, eigenaar en ACL (access control list), lokatie op de harde schijf), deze attributen zijn voor alle bestanden identiek.

Bij WinFS wordt de metadata uit de bestanden ook opgenomen in de database. De metadata is eigen aan iedere file: bij een JPEG (foto) is het de fototoestel-instellingen (sluitertijd, opening, type fototoestel), bij een mailbericht is het de afzender, de ontvanger, het onderwerp en de datum van verzending, bij een word-document kan het bijvoorbeeld de word-versienummer zijn (en of je met een geregistreerde versie van word werkt!).

De meta-data is dus verschillend per bestandsoort en het ophalen en verwerken vormt een extra belasting op het systeem. Bij het opslaan van een bestand moet er dus in de database niet enkel vermeld worden wanneer het bestand werd opgeslagen en waar, maar er moet ook binnenin het bestand gekeken worden om de meta-data op te halen. Ik heb begrepen dat het ophalen van de meta-data asynchroon zou gebeuren (dus nadien, als de computer wat tijd heeft), de werking zou vergelijkbaar zijn met de indexering-service dat ook asynchroon (en met een lage prioriteit) alle bestanden bekijkt en de keywords ervan in een database opslaat.

Dit is een poging om Windows verder te integreren met zijn eigen applikaties: als je Outlook gebruikt als mailprogramma, kan je profiteren van de voordelen van de database (sneller opzoeken van een mailbericht). Als je Thunderbird gebruikt ondervindt je enkel de nadelen van WinFS: het vertraagt je systeem nog meer dan NTFS.

Overigens is het zo dat door het indexing-service ongeveer 30% van de harde schijf van een NTFS-partitie gebruikt wordt voor housekeeping taken (system volume information). Hoeveel percent van de harde schijf zal er gebruikt worden door de WinFS database?

Oorspronkelijk (lees: eind jaren '90) was het de bedoeling dat Windows Future Storage een volledig zelfstandig bestandssysteem zou worden zoals NTFS. Nu ziet het er naar uit dat WinFS een extensie zal worden op het bestaande NTFS (je kan trouwens een betaversie downloaden). Het onderliggend systeem blijft NTFS, maar er komt een tweede indexing service erbij. Zo kan je (als programmeur) op een gestruktureerde manier toegang krijgen tot de metadata die in bestanden aanwezig is.

Links to relevant pages - Liens vers d'autres pages au contenu similaire - Links naar gelijkaardige pagina's