Unix File System

Från Wikipedia
Hoppa till: navigering, sök

UFS (akronym för Unix File System) är det filsystem som ursprungligen användes i Unix. Många moderna Unix-varianter använder UFS med olika utökningar. I den ursprungliga varianten av UFS är ett block 512 bytes, men i dag är 1024 bytes eller 4096 bytes vanligare.

En viktig egenskap för UFS är att filernas metadata finns i i-noder, som lagras skilt från själva filens innehåll (men på samma partition). Katalogerna innehåller inte filer utan referenser till filernas i-noder.

Filsystemets delar[redigera | redigera wikitext]

På varje partition kan det finnas ett filsystem. Filsystemen kopplas i Unixliknande system ihop genom att ett filsystem ansluts till en katalog i ett redan anslutet filsystem.

Varje filsystem är uppdelad i tre delar:

  1. Ett superblock där information om hur hårddisken ser ut, hur stor den är, hur mycket ledigt utrymme det finns, hur många filer som finns, med mera.
  2. Ett i-nodblock, där varje fil har en i-nod med uppgifter om filtyp (inte filformat; se specialfiler nedan), antal hårda länkar, filens ägare och grupp, åtkomsträttigheter, filstorlek, tidpunkt för filens skapande, senaste ändring och senaste åtkomst. Dessutom innehåller i-noden pekare till de block där filens data finns (till skillnad från andra filsystem som bara pekar på början och slutet av filer). Varje I-nodblock innehåller 10 pekare till 10 datablock, för större filer finns pekare till ytterligare block i datablock (se nedan).[förtydliga]
  3. Ett datablock där själva datan lagras, samt indirect-pekare som pekar på datablock med data. Det finns tre sorters pekare I datadelen som är indirekta:
    • Single indirect innehåller 10 pekare på datablock som en fil använder.
    • Double indirect innehåller ytterligare 10 pekare som vardera pekar på 10 pekare som pekar på datablock en viss fil använder.
    • Triple indirect innehåller ytterligare 10 pekare som vardera pekar på 10 andra pekare som även de pekar på 10 pekare vardera som pekar på datablock en fil använder.

Specialfiler[redigera | redigera wikitext]

Filsystemet kan innehålla olika typer av specialfiler, som liksom vanliga filer länkas från kataloger, har i-noder och i flera fall kan ha datablock, men som då de används har speciella funktioner. Till dessa specialfiler hör filer som symboliserar hårdvara (enhetsfiler), som länkar till ett filnamn (symboliska länkar) och katalogerna.

Kataloger[redigera | redigera wikitext]

En katalog i UFS är en fil som innehåller en lista på filnamn och i-nodsnumren för filerna ifråga. Eftersom i-nodnumren är unika endast inom ett visst filsystem (vanligen finns ett filsystem per partition) kan en katalog innehålla filer bara från samma filsystem, men nog symboliska länkar som pekar över partitionsgränserna.

En fil kan finnas i flera kataloger under samma eller olika namn. I-noden innehåller information om antalet hårda länkar, alltså antalet referenser från kataloger till filens i-nod. Då filen raderas från en katalog minskar antalet referenser och när antalet når noll kommer filens i-nod att raderas och datablocken frigöras, så snart filen inte längre används.