Failisüsteem

From ICO wiki
Revision as of 10:52, 14 January 2013 by Csaareot (talk | contribs)
Jump to navigationJump to search

Sissejuhatus

Failisüsteem on seadme viis arvutis andmefailide haldamiseks ja salvestamiseks ehk talletamiseks. Failisüsteemid asuvad enamasti otse mõne mäluseadme peal. Näiteks nagu kõvaketas või CD-ROM või väline kõvaketas. Kuid on ka failisüsteeme, mille andmeid ei hoita kohalikus arvutis, mida kasutaja haldab. Näiteks võrgufailisüsteemid NFS (Network File System) ning SMB (Server Message Block). Lisaks sellele eksisteerivad ka täiesti virtuaalsed failisüsteemid, näiteks Oracle Virtualbox. Nende sisu genereeritakse konkreetsel kujul ainult antud hetkel, mil sealt andmeid loetakse — näiteks Linuxi /proc failisüsteem. Failisüsteem näitab tähtsaid faili omadusi, nagu faili suurus, faili nimi, asukoht jne, failinimi koosneb tavaliselt kahest osast- nimest ja laiendusest ehk extension. Failisüsteem määrab ära ka failinimede kohta kehtivad reeglid. Need reeglid näevad ette, kui pikk tohib failinimi olla, milliseid tähemärke selles tohib kasutada ja kui pikk tohib olla failinime laiend, üldiselt on antud ka baas laiendid mida ühe antud faili kohta saab kasutada, et fail töötaks tõrgeteta.Näiteks pildifail, saab kasudata jpg,jpge,gif jne laiendeid, kuid ei saa kasutada näiteks docx faililaiendit, kuna siis pilt ei avane ega ole nähtav. Failisüsteemist sõltub ka see, kuidas tuleb vormistada rada faili leidmiseks kataloogistruktuurist. Näiteks windowsi puhul C:\windows\debug. Linuxi puhul on kaldkriips vastu pidi, /var/tmp.


Levinud failisüsteemid:

FAT12 (Windows, saab kasutada ka Linuxi süsteemis ja mõningatel juhtudel kasutatakse veel siiamaani.)
FAT16 (Windows) FAT32 (Windowsi varasemates versioonides)
NTFS (alates Windows NT)
EXT2 (Unix-tüüpi alguses)
EXT3 (Unix-tüüpi)
EXT4 (Unix-tüüpi)
ReiserFS (Unix-tüüpi)
UFS (Unix-tüüpi)
HFS (Mac)

Failipaigutustabel[1]

Failipaigutustabeliks nimetatakse tabelit, mida opsüsteem hoiab kõvakettal selleks ettenähtud kaitstud piirkonnas ja kus kirjeldatakse failide füüsilist paigutust kõvakettal. Kettale salvestamisel jagatakse fail ühesuurusteks klastriteks ( Arvutisüsteemides nimetatakse klastriks serveritest ja muudest ressurssidest koosnevat rühma, mis funktsioneerib ühe tervikliku süsteemina ning võimaldab hõlpsat juurdepääasu ning mõnel juhul ka koormuse tasakaalustamist ja paralleeltöötlust) ja need kirjutatakse kettale vabadesse kohtadesse, mis ei pruugi paikneda kõrvuti. Seega peavad failipaigutustabelis olema kirjeldatud faili kõigi klastrite asukohad, et faili saaks lugemisel tervikuks kokku panna. Klastri suurus on harilikult 2048 baiti, 4096 baiti või 8192 baiti. Veel suuremate klastrite kasutamine poleks enam mõistlik, sest sageli on kogu fail väiksem kui üks klaster ning osa kettaruumi jääb siis lihtsalt kasutamata.

Failisüsteemi hierarhia

Tänapäeval on laialtkasutatavad failisüsteemid hierarhilise ülesehitusega (nö, puukujulised), koosnedes üksteise sees asetsevatest kataloogidest ja kataloogides asuvatest failidest. Kõige olulisem on kõikide kataloogide juureks olev / kataloog. See kataloog ühendatakse külge esimesena alglaadimise ajal. See kataloog sisaldab alglaadimiseks vajalikku baassüsteemi ning juurkataloog sisaldab külgeühendamise kohti kõigi teiste failisüsteemide jaoks, mille lisamise vajadus tekkida võib.

