Failisüsteemi üks tähtsamaid ülesandeid on organiseerida loogilisi faile füüsilisel salvestusseadmel (enamasti kõvaketas). Kõvakettal olev ruum on jaotatud sektoriteks (sector), traditsiooniliselt on sektori suuruseks 512 baiti. Kuna enamasti ei ole failisüsteemil nii väikeste andmeüksustega praktiline töötada, rühmitab failisüsteem sektoreid klastriteks (cluster). Suurema klastri kasutamisel väheneb suuremate failide puhul fragmentatsioon, kuid väiksemate failide puhul suureneb raisatud ruum (slack) – kui fail on väiksem, kui klastri suurus, ei täideta klastris vabaks jäänud ruumi uue failiga, vaid see jääbki tühjaks. Kui fail on suurem, kui klastri suurus, jaotub fail mitmesse klastrisse.
Sõltuvalt failisüsteemist kasutab see erinevaid süsteemseid andmestruktuure, nagu tabelid ja puud (täielikult hargnenud graafid), et hoida andmeid failide kohta. Tähtsamad andmed on failinimede nimikiri, kataloogipuu kirjeldus, failide asukohad salvestusseadmel (näiteks FAT-failisüsteemi puhul on salvestatud klastri number, millelt see fail algab) ning tabel tühjadest klastritest. Lisaks hoitakse ka nimekirja ketta vigastest sektoritest (bad sector) ja tabelit failide omanike ja juurdepääsuõiguste kohta.