|
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
NTFS
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 writeOverigens 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 StreamJe 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
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. |

