Please enable JavaScript.
Coggle requires JavaScript to display documents.
Fajl sistem - interfejs - Coggle Diagram
Fajl sistem - interfejs
Uvod
- mogucnost trajnog cuvanja podataka je nesto sto je podrazumevano kod savremenih racunarskih sistema
- radna memorija nije pogodna za skladistenje podataka:
- nije dovoljno velika
- sadrzaj radne memorije dodeljen procesu se gubi pri prestanku rada sistema, ali i procesa
- mora se voditi racuna o nezeljenim dogadjajima poput:
- gubitka napajanja
- iznenadni prestanak izvrsavanja OS-a usled kriticne greske
- prestanak izvrsavanja samog procesa zbog neke kriticne greske
- zbog toga se za skladistenje podataka koristi sekundarna memorija
resenje za trajno cuvanje podataka treba da ispuni sledece uslove:
- sacuvani podaci mogu biti trajno zapisani, tj. ne gube se po prestanku izvrsavanja procesa koji ih koristi ili po prestanku rada sistema
- velika kolicina podataka moze biti sacuvana
- podaci su nezavisni od procesa, tj. vise procesa im moze pristupiti, a ne samo onaj koji ih je kreirao
- fajl - apstrakcija informacije zapisane na sekundarnoj memoriji - pruza ga fajl sistem
- predstavlja imenovanu kolekciju informacija, zapisanu u memoriji
- najmanja struktura informacije koja se moze upisati u memoriju, sa korisnicke strane
- sadrzaj je u opstem slucaju niz bajtova, a interpretacija tog niza zavisi od namene, preciznije programa koji ima zadatak da ga procita
Atributi fajlova
korisnicima se daje mogucnost imenovanja fajlova - mora imati ime
- njegova referenca
- prestaje da bude vezan za proces koji ga je kreirao i za sistem gde je nastao
- npr. fajl moze biti kreiran na fles memoriji i sa nje ih moze procitati neki drugi proces, na nekom drugom sistemu
skup atributa (informacija) koje fajl sistem cuva o fajlu razlikuje se od sistema do sistema, ali su to obicno:
- ime
- lokacija
- velicina
- vreme kreiranja, poslednje modifikacije i poslednjeg pristupa
- identifikator vlasnika fajla
- prava pristupa
neki od atributa su obavezni, kao ime i lokacija, dok neki nisu, tako da od konkretnog sistema zavisi da li ce biti podrzani
medju podrzanim atributima obicno se nalazi i skup nekih flegova (zastavica). To je obicno jedan bit cija se vrednost interpretira kao ukljuceno ili iskljuceno.
- npr. sakrivanje fajlova od korisnika - fleg koji odredjuje da li je fajl sakriven ili ne
na osnovu atributa koji definisu prava pristupa, OS odredjuje ko moze da pristupi fajlu i modifikuje ga, a ko ne.
- pravo citanja
- pravo citanja i pisanja
- pravo izvrsavanja
Operacije nad fajlovima
Vecina fajl sistema podrzava sledece operacije:
- kreiranje - upisivanje novog fajla
- brisanje - uklanjanje postojeceg fajla
- citanje - citanje informacija iz fajla
- pisanje - azuriranje fajla, bilo menjanjem vec postojecih podataka ili dodavanjem novih
- repozicioniranje - pomeranje pokazivaca na odredjeni deo fajla kako bi se isti azurirao
- skracivanje - brisanje krajnjeg dela fajla
druge operacije se mogu ozvesti kombinovanjem ovih osnovnih.
- npr. kopiranje fajla - kreiranje novog fajla i kopiranjem sadrzaja starog fajla
pre koriscenja fajla program ga mora otvoriti
- koristi se poseban sistemski poziv koji sluzi da fajl oznaci kao otvoren, inicijalizuju posebne strukture, ucitaju atributi i adrese na kojima se cuvaju podaci
Struktura fajlova
OS moze struktuirati fajlove na vise nacina:
- niz bajtova
- jedna od cestih organizacija
- sva kontrola nad sadrzajem fajla prepustena je programu koji njime manipulise
- OS vidi samo niz bajtova i ne razume unutrasnju strukturu
- ovaj pristup je veoma fleksibilan
- niz slogova
- fajlovi se podele u slogove fiksirane velicine sa tacno odredjenom strukturom
- fajl postaje sekvenca (niz) slogova
- citanje i pisanje se obavlja na nivou sloga
- stablo
- ubrzava pretragu, ali je implementacija komplikovana
na modernim sistemima dominantno je struktuiranje fajlova kao niza bajtova
Tipovi fajlova
- pri dizajniranju OS-a postavlja se pitanje da li ce on biti napravljen tako da prepoznaje i podrzava tipove fajlova
- ako sistem prepoznaje odredjeni tip fajla onda ce znati kako da rukuje njime, tj. kako da interpretira odredjene informacije
- npr. fajl koji sadrzi video informacije otvoren u tekst editoru nije smislen
- cesta tehnika je da se pored imena, na kraj fajla doda tacka i za njom kratka ektenzija koja govori o tipu
- korisna i korisniku i OS jer se zna koje se operacije mogu izvrsiti nad fajlom i na koji nacin se podaci citaju
- OS moze da definise odgovarajuci program za otvaranje odredjenog tipa fajla
- ektenzija je samo nagovestaj koja ne garantuje tip fajla, nije ni obavezna, ali olaksava rad
- u nekim sistemima se vrsta fajla odredjuje na osnovu niza bitova koji se nalazi na pocetku fajla - magicni broj
- OS ne moze zahtevati da fajl sadrzi magicni broj, jer je on mogao nastati na sistemu koji ih ne podrzava i ne koristi
- direktorijumi(folderi) su sistemski fajlovi koji odrzavaju strukturu fajl sistema
- na nekim sistemima postoje i tzv. specijalni fajlovi
- interfejsi drajvera uredjaja koje OS vidi kao obicne fajlove radi lakseg rukovanja
- karakter specijalni fajlovi - modeluju serijske uredjaje kao sto su stampac, terminal, mreza itd.
- blok specijalni fajlovi - pruzaju mogucnost citanja ili upisivanja bloka odredjene velicine
regularni fajl moze biti:
- ASCII
- sastoji se od niza karaktera
- ne moraju se posebno interpretirati jer univerzalnost ASCII formata omogucava da se mogu obradjivati u vecini editora i da ih bez modifikacije mogu koristiti razliciti programi
- binarni
- mogu se interpretirati bajt po bajt kao ASCII i imaju strukturu poznatu programu koji njima rukuje
- sastoji se od:
- zaglavlja
- kod segmenta
- segmenta podataka
- bitova za realokaciju
- tabele simbola - koristi se pri debagovanju
- magicni broj - prvi podatak u zaglavlju i govori OS da se radi o izvrsnom fajlu
- podaci o duzini raznih delova fajla i flegovi