2.3.5 Failisüsteemi funktsioonid

iDevice ikoon 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 213. 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.