SITNA CREVCA<>
112010<><>

Operativni sistemi (4): fajl sistemi

Fizički, fajl ne postoji!

Još od prvih računara, neki od osnovnih problema vezani za njihovo korišćenje bili su smeštanje podataka i njihova efikasna organizacija

Dokumenti, tabele, slike, multimedijalni sadržaji. Sve su ovo primeri podataka koje kućni računari svakodnevno obrađuju kako bi svojim korisnicima pružili privid upotrebne vrednosti i time opravdali silne pare koje ulažemo u njihovu nabavku. Za potrebe smeštanja podataka, naravno, pre svega je neophodno imati pogodnu kutiju. U slučaju računara, ove kutije dolaze u vidu memorijskih uređaja kao što su magnetne trake, razne varijante magnetnih diskova i solid state uređaja. Međutim, upotrebna vrednost ovih uređaja završava se na pružanju prostora za smeštanje podataka, kao i obezbeđivanju njihovog fizičkog integriteta. Ono što je mnogo bitnije u svakodnevnoj upotrebi računara jeste način sistematizacije podataka.

Sistematizacija podataka u jednom računarskom sistemu podrazumeva podelu podataka na manje celine, koje obično zovemo fajlovima (datotekama). Jedan fajl, najjednostavnije rečeno, sadrži sve podatke koji imaju neki konkretan kontekst upotrebe. Primera radi, jedan JPEG fajl sadrži sve podatke relevantne za prikazivanje jedne određene slike. Slično tome, i svi podaci vezani za neki tekst (sam tekst, ali i font, stilovi, formati) sadržani su u posebnom DOC fajlu. Međutim, fajl fizički ne postoji. Ono što postoji jeste fajl sistem.

Fascikle i nalepnice

Osnovna uloga fajl sistema jeste u tome da obezbedi način identifikacije fajlova, tako da je njegova osnovna komponenta tabela koja povezuje neku jedinstvenu, numeričku oznaku fajla sa imenom koje je čitljivo. Pored toga, fajl sistem mora da zna koji sve podaci pripadaju tom fajlu i gde se nalaze. Kako bi se to obezbedilo, fajl sistem mora celokupan fizički prostor na uređaju da predstavi kao niz malih celina u kojima je moguće čuvati određene količine podataka. Pošto je broj celina koje pripadaju jednom fajlu u opštem slučaju promenljiv, fajl sistem mora da obezbedi način za dodeljivanje i oduzimanje pojedinih parčića prostora pojedinačnim fajlovima, kao i tabele u kojima se čuvaju podaci o svim celinama koje su dodeljene jednom fajlu, kao i njihovom redosledu.

Sledeća funkcija koju fajl sistem obezbeđuje jeste grupisanje fajlova. Pošto je svakodnevna pojava da nekoliko različitih fajlova imaju isti kontekst upotrebe (na primer, fajl koji sadrži ovaj tekst nalazi se u istom kontekstu sa fajlovima koji sadrže slike u okviru ovog teksta), prirodno je da ove fajlove smeštamo u jednu organizacionu celinu. Ta organizaciona celina zove se direktorijum (folder, fascikla). U opštem slučaju fajl sistema, direktorijum predstavlja posebnu vrstu fajla koja sadrži spisak fajlova koji mu pripadaju, mada realne implementacije fajl sistema ne slede uvek taj princip.

Na posletku, fajl sistem služi i kao mesto gde se smeštaju opisni podaci vezani za fajlove. Ovi tzv. metapodaci mogu imati čisto režijsku namenu u vidu kontrolnih podataka pomoću kojih se prati životni ciklus i ispravnost fajlova, kao i spisak dozvola za pristup njima, ali mogu sadržati i podatke o nameni fajlova, njihovoj vrsti i prirodi podataka u njima koji mogu poslužiti operativnim sistemima i korisnicima za efikasnije obavljanje poslova.

Sa aspekta operativnog sistema, fajl sistem, osim toga što predstavlja bazu svih dostupnih fajlova, takođe nudi i osnovne alate za rad sa fajlovima – kretanje kroz direktorijume, stvaranje novih fajlova, brisanje starih, premeštanje, izmenu sadržaja, kao i dodavanje sadržaja.

Virtuelni fajl sistemi

Neki operativni sistemi kao što je Windows posmatraju svaki mass storage uređaj, pa i particiju na uređaju, kao poseban fajl sistem. Drugi operativni sistemi, pre svega oni iz porodice Unixa, uveli su koncept virtuelnog fajl sistema.

Virtuelni fajl sistem (VFS) predstavlja osnovnu hijerarhiju fajlova. Sami uređaji i particije na kojima se fajlovi fizički nalaze povezuju se na VFS putem direktorijuma. Ovaj proces povezivanja nazivamo montiranje (mounting).

Osim uvođenja višeg nivoa hijerarhije, VFS propisuje jedinstven način rada sa fajlovima koji se nalaze na raznorodnim fajl sistemima i raznorodnim uređajima. On takođe omogućava i upotrebu nekoliko fajl sistema posebne namene, koji predstavljaju podatke vezane za stanje računara.

