Sistem datoteka

S Vikipedije, slobodne enciklopedije

Sistemi datoteka su različiti sistemi organizovanja datoteka i direktorijuma na uređajima za smještanje podataka (čvrsti diskovi, kompakt-diskovi, itd.).

Većina operativnih sistema zavisi od određenog datotečnog sistema; na primjer, novija izdanja Windowsa se mogu instalirati samo na nekom od podržanih datotečnih sistema, poput NTFS i FAT32 i nijedan drugi sistem datoteka nije ponuđen za vrijeme instalacije, dok na primjer Linuks ne može da se instalira na njima, jer ne podržavaju određene mogućnosti (simbolički linkovi, karakter fajlovi isl.) koje on kao operativni sistem zahtijeva, nego na nekom od datotečnih sistema poput Rajzera, EXT2, EXT3 itd.

Organizacija[uredi | uredi izvor]

Osnovna ideja iza organizacije datotečnog sistema je bila da se podražava rad u kancelariji, gdje se predmeti grupišu u fascikle, a fascikle u veće fascikle, ove u ormare i tako dalje. To je u datotečnom sistemu proizvelo koncept direktorijuma, koji u sebi može sadržati druge direktorijume i datoteke. Datoteke sadrže konkretan sadržaj (tekst, programski kod, mašinske instrukcije, slike, baze podataka itd.), dok direktorijumi samo čuvaju podatke o tome koje datoteke i direktorijumi su u njima sadržani.

Primjer datoteke iz Windows-a XP, na datotečnom sistemu čiji je blok veličine 4 kilobajta: stvarna veličina datoteke je 67 bajtova, veličina na disku je 4 kilobajta

U pozadini, sistem datoteka se najčešće sastoji od velikog niza blokova, koji su svi iste veličine i koji se ponekad nazivaju i sektorima ili klasterima (po engleskoj riječi „cluster“, koja znači „skup“, „gomilica“, „grozd“). Veličina jednog bloka je uvijek neki stepen dvojke bajtova (rijetko 512, najčešće 1024, 2048 ili 4096 bajtova). Na taj način se postiže poravnanje podataka, što čini učitavanje i pisanje podataka bržim.

Jedan blok služi kao najmanja jedinica skladištenja podataka na datotečnom sistemu, tj. svaka datoteka je smještena u cio broj blokova. Na taj način, datoteka uvijek ima dvije veličine — stvarnu veličinu (koliko bajtova sadrži) i veličinu na disku (koliko blokova datotečnog sistema je zahvatila). Ako datoteka „imenik.txt“, na primjer, sadrži 5440 bajtova, a veličina jednog bloka je 2048 bajtova, onda je stvarna veličina datoteke 5440 bajtova, a veličina na disku je 3x2048=6144 bajtova, jer ne može da stane na samo dva bloka, tj. na prostor veličine 4096 bajtova. Zbog toga se preporučuje da sistem datoteka koji će sadržati pretežno male datoteke bude organizovan u manje blokove, a dat. sistem koji će sadržati veće datoteke (npr. filmove, muziku itd.) u veće blokove, radi manjeg gubitka kapaciteta.

Za običnog korisnika ovakva organizacija datotečnog sistema u blokove je obično transparentna — korisnik treba da poznaje samo načine za pristup direktorijumima i datotekama, koji zavisi od odgovarajućeg operativnog sistema, a to je najčešće grafičko korisničko okruženje sa ikonama. Sam operativni sistem treba da vodi računa o prevođenju blokova podataka u oblik koji je lak za korišćenje.

Stablo direktorijuma[uredi | uredi izvor]

Pošto ovako organizovani direktorijumi i datoteke po svojoj strukturi predstavljaju stablo, onda se i sam sistem ovako organizovanih datoteka i direktorijuma često naziva upravo „stablo direktorijuma (i datoteka)“.

Ilustracija stabla direktorijuma kao običnog stabla, gdje grane predstavljaju direktorijume, listovi datoteke, a samo glavno stablo — korjeni direktorijum