Külgeühendamise koht (mount point) on kataloog, kus saab teisi failisüsteeme juurfailisüsteemile külge sulatada. Standardseteks ühendamise kohtadeks on näiteks /usr, /var,/mnt ja /cdrom. /etc/fstab on tabel erinevatest failisüsteemidest ja külgeühendamise kohtadest, seda faili kasutab süsteem ühendamisalase info allikana. Enamik failisüsteeme /etc/fstab-failis ühendatakse automaatselt külge juba alglaadimise ajal skripti rc(8) poolt, seda juhul kui nad ei sisalda valikut noauto[2].

Windowsi failisüsteemid

DOS ja Windows’i vanemad versioonid kasutavad failipaigutustabelis 16-bitiseid kandeid (FAT16). Need piiravad kõvaketta suuruse ära 128 megabaidiga (2048-baidiste klastrite puhul[3]). 16-bitiste aadressidega failipaigutustabelit võib kasutada ka kuni 512 MB ketaste juures (klastri suurus 8192 baiti[4]). Sellisel juhul aga jääb suurem osa kettaruumist kasutamata. DOS 5.0 ja hilisemad versioonid toetavad FAT16 failisüsteemi (16-biti) 2GB kõvaketastel, ketas on jagatud tarkvaraliselt 4 eraldi ossa. Igal osal on oma failipaigutustabel.

Windows 95 OSR2 juures võeti esmakordselt kasutusele 32-bitise adresseerimisega failipaigutustabel FAT32, mis toetab terabaitidesse ulatuva mahuga kõvakettaid. FAT32 on kasutusel ka kõigi hilisemate Windows’i versioonide juures[5] .

Linuxi failisüsteemid

2. Laiendatud failisüsteem- ext2 (second extended file system[6]) on Linux’i kerneli failisüsteem. ext2 oli kuni ext3 kasutuselevõtuni standardseks failisüsteemiks järgmistele süsteemidele: Red Hat Linux, Fedora Core ja Debian Linux’i distrod[7]. Lisaks Linux’ile saab seda kasutada ka koos opsüsteemidega BSD, MS Windows (läbi IFS’i) ja Mac OS X. ext2 lubab faili maksimaalseks suuruseks 2 TiB. Failinime maksimaalne pikkus võib ulatuda kuni 255 tähemärki. Failide hulgaks kuni 1018 ning salvesti suuruseks kuni 16 TiB.

3. laiendatud failisüsteem- Linux’i failisüsteem, mis võeti esimest korda kasutusele 2.4.15 kernelis. ext3 erineb oma eelkäijast peamiselt selle poolest, et siin kasutatakse failisüsteemi muudatuste tegemisel päevikut. Lisaks on ext3'el üle mitme ploki ulatuvate kataloogide tarvis, kasutusel puukujulised kataloogiindeksid ja failisüsteem on võimeline kasvama töö käigus. ext3 on ühilduv failisüsteemiga ext2. Seega kui andmed on kõvakettal failistüsteemis ext2, siis ei ole tarvis teha varukoopiad, et minna üle ext3 failisüsteemile.

4. laiendatud failisüsteem- Linux’i failisüsteem aastast 2006, mis võeti esmakordselt kasutusele kerneli 2.6.19 juures. On tahapoole ühilduv oma eelkäijaga ext3 ning erineb viimasest peamiselt selle poolest, et toetab suuremaid mälumahte (kuni 1024 petabaiti) ning failide salvestamisel on võimalik kasutada ekstente[8].

Lisa

Inglise keelne definitsioon Unixi failisüsteemist - http://www.cs.bgu.ac.il/~arik/usail/concepts/filesystems/def-of-filesys.html

Kasutatud materjalid:

1. http://en.wikipedia.org/wiki/File_system#Unix-like_operating_systems

2. http://vallaste.ee/

3. http://www.cs.bgu.ac.il/~arik/usail/concepts/filesystems/def-of-filesys.html