Filsystem

Logisk organisering

De fleste filsystemer organiserer filer i et hierarki av mapper og filer. En mappe kan inneholde andre mapper og/eller filer. Det finnes én mappe i systemet som alle andre mapper og filer springer ut fra, denne kalles rotmappen. Hele systemet av mapper og filer kalles gjerne et tre.
Hver fil og hver mappe har et navn som er unikt innenfor mappen den ligger i. Listen av mapper man må bla igjennom for å finne frem til en bestemt fil kalles ofte for banen (eng: path) til filen.
Noen operativsystemer deler opp filsystemet videre ved å angi hvilken lagringsenhet mappen eller filen ligger på. Eksempler på dette er CP/M, MS-DOS, Windows og OS/2 som bruker en stasjonsbokstav for å representere hver fysiske eller logiske lagringsenhet i maskinen.
Enkelte veldig gamle filsystemer (CP/M, tidlig MS-DOS) hadde filsystemer uten støtte for mapper og lagret alle filene i samme navnerom på lagringsmediet.

Intern organisering

Selv om de fleste filsystemer ser noenlunde like ut fra en brukers side med et hierarki av mapper og filer, kan det være store forskjeller på hvordan filsystemet organiserer sine forskjellige biter med data på selve mediet. Tidligere filsystemer var ganske enkle, og hadde begrenset plass til både filer og metadata. Etter hvert som behovene har vokst har også filsystemene blitt mer avanserte, og mer optimalisert mot sine forskjellige bruksområder.
Filsystemets lagringsplass deles gjerne opp i clustre, hvor et cluster er den minste enheten filsystemet kan gjøre bruk av. På en disk vil dette som regel tilsvare én eller flere sektorer. Størrelsen på et cluster vil dermed avgjøre hva som er den minste plassen i filsystemet en mengde data kan bruke. F.eks. vil en fil på 15 bytes i virkeligheten oppta minst 4kB lagringsplass på et filsystem med 4kB store clustre.
Filer som er større enn ett cluster vil lagres ved hjelp av så mange clustre som trengs. Disse behøver ikke å utgjøre en sammenhengende rekke av clustere i filsystemet. Det som brukeren ser som én sammenhengende fil, kan i virkeligheten ligge spredd rundt på mange forskjellige steder i filsystemet. Dette kalles fragmentering av filsystemet.

Windows

Windows 95, 98 og Me bruker FAT 32. FAT 12 og 16 blir brukt av DOS. FAT-filsystemene (File Allocation Table) er ganske gamle, og har noen litt snevre begrensninger på lengden av filnavn, filstørrelse, og det ikke skiller mellom store og små bokstaver. Windows NT, deriblant XP, 2000 og Vista, bruker NTFS til sine harddisker, men støtter fortsat FAT, siden det brukes på eksterne harddisker og disketter. Derimot nekter de å formatere FAT-filsystemer over 32 GiB, selv om det går an med Linux og eldre utgaver av Windows.

Linux

På Linux kan man velge selv, men ext3 brukes mest nå for tiden, og regnes som et svært pålitelig filsystem. Dessuten er det vanlig å installere forskjellige deler av Linux på forskjellige partisjoner, slik at man kan ha forskjellige filsystemer etter hva som passer best på den enkelte partisjonen. Ext2 var det vanligste før, det er velprøvd og sikkert. Ulempen med ext2 er at det mangler journalføring, noe som gjør at ext2 må sjekkes grundig hvis det ikke ble avmontert riktig, for eksempel ved strømbrudd. Dermed passer det best til små partisjoner hvor man ikke endrer så mye, for eksempel disketter eller en liten oppstartspartisjon. På disketter er det også vanlig å bruke FAT12, ettersom Windows gjør det.
Reiserfs er svært raskt og plasseffektivt for små filer. Det skyldes først og fremst at det bruker en teknikk som kalles "tail packing". Alle filsystemer bruker et helt antall av en størrelse som kalles "block size" (vanligvis 0,5-4 KB) for å lagre hver fil. En fils siste blokk kalles en "tail" (hale); slutten av fila kan ligge hvor som helst inne i denne, så resten er ubrukt plass. Men med tail packing kan slutten av mange filer legges i samme blokk. I reiserfs kan denne funksjonaliteten skrus av ved å montere det med parameteren "notail". Reiserfs var det første journalførende filsystemet som kom til Linux. Dessverre har det vist seg at reiserfs under spesielle omstendigheter kan tape data, for eksempel hvis filsystemet lagres i en fil på et annet reiserfs-filsystem. Derfor velger mange ext3 framfor reiserfs til å ta vare på viktige filer. Mange superraske servere, spesielt filtjenere og vevtjenere bruker reiserfs, blant annet den nyeste serveren på Wikipedia, som ble tatt i bruk 22. november 2005 . Neste versjon heter Reiser4. Det strever for tiden med å få innpass i Linux-kjernen, på grunn av skepsis til kodekvalitet, men tester tyder på at reiser4 for tiden er verdens raskeste filsystem.
NFS er et nettverksfilsystem, som gjør det mulig å montere filsystemet til en server (NFS) i det lokale filsystemet til en Linux-maskin. Det som lagres her, vil altså lagres på serveren.