Početni direktorijum, odnosno direktorijum koji nije sadržan ni u jednom drugom a koji posredno ili neposredno sadrži sve ostale, naziva se „korjeni direktorijum“, jer predstavlja korijen kompletnog stabla. Po istoj analogiji datoteke se nazivaju „listovima“ ovog stabla, a pojedinačni direktorijumi unutar stabla njegovim „granama“.

Korjeni direktorijum se na juniksu i Mac OS-u obilježava kosom crtom (/) a na Windowsu i DOS-u obrnutom kosom crtom (\).

Putanja do direktorijuma[uredi | uredi izvor]

Vodeći se konceptom stabla direktorijuma, moguće je na jedinstven način, polazeći od korjenog direktorijuma, obilježiti svaki direktorijum i datoteku koji se u njemu nalaze. Drugim riječima, kada želimo naznačiti određeni direktorijum ili datoteku, to činimo pisanjem tzv. apsolutne putanje, a koja se sastoji od nabrajanja svih elemenata kroz koje se „prolazi“ da bi se od korjenog direktorijuma došlo do dotičnog direktorijuma ili datoteke. Elementi se pri nabrajanju, po konvenciji, razdvajaju istim znakom koji se koristi za obilježavanje korjenog direktorijuma, a to je najčešće obična kosa crta ili obrnuta kosa crta (/ ili \). Na primjer, ako se direktorijum „Filmovi“ nalazi u korjenom direktorijumu uređaja, a u tom direktorijumu se nalazi datoteka „Gladijator.avi“, na juniksu bi se ta datoteka mogla označiti sljedećom apsolutnom putanjom:

/Filmovi/Gladijator.avi

Dakle, počev od korjenog direktorijuma (/), preko direktorijuma „Filmovi“ dolazimo do datoteke „Gladijator.avi“.

Za razliku od apsolutne putanje, relativna putanja opisuje lokaciju datoteke ili direktorijuma u odnosu na „trenutnu poziciju“ u datotečnom sistemu, tj. polazeći od direktorijumu u kojem se korisnik već nalazi. Na primjer, ako se datoteka „player.exe“ ima apsolutnu putanju „/Filmovi/Player/Player.exe“, a korisnik se trenutno nalazi u direktorijumu „/Filmovi“, u tom trenutku relativna putanja datoteke „player.exe“ je „Player/Player.exe“.

Pod operativnim sistemom Windows, za koji ne postoji koncept apsolutnog korjenog direktorijuma, tj. za koji postoji korjeni direktorijum za svaki skladišni uređaj i particiju na sistemu, apsolutna putanja se dodatno sastoji od naznake uređaja odnosno particije na njenom početku. Tako, na primjer, ukoliko se spomenuti direktorijum „Filmovi“ nalazio na primarnoj particiji čvrstog diska, onda bi apsolutna putanja datoteke „player.exe“ na Windows-u bila „C:\Filmovi\Player\Player.exe“.

Podjela[uredi | uredi izvor]

Sistemi datoteka se mogu podijeliti na diskovne, mrežne i datotečne sisteme posebne namjene.

Diskovni sistemi datoteka[uredi | uredi izvor]