Podela fajl sistema

Postoji pregršt implementacija fajl sistema. Razlike između pojedinih implementacija tiču se načina mapiranja fizičkog prostora i strategije dodeljivanja fizičkog prostora fajlovima, kao i realizacije stabla direktorijuma.

Najosnovnija podela fajl sistema može se izvršiti po tome kakvoj su vrsti uređaja namenjeni. Tu pre svega razlikujemo fajl sisteme za magnetne trake, hard diskove, fleš memorijske uređaje i mrežne fajl sisteme.

O fajl sistemima namenjenim magnetnim trakama nema potrebe mnogo pričati pošto se trake ipak smatraju zastarelim načinom čuvanja podataka. Ono što treba reći jeste da su ovi fajl sistemi prilagođeni sekvencijalnom načinu čuvanja podataka, što znači da se metapodaci i potrebne tabele koje opisuju strukturu smeštaju u više primeraka na različitim lokacijama kako bi se izbeglo nepotrebno premotavanje.

Disk fajl sistemi su najpopularniji, najraznovrsniji i poslužili su kao šablon za fajl sisteme prilagođene svim modernim memorijskim uređajima. Oni se generalno odlikuju naprednim strategijama za mapiranje fizičkog prostora kako bi postigli što efikasnije iskorišćenje, kao i naprednim načinima dodeljivanja fizičkog prostora fajlovima kako bi se smanjio ili čak izbegao uticaj interne fragmentacije (izdeljenosti) fajla na performanse pri njegovom čitanju, kao i razlike u performansama pri čitanju sa različitih lokacija. Neki od ovih fajl sistema prilagođeni su čuvanju velikog broja manjih fajlova, dok su drugi pak prilagođeni smeštanju velikih fajlova, treći pružaju dodatne bezbednosne mere radi očuvanja integriteta podataka i zaštite od neovlašćenog pristupa.

Sa pojavom fleš memorije i poluprovodničkih (solid state) memorijskih uređaja postalo je neophodno obezbediti i ravnomerno „habanje” zbog ograničenog broja upisa u pojedinačne ćelije, kao i posebne procedure za oslobađanje prostora pri brisanju fajla (fleš ćelije moraju eksplicitno da se obrišu). Nasuprot tome, fajl sistemi namenjeni fleš uređajima ne moraju da koriste posebne strategije za upis podataka, pošto lokacija podataka ne utiče na performanse.

Podela prema nameni

Osim po uređajima na kojima je predviđena njihova upotreba, fajl sistemi često su prilagođeni i nekoj konkretnoj funkciji koju računar treba da izvrši. Prema ovoj podeli, najbrojniji su fajl sistemi opšte namene. Ove fajl sisteme srećemo na najvećem broju računara i za njih je zajedničko to da u opštem slučaju podjednako dobro izlaze na kraj sa fajlovima različitih veličina i da nude dovoljno dobre performanse, kao i funkcije zaštite podataka.

Osim ovih fajl sistema, u svakodnevnoj upotrebi možemo sresti pre svega mrežne fajl sisteme. Oni nisu vezani za konkretne memorijske uređaje već za mrežne protokole pomoću kojih prenose podatke o fajlovima prisutnim na klasičnim fajl sistemima drugih računara. Pored jednostavnog deljenja fajlova, ovi sistemi obično nude i mogućnosti kontrole istovremenog pristupa fajlovima, bilo kroz dizajn bilo kroz dodatne protokole.

U velikim data centrima uobičajena je još jedna varijanta fajl sistema, a to su sistemi sa deljenjem diskova. Oni se koriste kada su sami uređaji za smeštanje podataka nezavisni od računara. Njihova prvenstvena namena jeste obezbeđivanje metoda za upravljanje paralelnim pristupom i očuvanje integriteta podataka.

Pored ovih sistema, u velikim data centrima možemo naći i nekoliko distribuiranih fajl sistema koji su namenjeni efikasnijoj obradi velikih količina podataka. Iako u osnovi predstavljaju baze podataka (kao i svaki fajl sistem, uslovno rečeno), oni raspoređuju komade podataka po svim dostupnim računarima u klasteru, često primenjujući određenu strategiju njihovog fizičkog rasporeda i umnožavanja unutar klastera kako bi se obezbedili pouzdanost podataka, kao i dobre performanse i efikasno iskorišćenje resursa klastera pri obradi podataka. U ovakvim fajl sistemima ceo klaster koji ima proizvoljan broj računara sa proizvoljnim brojem memorijskih uređaja transparentno se predstavlja kao jedinstven fajl sistem.

Na kraju, ne treba da zaboravimo fajl sisteme posebne namene, koje možemo sresti u svakom „juniksolikom” operativnom sistemu. U pitanju su fajl sistemi pomoću kojih se predstavlja stanje čitavog računara. Pomoću njih možemo pristupiti svim aktivnim procesima, hardverskim komponentama i posebnim uređajima koji čine računar. Primera radi, pomoću jednog ovakvog fiktivnog tekstualnog fajla možemo upravljati brzinom ventilatora. Mogućnosti su, naravno, mnogo veće od toga. Važno je to što ovakvi fajl sistemi omogućavaju obavljanje osnovnih operacija sa računarskim komponentama koristeći sličnu paradigmu (osnovnu zamisao) kao u radu sa fajlovima.

