Dokumentacija Datotečni sustavi

Izvor: HrOpenWiki
Skoči na: orijentacija, traži

Datotečni sustav (eng. file system, skraćenica često fs) je metoda pohranjivanja i organiziranja datoteka i njihovih podataka. Esencijalno, organizaraju se podatci u baze podataka za pohranu, organizaciju, manipulaciju i ponovno korištenje od strane računalovog operacijskog sustava.

Datotečni sustavi se koriste u 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 nosiocu tih podataka. 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 sustav nije isto što i registry.


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 minimaln 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 koj ise zovu klasteri (clusters) ili blokovi (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 treba 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 koj se pridodaje nekom podatku kako bi se osigurala lokacija tom podatku u računalovoj 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 (inodes) 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-podatci

Meta-podatci su ostali podatci asocirani sa određenom datotekom ili direktorijem. Duljina ovih podataka može biti pohranjena u nekom broju blokova ili kao fiksan duljina u bajtima. Primjeri ovih podatak 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 podatcima (korisnik, grupa, čitaj/piši/izvršavaj – rwx).

U naprednim datotečnim sustavima poput NTFS, XFS, ext3/ext4, neke verzije UFS i HFS+ se mogu definirati proizvoljni meta-podatci 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-podatci asociraju sa datotekom na sistemskoj razini. Primejr ovih podataka su autorstvo dokumenta, tip enkodiranja znakovlja (UTF, iso1440, ...) ili checksum (podatak koji govori o integritetu podatka)

Tipovi datotečnih sustava

Datotečni sustavi mogu biti klasificirani kao diskovni datotečni sustavi, mrežni datotečni sustavi i datotečni sustavi za specijalne potrebe.

Diskovni datotečni sustavi

Diskovni datotečni sustav je onaj dizajniran za spremanje podataka na fizički uređaj za pohranu, najčešće tvrdi disk (koji može ali 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 osigurvanje 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šestruku 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

Mrežni datotečni sustav je fs 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 namjene

Datotečni sustavi za specijalne namjene je praktično bilo koji operacijski sustav koji nije mrežni fs ili diskovni fs. 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 podatcima o operacijskom sustavu i sistemu.

Svemirske sonde namijenjene svemirskim sondama u misijama veoma 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. Mars roveri su primjer RTOS datotečnog sustava koji je implementiran na flash memoriji.

Datotečni sustavi na UNIX baziranim operacijskim sustavima

UNIX-oidni operacijski sustavi koriste virtualne datotečne sustave, što znači da su svi podatci prikazani pod jednom jedinstvenom hijerarhijom. Ovo znači da postoji jedan root direktorij (najčešće označen sa / ) i svaki je podatak lociran negdje ispod tog direktorija, ukljućujući i podatci sadržani od drugih datotečnih sustava). UNIX-oidi mogu koristiti RAM ili mrežne resurse kao svoj root direktorij.

UNIX-oid pridodaju ime za svaki uređaj, koji se prikazuje kao najobičnija datoteka (primjerice /dev/hdb4 /dev/dsp /dev/random /dev/eth0), ali to nije način na koji se pristupa tim uređajima. Da bi se sadržaj nekog uređaja prikazao, OS mora biti informiran o tome gdje da prikaže sadržaj tog uređaja. Ovaj proces se zove montiranje (korištenje naredbe mount). Primjerice, da se pristupi CD-ROM ili DVD uređaju, prvo je nužno reći OS-u "Uzmi datotečni sustav sa CD-ROM-a i prikaži ga u tom-i-tom direktoriju). Primjer

montiraj DVD uređaj /dev/sr0 u /media/cdrom0 

/media direktorij postoji na većini UNIX-odnih OS-a, dakle, uređaja privremene i izmjenjive prirode.

UNIX-oidni OS-i uključuju programe i alate koji pomažu u montiranju uređaja i koji pružaju dodatne mogućnosti manipulacije.

  1. U mnogim situacijama datotečni sustavi osim / se moraju montirati prilikom pokretanja računala (primjerice kada je /home na drugoj particiji ili disku). Zbog toga postoji datoteka fstab koja se nalazi u direktoriju /etc i u kojoj su definirani parametri montiranja.
  2. Suprotno od točke iznad, neki datotečni sustavi se ne trebaju montirati prilikom pokretanja računala ili to nije poželjno. Ovakve opcije se isto definiraju u fstab.

Mjerne jedinice memorije

Da bi mogli izmjeriti količinu podataka koju pohranjujemo, prenosimo ili obrađujemo, zgodno je uvesti mjerne jedinice pomoću kojih si možemo predočiti količinu podataka.

Osnovne mjerne jedinice

Budući da današnja računala digitalna, ona obrađuju podatke koji su zabisani u obliku binarnih brojeva. Budući da binarni brojevi imaju samo dvije znamenke (0 i 1), svaku znamenku nazivamo bit (od engleskog BInary Digit). Prva digitalna računala su podatke obrađivala u "paketima" po 8 bita, pa je stoga za skupinu od 8 bita uvriježen naziv byte (čitaj bajt).

Izvedene mjerne jedinice

Tradicionalne mjerne jedinice

Ubrzo su računala imala mogućnost obrađivati veće količine podataka, a razvijala se i tehnologija pohrane podataka, te je postalo moguće obrađiavti i pohranjivati više tisuća bajtova. Bilo je potrebno uvesti novu mjernu jedinicu. Tada je uveden kilobajt (kB). Kilobajt je u početku predstavljao 1000 bajtova, no to se je pokazalo vrlo nespretnim jer je otežavalo preračunavanje prvim računalima. Naime, računalima je puno lakše raditi s brojevima koji su cjelobrojna potencija broja 2. Zato je ubrzo kilobajt definiran kao 1024 (210) bajtova. Ubrzo su uvedeni megabajt (1 MB = 220 bajtova) i gigabajt (1 GB = 230 bajtova).

Nove ISO/IEC mjerne jedinice

Krajem 20. stoljeća, nakon velike popularizacije računala, sve više ljudi su zbunjivale tradicionalne mjerne jedinice za količinu podataka. Naime, prefiks kilo predstavlja 1000, odnosno 103, mega 106, giga 109 itd. Zato nije smjelo biti iznimki u značenju tih prefiksa, tj. 1 kB MORA predstavljati 1000 bajtova, a ne 1024. Zbog toga je u siječnju 1999. godine Međunarodna elektrotehnička komisija (IEC) uvela binarne prefikse za veće količine podataka. Tako je kilobajt ostao predstavljati 1000 bajtova, a 1024 bajta predstavlja 1 kibibajt (kratica od kilobinary). Slijedi pregled izvedenih mjernih jedinica za količinu podataka:

binarna jedinica dekadska jedinica omjer i razlika
Ime Simbol Ime Simbol Binarna ÷ Dekadska jedinica Dekadska ÷ Binarna jedinica Razlika u postotcima
kibibajt KiB 210 B 1,024 B kilobajt kB 103 B 1,000 B 1.024 0.976 +2.4% ili -2.3%
mebibajt MiB 220 B 1,048,576 B megabajt MB 106 B 1,000,000 B 1.049 0.976 +4.9% ili -4.6%
gibibajt GiB 230 B 1,073,741,824 B gigabajt GB 109 B 1,000,000,000 B 1.074 0.931 +7.4% ili -6.9%
tebibajt TiB 240 B 1,099,511,627,776 B terabajt TB 1012 B 1,000,000,000,000 B 1.100 0.909 +10.0% ili -9.1%
pebibajt PiB 250 B 1,125,899,906,842,624 B pentabajt PB 1015 B 1,000,000,000,000,000 B 1.126 0.888 +12.6% ili -11.2%
eksbibajt EiB 260 B 1,152,921,504,606,846,976 B eksabajt EB 1018 B 1,000,000,000,000,000,000 B 1.153 0.867 +15.3% ili -13.3%
zebibajt ZiB 270 B 1,180,591,620,717,411,303,424 B zetabajt ZB 1021 B 1,000,000,000,000,000,000,000 B 1.181 0.847 +18.1% ili -15.3%
jobibajt YiB 280 B 1,208,925,819,614,629,174,706,176 B jotabajt YB 1024 B 1,000,000,000,000,000,000,000,000 B 1.209 0.827 +20.9% ili -17.3%


Primjer: 300 GB (300×109 B) ≅ 279.4 GiB (279.4×230 B)


Izvori

[1] [2]

--Shrike 14:44, 14. ožujka 2011. (UTC)