2.3.5 Failisüsteemi funktsioonid

Failisüsteem
on OS'i komponent, mis vastutab andmete salvestamise eest massmäluseadmetes
(kõvakettad, välkmälud, optilised kettad, jne.).
Failisüsteemi peamised ülesanded
on:
- Info talletamine
- Failide struktureerimine
- Andmetele õigustekohase ligipääsu tagamine
- Andmete kaitse
- Erinevatest andmekandjatest ühetaolise keskkonna loomine
Failisüsteemi objektid on failid ja kaustad. Fail
talletab infot ja on mugav objekt kasutamiseks programmeerija poolt ning ka
üksus, millele saab OS'i poolt määrata juurdepääsuõiguseid. Kataloogid on kaustad, mis sisaldavad
faile ja alamkatalooge ning nende ülesandeks on võimaldada OS'il ja kasutajatel
efektiivselt faile hierarhilistesse struktuuridesse paigutada.
Kataloog
on tabel, mis sisaldab ühe kande iga selles kataloogis oleva faili või
alamkataloogi kohta. Kataloogi kande struktuur sõltub failisüsteemist. Üldiselt
sisaldab see faili nime (või kataloogi nime) ja failiga seotud informatsiooni,
nagu näiteks selle atribuudid, või andmeid, mis on vajalikud massmäluseadmelt
faili sisu lugemiseks. Kataloogid on üldiselt korraldatud puukujulisse
struktuuri. Puul on juurkataloog (mis Unix-süsteemides on
tähistatud sümboliga "/") ja teised kataloogid on juurkataloogi
harud (kui need sisalduvad otseselt juurkataloogis) või juurkataloogist
lähtuvad. Seega peale ainsa erandi juurkataloogi, on igal failil või kataloogil
vanem, st. kataloog, kuhu ta kuulub.
Joonis 2‑13. Failisüsteemi puu (Allikas: Learning Materials for Information Technology Professionals (EUCIP-Mat))
Failisüsteem haldab vastavust failide ja kataloogide abstraktse mudeli ja
nende tegeliku kettal oleva paigutuse vahel, hoides kettal vastavat
infostruktuuri. Need struktuurid sisaldavad informatsiooni, mis on vajalik
failide ja kataloogide leidmiseks kettalt. Info on massmäluseadmetel
salvestatud sektoritena, mis
sisaldavad teatud hulga andmeid ja failisüsteemi roll on organiseerida need
sektorid failideks ja kataloogideks ning hallata millised sektorid kuuluvad
mingite failide juurde ning millised sektorid on vabad kasutamiseks. Uuemates
suuremahulistes massmäluseadmetes on infoühikud, mida kasutatakse failide
salvestuseks veelgi suuremad. Moodsad failisüsteemid adresseerivad andmeid läbi
fikseeritud suurusega andmeühikute nagu plokk
(Block) või klaster (Cluster).
Selline andmeühik võib talletada kordades rohkem infot kui sektor ja on kõige
väiksemaks info talletamise ühikuks failisüsteemis. Kui faili suurus on väiksem
andmeühiku suurusest siis kulub ikka terve andmeühik selle faili
salvestamiseks. Samas on andmete lugemine suurte plokkidena kiirem ja selline
lahendus annab juurde andmevahetuse jõudluses.
Levinud
failisüsteemid, mida kasutatakse massmäluseadmetes andmete talletamiseks on
loetletud allpool:
- FAT (File Allocation Table) on Microsofti OS'is toetatud. Turvalisuse puudumine ja piiratus failinimede määramisel ning maksimaalse salvestatava faili mahu piirangud on selle failisüsteemi suuremad puudused ja tänapäeval leiab FAT kasutust peamiselt eemaldatavate (Removable) seadmete puhul. Selleks tarbeks on failisüsteemist ka uuem versioon exFAT (extended FAT), mis on FAT32 failisüsteemi järglane. Kui FAT32 failisüsteemi maksimaalne faili suurus oli piiratud 32-bitiga siis exFAT võimaldab faili suurust kirjeldada 64-bitisena. FAT32 massmäluseadme maksimaalne köide (Volume) sai olla 2TB, exFAT'i puhul on see 512TB.
- NTFS (New Technology File System) on Microsofti OS'is toetatud kaasaegne failisüsteem. Andmeühikuks failide talletamisel on klaster vaikimisi mahuga 4 kB. NTFS salvestab kõik failisüsteemi objektid andmebaasilaadsesse struktuuri - Master File Table (MFT). NTFS failisüsteem kasutab transaktsioonide logimist iga köite jaoks. Sel kujul ei toimu failisüsteemi muutuste salvestamine kohe andmebaasi vaid logitud muutused salvestatakse järk-järgult. Logi hoidmine võimaldab taastada failisüsteemi peale arvutisüsteemi tõrkeid. Lisaks saavad muutuste logi kasutada erinevad rakendused, näiteks failisüsteemi indekseerimine, andmete replikeerimise rakendused, varundamisrakendused, viiruseskaneerijad, jne.
- EXT4(Fourth Extended File System) on Linux OS'i all tuntud failisüsteem, mis on eelmiste versioonide edasiarendus ja toetab transaktsioonide logimist. EXT4 toetab suuri köiteid ja parandatud on jõudlusnäitajaid.