Napredne mogućnosti

Napredne mogućnosti koje fajl sistemi pružaju mahom se tiču obezbeđivanja samih podataka, kako u pogledu garancije njihovog integriteta tako i zaštite od neovlašćenog pristupa. Sa aspekta integriteta podataka, moderni fajl sistemi implementiraju transakcione sisteme kako bi obezbedili ispravno obavljanje svih operacija sa fajlovima. Korišćenje transakcija podrazumeva snimanje stanja podataka pre pokušaja izvršenja operacije da bi se, u slučaju da operacija propadne, podaci mogli vratiti u prethodno ispravno stanje. Najčešće korišćena realizacija podrške za transakcije dolazi u vidu fajl sistema sa „dnevnicima” (journaled file system), u kojima se podaci o izvršenim operacijama smeštaju u namenski deo samog fajl sistema odakle se, u slučaju potrebe, operacije mogu poništavati sve dok se fajl sistem ne dovede u neko prethodno, ispravno stanje.

Pored „vođenja knjiga” o radu sa fajlovima, pojedini fajl sistemi mogu garantovati integritet podataka na još nekoliko načina. Kao što smo već pomenuli, distribuirani sistemi u klasterima vode računa o strateškom umnožavanju podataka. S druge strane, fajl sistemi namenjeni posebnim uređajima i medijima koji spadaju u lako kvarljive (na primer, optički mediji) čuvaju CRC kodove podatka rasute po samom mediju tako da je mala verovatnoća istovremenog oštećenja i samog podatka i kodova na osnovu kojih ga je moguće rekonstruisati.

Zaštita podataka

Sa gledišta bezbednosti, odnosno sprečavanja neovlašćenog pristupa podacima, većina fajl sistema ima podršku za sistem dozvola kojima korisnici međusobno mogu ograničiti nivo pristupa određenim fajlovima. Međutim, priča o neovlašćenom pristupu fajlovima je komplikovanija i podrazumeva korišćenje kriptografskih metoda.

Kako bi se obezbedilo korišćenje kriptografije, neki fajl sistemi u sebi implementiraju sisteme upravljanja ključevima i primenu standardnih algoritama. U drugim slučajevima, podrška za kriptografiju izvodi se na nivou operativnog sistema kroz mogućnost montiranja fajl sistema koji je zapravo ceo sadržan u velikom šifrovanom fajlu.

Na posletku, treba pomenuti još jednu vrlo bitnu mogućnost fajl sistema rezervisanu za najmodernije varijante, a to je upravljanje radom fajl sistema u hodu. Kada se govori o kućnim računarima, potreba za tim teško je zamisliva (osim ukoliko imate suviše slobodnog vremena). U kućnim uslovima, životni ciklus fajl sistema usko je vezan za životni ciklus hard diska. Kupimo hard disk, isparticionišemo ga, formatiramo željenim fajl sistemom i pustimo ga da radi dok se ne pokvari. U velikim sistemima stvari postaju složenije. Ukupan smeštajni prostor je privid zasnovan na velikom broju raznorodnih uređaja. Osim menjanja i dodavanja novih uređaja, može dolaziti i do promene organizacije raspoloživog prostora u skladu sa potrebama korisnika. Obaranje operativnog sistema oduvek je bilo nepoželjno za obavljanje ovakvih operacija. Usled toga, bilo je neophodno razviti fajl sisteme koji mogu da se rekonfigurišu u hodu, privremeno žrtvujući mali deo performansi.

• • •

Fajl sistem računara predstavlja jednu od najtransparentnijih komponenti operativnog sistema. S obzirom na to da spada u one komponente koje efektivno nemaju nikakav korisnički interfejs, mnogi korisnici nisu svesni čak ni odvojenog postojanja fajl sistema kao celine, još manje njegove fundamentalne uloge u operativnom sistemu. Međutim, kao i kod mnogih režijskih stvari, ukoliko ga ne primećujete, znači da svoj posao radi dobro.

Bojan ŽIVKOVIĆ

 
 AKCIJE
Zaštita dece na internetu: akcija „Klikni bezbedno” (8)

 AKTUELNOSTI
WikiLeaks

 TRŽIŠTE
Fenomen zvani Microsoft

 NA LICU MESTA
Fujitsu Tech Days 2010, Minhen, Nemačka
SoftNet seminar
HTC na srpskom tržištu
D-Link i KimTec partnerski skup
Samsung Bada Srbija
Panduit Road Show
Ostali događaji, ukratko

 KOMPJUTERI I FILM
„Cinemania 2010”

 SITNA CREVCA
Operativni sistemi (4): fajl sistemi
Šta mislite o ovom tekstu?

 SERVIS
Otključavanje skrivenih funkcija (LG) televizora
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera