28th sij.2016

Datotečni sustavi

by Goran Krstičević

Datotečni sustav (engl. File System) je metoda pohranjivanja i organiziranja datoteka i njihovih podataka. Datotečni sustavi se koriste na uređajima za pohranu podataka poput tvrdih diskova, CD-ROM-a, DVD-a, USB stickova i ostalim uređajima kako bi se osigurala fizička lokacija podataka na mediju. Osim toga, datotečni sustavi mogu osiguravati i pristup file serveru na način da djeluje kao klijent za mrežni protokol (primjeri NFS, SMB, 9P) ili mogu biti virtualne prirode i postojati samo kao mediji za pristupanje virtualnim podatcima (procfs).

datotečni sustavi

Aspekti datotečnih sustava

Većina datotečnih sustava koristi neki fizički medij za organizaciju podataka i njihove specifične metode pohrane, koji podatke zapisuju u niz sektora određene specifične minimalne duljine. Ti sektori su neka potencija broja dva (512 bajta, 1,2, ili 4 kilobajta su najčešći). Dakle, najmanji zauzeti prostor na mediju je veličine tog sektora, iako je sam podatak možda kraći. Datotečni sustav je odgovoran za organizaciju tih sektora u direktorije ili datoteke, praćenje koji su sektori iskorišteni za koje podatke i koji još uvijek nisu iskorišteni nizašto. Većina datotečnih sustava adresira podatke u jedinicama fiksne veličine koji se zovu klasteri (engl. Clusters) ili blokovi (engl. Blocks), a koji su definirani određenim brojem sektora (najčešće 1-64). Ovo je specifično najmanja veličina koja će se iskoristiti na disku za zapis podatka. Datotečni sustav ne mora koristiti direktno neki medij za pohranu podataka, već može biti korišten da organizira i prikazuje bilo koje podatke, bez obzira da li bili pohranjeni trajno ili dinamičke prirode (procfs ili generalno virtualni datotečni sustavi).

Ime datoteke

Ime datoteke je ime koje se pridodaje nekom podatku kako bi se osigurala njegova lokacija u računalnoj memoriji. Bez obzira da li datotečni sustav koristi fizički medij pohrane ili ne, koristi se nekakva struktura direktorija koja asocira imena sa datotekama, tipično spajajući ime sa nekakvim indeksom u internoj bazi podataka poput FAT datotečnog sustava u DOS-u i Win 9X, ili putem inoda i Unix baziranim datotečnim sustavima. Struktura direktorija može biti “ravna” (nema poddirektorija), ili može imati hijerarhijski sustav u kojem svaki direktoriji može imati i subdirektorije. U nekim datotečnim sustavima imena su strukturirana sa specijalnom sintaksom za ekstenzije i verzije. U drugima, imena su jednostavni nizovi, a metapodatci se pohranjuju negdje drugdje.

Meta-podaci

Meta-podatci su ostali podaci asocirani sa određenom datotekom ili direktorijem. Duljina ovih podataka može biti pohranjena u nekom broju blokova ili kao fiksna duljina u bajtima. Primjeri ovih podataka su vrijeme kada je datoteka napravljena, kada je zadnji put modificirana, kada su sami meta-podatci mijenjani, tip pohranjenog podatka, korisnička prava nad tim podacima (korisnik, grupa, čitaj/piši/izvršavaj – rwx). U naprednim datotečnim sustavima, poput NTFS, XFS, ext3/ext4, se mogu definirati proizvoljni meta-podaci koristeći proširene datotečne atribute. Ova podrška je implementirana u Linux, FreeBSD i Mac OS X operacijskim sustavima i dozvoljava da se ti produljeni meta-podaci asociraju sa datotekom na sistemskoj razini. Primjer ovih podataka su autorstvo dokumenta, tip enkodiranja znakovlja (UTF, iso1440, …) ili checksum (podatak koji govori o integritetu podatka).

Tipovi datotečnih sustava

  • Diskovni datotečni sustavi — je onaj koji je dizajniran za spremanje podataka na fizički uređaj za pohranu, najčešće tvrdi disk (koji može, a i ne treba biti direktno povezan sa računalom). Tipovi ovakvih datotečnih sustava su FAT(FAT12, FAT16, FAT32, exFAT), NTFS, HFS, HPFS, UFS, ext2, ext3, etx4, btrfs, XFS, ZFS, JFS, reiserfs, iso9660, ODS-5, UDF,… Neki datotečni sustavi imaju “journaling”, sustav koji osigurava integritet podataka u slučaju nepravilnog/nasilnog gašenja diska (tipično uslijed prekida dovoda struje). Journaling se može najlakše opisati kao vođenje dnevnika o tome što se radi sa svrhom osiguravanja konzistentnosti zapisa. iso9660 i UDF (Universal Disk Format) su dva najčešća datotečna sustava na CD i DVD uređajima. Mount Rainier je novija ekstenzija za UDF koji podržava Linux 2.6.*.* kernel i Windwos Vista, a koji omogućuje višestruko pisanje (piši-briši) na DVD na sličan način na koji je bilo moguće sa Floppy diskovima.
  • Mrežni datotečni sustavi — je onaj koji služi kao klijent za pristupanje udaljenim uređajima preko mreže ili na serveru. Primjeri ovakvih datotečnih sustav su NFS, AFS i SMB.
  • Datotečni sustavi za specijalne potrebe — je praktično bilo koji operacijski sustav koji nije mrežni ili diskovni File System. Ovo uključuje fs gdje su podatci dinamički organizirani od strane aplikacije sa namjerom komunikacije između računalnih procesa ili privremenih podataka. Ovakvi datotečni sustavi se najčešće koriste od OS-a koji su veoma datotečno orijentirani poput Linux/UNIX-a. Primjer je /proc koji daje pristup informacijama o procesima u računalu i ostalim podacima o operacijskom sustavu i sistemu. Svemirske sonde u misijama daleko od Zemlje, poput Voyager I i II, koriste digitalni tračni datotečni sustav. Većina modernih sondi koristi Real Time operacijske sustave i datotečne sustave ili RTOS slične sustave. (www.wiki.open.hr)