Directory File
Bestandsorganisatie van een filesysteem (een volume)
|
---|
Om een document (foto, briek, programma,...) terug te vinden wordt de partitie hierarchisch onderverdeeld. Een juistere naam voor partitie is volume (als we het over de inhoud hebben), maar de benaming partitie is zodanig ingeburgerd dat we die hier ook zullen gebruiken. Op de indexpagina wordt het verschil uitgelegd. Een partitie heeft een root directory die links kan bevatten naar bestanden of andere directories. Deze verschillende directories maken het mogelijk de bestanden te ordenen: alle foto's bij elkaar, alle muziek bij elkaar, alle programma's bij elkaar.
- Voor de modale gebruiker is de onderverdeling zeer nuttig ("mijn documenten", "mijn foto's", "mijn downloads"), maar de effektieve lokatie is minder van belang (waar zit het bestand in de disk organisatie? Weinig mensen kunnen dat vertellen!)
- Programma's gebruiken echter de effektieve lokatie (de pad naar het bestand, vanaf de root directory tot het bestand).
Men is overgestapt van een fysische lokatie (c:\brieven\sollicitaties) naar een logische (documenten » brieven » sollicitaties). Waar die sollicitaties eigenlijk terecht komen is van ondergeschikt belang (tot de computer crasht en de bestanden manueel opgevist moeten worden...)
Om naar de foto “Spanje-1” te gaan moet de weg gevolgd worden documenten/fotos/2011. Deze weg wordt pad of path genoemd. In de subdirectory 2011 staat er een link naar het bestand. Hoe diep er in de directorystruktuur gezocht moet worden, hoe trager de toegang tot het bestand in kwestie. Voor een bestand dat een paar niveaus diep staat is het tijdsverlies niet noemenswaardig, en vaak kleiner dan een directory met duizenden namen te moeten doorlopen.
Bij de eerste operating system MS-DOS was er één enkele directory met een vaste lengte. Het aantal files was dus beperkt en subdirectories waren niet mogelijk (flat file system). Op een floppy konden niet zo veel bestanden opgeslagen worden, waardoor er geen noodzaak was om subdirectories aan te maken.
Dan is men overgestapt op een systeem met subdirectories (FAT-12 en FAT-16), maar de lengte van de root directory was nog steeds vast.
Pas met FAT-32 is de lengte van de root directory niet meer beperkt.
Inhoud van een directory
Spanje-1 is read-only en
Mislukt is een subdirectory
|
---|
Directory
Een directory wordt beschouwd als een gewoon bestand, zoals een programma, een rekenblad of een mp-3. Het enig verschil is dat het links bevat naar andere bestanden (of directories) in plaats van echte, bruikbare gegevens.
Een directory is onderverdeeld in regels, met op iedere regel:
- de naam van het bestand. Aan de bestandsnaam worden er ook beperkingen opgelegd, deze zijn verschillend naargelang het gebruikte formaat.
- de aanmaakdatum en eventueel datum van wijziging (vaak met het tijdstip tot op de milliseconde nauwkeurig)
- de lengte van de gegevens (voor een directory is dat vaak een veelvoud van een blok)
- een link naar waar dat het bestand effektief te vinden is op de harde schijf (niet aanwezig in het voorbeeld)
- een aantal flags
Slechts een aantal flags wordt vermeld:
- read-only (het bestand kan enkel gelezen worden)
- hidden (het bestand verschijnt niet in een listing)
- directory (het bestand is een directory, geen data-bestand)
- back-up (deze flag wordt gebruikt door back-up programma's)
Bij zijn aanmaak bevat een directory altijd een verwijzing naar zichzelf (de dot ·). Vaak wordt er een tweede verwijzing naar de parent opgenomen (··) maar dit is niet verplicht.
Directories kunnen groter worden, maar niet kleiner. Gewiste bestanden worden aangegeven door een speciale kode. In theorie kan het bestand dus nog altijd opgehaald worden als de gegevens niet overschreven zijn geweest. Het einde van de directory wordt aangegeven door een hexadecimale kode 00 als naam.
De hier voorgestelde struktuur van een filesysteem (een “volume” om de juiste benaming te gebruiken) is zeer algemeen en niet specifiek gebonden aan een operating system of formaat. In het algemeen zal het filesysteem nog extra informatie moeten bevatten, een FAT (file allocation table) of een linked list om snel vrije ruimte te kunnen localiseren en toewijzen als er een nieuw bestand aangemaakt wordt.
|