Failų sistema

Failų sistema (angl. filesystem) – duomenų struktūrų, algoritmų ir interfeisų visuma, leidžianti įrašyti, išsaugoti ir perskaityti laikmenoje ar kompiuterių tinkle esančią struktūruotą informaciją, nesigilinant į technines informacijos išsaugojimo detales.

Daugumoje failų sistemų operuojama failo – tam tikro vientiso identifikuojamo informacijos rinkinio – sąvoka, daugelyje yra ir papildomų objektų, pvz., katalogas, failo atributai, itin išvystytose – yra ir sudėtingesnių objektų pvz., Files-11 – failo elementą apibrėžiantis įrašas, HFS – failo savybes ir naudojimą aprašanti resursų šaka ir pan. Failų sistemos atliekami veiksmai apibrėžiami rinkiniais funkcijų, leidžiančių šiuos objektus kurti, skaityti, keisti, šalinti ir t.t.

Tipiškos failų sistemos visada palaiko šias funkcijas ar panašiai besivadinančius jų ekvivalentus:

  • open(failo_vardas) – grąžina deskriptorių, identifikuojantį failą, su kuriuo dirbama.
  • seek(deskriptorius, pozicija) – perstumia failo rodyklę į atitinkamą poziciją.
  • read(deskriptorius, buferis, ilgis) – perskaito iš failo nurodytą kiekį informacijos į buferį.
  • write(deskriptorius, buferis, ilgis) – perrašo iš buferio nurodytą kiekį informacijos į failą.
  • close(deskriptorius) – uždaro failą.

Dauguma failų sistemų palaiko ir papildomas funkcijas, skirtas katalogų informacijos skaitymui, failų atributų, naudotojų teisių kotrolei ir pan. Kai kurios išvystytos failų sistemos leidžia atlikti ir žymiai sudėtingesnius veiksmus: dirbti su įvairiais įrenginiais (UNIX devfs), manipuliuoti operacinės sistemos darbo parametrais (UNIX procfs) ar panaudoti daugumą operacinės sistemos funkcijų (Plan-9 9P).

Plačiausiai žinomos failų sistemos:

  • FAT – grupė failų sistemų naudojamų DOS, Windows ir kitose OS
  • HPFS – OS/2 naudota žurnalinė failų sistema
  • NTFS – HPFS pagrindu sukurta failų sistema, naudojama Windows
  • EXT2 – Linux naudojama failų sistema
  • EXT3 – EXT2 pagrindu sukurta žurnalinė failų sistema, naudojama Linux
  • ReiserFS – padidinto našumo žurnalinė failų sistema, naudojama Linux
  • XFS – itin didelio našumo SGI kompanijos failų sistema, naudojama Irix ir Linux
  • UFS – grupė itin patikimų failų sistemų, naudojamų įvairiose UNIX
  • Files-11 – manipuliavimą įrašais palaikanti failų sistema, naudojama OpenVMS
  • HFS – grupė objektinių failų sistemų, naudotų MacOS
  • ISO 9660 – CD ir DVD diskuose naudojamos failų sistemos
  • JFS – IBM firmos failų sistema, naudojama AIX, OS/2 ir Linux
  • VxFS – Veritas firmos didelio našumo komercinė žurnalinė failų sistema, naudojama įvairių tipų UNIX
  • ZFS – Sun firmos didelio našumo, išplėstas valdymo galimybes turinti failų sistema, naudojama Solaris
  • 9P – Plan-9 OS failų sistema ir protokolas
  • NFS – tinklinė failų sistema, naudojama įvairiose OS
  • SMB – tinklinė failų sistema, naudojama Windows tinkluose