Diskovni sistemi datoteka najčešće služe za organizaciju čvrstih diskova, ali takođe za kompakt-diskove, disketne i druge. Primjeri diskovnih datotečnih sistema su Rajzer, NTFS, FAT32, Ext2, Ext3, ISO 9660 i drugi. Na strani se nalazi lista diskovnih datotečnih sistema (fajl sistema)[1] i to:

  • ADFS – fajl sistem za punjenje, naslednik DFS-a. Razvijen od kompanije Acorn.
  • AdvFS - Advanced File System, razvijen od strane Digital Equipment Corporation za njihove Digital UNIX (sada Tru64 UNIX) operativne sisteme.
  • AFS – korišćen je na SCO OpenServer.
  • AFS - Ami File Safe je komercijalni fajl sistem namenjen Amiga računarima tokom devedesetih godina prošlog veka. (AFS je kompatibilan PFS).
  • AthFS - AtheOS fajl sistem je 64-bitni žurnalni sistem korišćen od strane Syllable-a.
  • BFS - the Boot File System used on System V release 4.0 and UnixWare.
  • BFS – Be File System korišćen na BeOS, povremeno pogrešno imenovan kao BeFS. Open source implementacija ovog sistema zove se OpenBFS i korišćen je na Haiku operativnim sistemima.
  • Btrfs - Copy-on-write fajl sistem za Linuks (Linux) predstavljen je od strane kompanije Oracle tokom 2007. godine i objavljen pod GNU General Public License (GPL).
  • CBMFS – Fajl sistem korišćen na većini Commodore 64 kompatibilnih flopi diskova uključujući diskove 1541.
  • CMDFS – Fajl sistem ekstenzija ili proširenje za CBMFS razvijen od strane Creative Micro Designs, za njihove 3.5″ flopi diskove, RAM diskove i hard disk kontrolere.
  • CP/M — Izvorni fajl sistem korišćen na CP/M (Control Program for Microcomputers) operativnim sistemima razvijen i korišćen tom sedamdesetih godina prošlog veka.
  • DDFS – Data Domain File System je razvijen i namenjen sistemima za brisanje duplikata. Čini ga poseban algoritam koji pronalazi i uklanja duplikate iz određene grupe podataka. Isporučivan je u Data Domain Deduplication Storage Systems koji su predstavljali alternativne medije trakama za čuvanje arhiva ili bekap kopija.
  • DTFS – Desktop File System omogućava kompresiju korišćenu na SCO OpenServer.
  • DOS 3.x - Originalni operativni i fajl sistem razvijen za Apple II sisteme.
  • EAFS – Prošireni Acer Fast Filesystem, korišćen na SCO OpenServer-u.
  • Extent File System (EFS) – EFS je stariji blokovni fajl sistem koji radi pod IRIX-om.
  • ext – Extended file system, namenjen Linuks (Linux) sistemima. Prošrena verija je implementirana tokom 1992. godine kao prvi fajl sistem namenjen isključivo za Linuks kernel.
  • ext2 – Drugi i prošireni fajl sistem, razvijen pre svega za Linuks (Linux) sisteme.
  • ext3 – Žurnalna verzija fajl sistema ext2. Žurnalni fajl sistem označava da se izmene na fajl sistemu čuvaju na zasebnom mestu u delovodniku i kasnije će biti dodate kao izmena glavnom fajlu. Ovi sistemi su daleko otporniji na greške.
  • ext4 – Novija verzija žurnalnog fajl sistema ext3 sa mogućnošću proširenja.
  • FAT – File Allocation Table prevedeno Alokaciona tabela za fajlove korišćena na DOS i Microsoft Windows operativnim sistemima. Verzije FAT12, FAT16 i FAT32 označavaju 12-bitnu, 16-bitnu i 32-bitnu dubinu tabele. Ovaj je fajl sistem podržan od strane gotovo svih operativnih sistema za ličnu ili poslovnu primenu. Široka rasprostranjenost omogućava prenos podataka sa velikog broja različitih računara starije i novije generacije. Ovo znači da vaše fajlove možete lako kopirati sa računara iz sredine osamdesetih godina prošlog veka na najnoviji računar danas.
    • VFAT – Ovo je verzija Microsoft Windows FAT fajl sistema koja omogućava korišćenje dugačkih imena fajlova (do 255 karaktera). Izvorno FAT fajl sistemi mogu da beleže isključivo tzv. 8.3 format.
    • FATX – Modifikovana verzija Microsoft Windows FAT fajl sistema korišćenog na originalnoj Xbox konzoli.
  • FFS (Amiga) – Fast File System (Brzi fajl sistem), korišćen na Amiga računarima. Tokom godina ovaj je fajl sistem dobio nove verzije poput: FFS1, FFS Intl, FFS DCache i FFS2.
  • FFS – Fast File System, korišćen je na BSD sistemima.
  • Fossil – Izvorni fajl sistem korišćen na Plan 9 operativnom sistemu razvijenog od strane Bell Labs-a. Koristi se u mrežnom okruženju „Plan 9″ i omogućava kreiranje trenutne slike celokupnog fajl sistema.
  • Files-11 – OpenVMS fajl sistem korišćen na nekim PDP-11 sistemima. Ovaj fajl sistem prodržava tzv dosijee. Ovo znači da se fajlovi smeštaju u svojevrsne dosijee.
  • HFS – Hijerarhijski fajl sistem bio je u upotrebi sve dok HFS+ nije predstavljen na Mac OS 8.1. Takođe je poznat kao Mac OS standardni format. Hijerarhijski sistem datoteka kako ga neki jos prevode naslednik je tzv. Macintosh File System (MFS). Ne treba ga mešati sa IBM-ovim HFS provided with z/OS.
  • HFS+ – Naredna verzija Eplovog HFS-a (Hijerarhijski fajl sistem). Ovaj fajl sistem je podržan na Mac OS 8.1 i naprednijim verzijama, uključujući Mac OS X. Podržava tzv žurnalistiku ili delovodnike koje smanjuju mogućnost gubitka podataka nakon pada sistema. Neki ga zovu još „Mac OS Extended“ ili HFS+.
  • HPFS – High Performance File System ili sistem visokih performansi korišćen na OS/2 operativnom sistemu.
  • HTFS – High Throughput Filesystem ili fajl sistem velike propusne moći korišćen na SCO OpenServer-u.
  • ISO 9660 – Koristi se na CD-ROM and DVD-ROM optičkim medijima (Rock Ridge i Joliet su ekstenzije ovog fajl sistema.
  • LisaFS - Fajl sistem korišćen na Apple Lisa operativnim sistemima. Ovaj fajl sistem je jedinstven što dozvoljava da dva različita fajla sa istim imenom i istom lokacijom mogu biti sačuvani na primer „file“ i „file“.
  • LFS – BSD implementacija fajl sistema baziranog na log strukturi.
  • MFS – Macintosh File System, mekintoš fajl sistem korišćen je na ranim Mac OS sistemima. Nasledio ga je Hijerarhijski fajl sistem (HFS).
  • Next3 – Verzija ext3 fajl sistema koji podržava snapshot-ove.
  • MFS – TiVo’s Media File System ili Tivo medijski fajl sistem je sistem datoteka korišćen na Tivo hard dsikoviuma za snimanje u realnom vremenu.
  • Minix file system – Korišćen na Miniks sistemima.
  • NILFS – Linuks impementacija sistema baziranog na logovima.
  • NTFS – New Technology File System ili fajl sitem nove tehnologije koristi se na Windows NT operativnim sistemima i novijim operativnim sistemima poput Windows XP-a.
  • NetWare File System - Originalni NetWare 2.x – 5.x fajl sistemi, korišćeni su i na kasnijim verzijama ovog sistema.
  • NSS – Novell Storage Services je novi 64-bitni žurnalni fajl sistem koristi balansirani sistem drveta. Koristi se na NetWare operativnim sistemima 5.0 i novijim kao i na Linuksu(Linux).
  • OneFS - One File System je distibuiran fajl sistem baziran na delovodnicima. Koristi ga Isilon. OneFS koristi FlexProtect i Reed-Solomon kodiranje i podržava otkaz čak 4 otkaza hard disk uređaja istovremeno.
  • OFS – Old File System za Amig-e. Svoju je primenu našao za flopi diskove, ali je prilično beskoristan na hard disk uređajima.
  • PFS – PFS2, PFS3, etc. U svetu računarske tehnologije važi za veoma tehnološki interesantan fajl sistem. Svoju je primenu našao na Amigi. Veoma prost i elegantno dizajniran.
  • ProDOS - Operativni sistem i sistem datoteka naslednik DOS 3.x, korišćen je na Apple računarima pre Mekintoša, Lize i Eplovih serija uključujući ostale novije serije.
  • Qnx4fs - Fajl sistem korišćen na QNX-u verzijama 4 i 6.
  • Qnx6fs - Novi „copy-on-write“ fajl sistem predstavljen na QNX 6.4.0 i korišćen nadalje od verzije 6.4.1.
  • ReFS (Resilient File System) - Ovo je posledlja generacija Majkrosoftovog fajl sistema koji je baziran na NTFS-u. Ovaj fajl sistem nije moguće butovati ili kompersovati sa klasterom veličine 64KB. Takođe se koristi na Windows Server 2012 operativnom sistemu.
  • ReiserFS – Linuks fajl sistem koji koristi delovodnike ili žurnale.
  • Reiser4 – Novija verzija Linuks fajl sistema koji koristi delovodnike ili žurnale.
  • Reliance – Datalight-ov fajl sistem namenjen visoko pouzdanim sistemima.
  • Reliance Nitro – Transakcioni fajl sistem baziran na drvetu razvijen za sisteme visokih performansi. Razvijen od strane Datalight-a.
  • RFS – Izvorni fajl sistem za RTEMS AT&T UNIX sistem V korišćen na SCO UNIX i SCO OpenServer-u.
  • SkyFS - Razvijen za SkyOS da zameni BFS kao glavni fajl sistem. Baziran na BFS-u, ali sadrži mnoga nova poboljšanja.
  • SFS – Smart File System je fajl sistem sa delovodnicima i podržava Amigu.
  • Soup (Apple) - Fajl sistem za Apple Newton Platform-u, organizovan je kao baza podataka.
  • SpadFS - Razvijen za Linuks, bez delovodnika sa haširanjem.
  • STL (standard language file system) - STL je fajl sistem razvijen od strane IBM-a.
  • TRFS - Ekperimentalni fajl sistem.
  • Tux3 - Eksperimentalna verzija fajl sistema koji bi trebalo da zameni ext3.
  • UDF – Fajl sistem baziran na paketima za WORM/RW medije poput CD-RW i DVD-a, sada podržava hard diskove i fleš memoriju
  • UFS – Unix File System, korišćen na Solaris-u i starijim BSD sistemima.
  • UFS2 – Unix File System korišćen na novijim BSD sistemima.
  • VxFS - Veritas file system je prvi komercijalni žurnalni fajl sistem za HP-UX, Solaris, Linux i AIX.
  • VLIR (Variable Length Indexed Record) – je fajl sistem dopuljen od strane Berkeley Softworks-a za CBMFS, dozvoljava potpuni slobodan pristup za čitanje i pisanje, a za računare koji rade pod GEOS-om.
  • WAFL – Write Anywhere File Layout. Fajl sistem koji označava da je upis moguć svuda, dobrih performansi baziran na logovima. WAFL koristi RAID-DP kao zaštitu od prestanka rada više diskova istovremeno i NVRAM za manipulaciju logovima. Kortisti se na NetApp sistemima.
  • XFS – Koristi se na SGI IRIX i Linux sistemima.
  • ZFS – Sun Microsystems je razvio ZFS open source spacifikaciju koja je kasnije prilagođena IBM zSeries sistemima.

Mrežni sistemi datoteka[uredi | uredi izvor]

Mrežni sistem datoteka je sistem datoteka koji prikazuje sliku nekog udaljenog datotečnog sistema, dozvoljavajući korisniku da se prema udaljenim datotekama i direktorijumima ponaša kao da su na lokalnom računaru. Primjeri ovakvih datotečnih sistema su NFS, SMB i drugi.

Sistemi datoteka posebne namjene[uredi | uredi izvor]

Sistemi datoteka posebne namjene su u principu svi oni sistemi datoteka koji nisu ni diskovni ni mrežni. Najčešće se koriste u situacijama kada se želi pojednostaviti korišćenje određenih servisa, pa se servisi predstavljaju u obliku datoteka i direktorijuma iako to u stvarnosti nisu. Primjer je juniksov sistem datoteka „/proc“, na kojem se sistemski procesi i osobine operativnog sistema mogu vidjeti u obliku datotečne hijerarhije.

Reference[uredi | uredi izvor]

  1. ^ „Fajl sistemi”. adreca.net. Arhivirano iz originala 23. 10. 2014. g. Pristupljeno 23. 10. 2014. 

Spoljašnje veze[uredi | uredi izvor]