sistemi datoteka
DESCRIPTION
Sistemi datoteka. Šta ćemo učiti. Datoteka Zaštita i prava pristupa Dodela prostora za datoteke Upravljanje slobodnim prostorom Direktorijum. Jedna od 4 osnovne funkcije svakog računarskog sistema je čuvanje podataka. - PowerPoint PPT PresentationTRANSCRIPT
Sistemi Sistemi datotekadatoteka
Šta ćemo učitiŠta ćemo učitiDatotekaZaštita i prava pristupaDodela prostora za datoteke
Upravljanje slobodnim prostorom
Direktorijum
Jedna od 4 osnovne funkcije svakog računarskog sistema je čuvanje podataka.
Fizičko skladištenje podataka se obavlja na magnetnim ili optičkim medijumima velikog kapaciteta (sekundarna memorija - diskovi), dok korisnik te podatke vidi i kontroliše kroz logičku strukturu koju je definisao i podržava operativni sistem, a to je sistem datoteka (file system).
Sistem datoteka, koji je za korisnika svakako najvidljiviji aspekt čuvanja podataka, se sastoji od dva osnovna dela: kolekcije datoteka (fajlova) i kolekcije direktorijuma.
Prvi nivo pripreme diska za funkciju čuvanja podataka je formatiranje diska (low-level formatting), drugi nivo je particionisanje diska u logičke volumene, dok je treći nivo formiranje sistema datoteka (high-level formatting).
Da bi disk ili particija diska mogli da se koriste za čuvanje podataka, neophodno je formiranje sistema datoteka koji predstavlja skup sistemskih modula i podataka koje operativni sistem koristi za upravljanje datotekama.
Većina operativih sistema podržava rad sa različitim sistemima datoteka. Linux podržava sisteme datoteka ext, ext2, ext3, reiserFS, dok Windows podržava rad sa sistemima datoteka FAT, FAT32, NTFS.
Da bi se prevazišao problem koji nastaje usled velikog broja različitih sistema datoteka, u poslednje vreme se uvodi novi logički koncept – virtuelni sistem datoteka (VFS – virtual file system).
To je objektno orjentisani način realizacije sistema datoteka, koji korisniku omogućava uniformni pristup svim datotekama, bez obzira na sistem datoteka koji je implementiran.
Dijagram takve implementacije je prikazan na sledećoj slici:
Mreža
Intefejs prema korisniku
VFS
Sistem dekaatoteka #1 Sistem datoteka #2Sistem datoteka #3
(udaljeni)
Disk 1 Disk 2
Implementacija VFS
U ovom slučaju, u okviru VFS-a su implementirani moduli koji prepoznaju sistem datoteka sa kojim se trenutno radi i koji obavljaju operacije u svakom od priključenih sistema, a složenost tog interfejsa je enkapsulirana u VFS modulu i ostaje sakrivena za korisnika.
DatotekaDatotekaDatoteka je imenovan skup povezanih
informacija koje se čuvaju na disku i za korisnika predstavljaju logičku celinu (to može biti tekst, slika, muzički ili video sadržaj).
Ona predstavlja fizički skup podataka u sekundarnoj memoriji (tako je vidi operativni sistem), ali predstavlja i skup informacija koji čine logičku celinu (tako je vidi korisnik).
Podaci jedne datoteke su često smešteni na različitim segmentima diska.
Da bi korisnik mogao svaki put da ih vidi i dosegne putem definisanog imena, operativni sistem mora posedovati niz kontrolnih podataka za svaku od datoteka.
Datoteka se sastoji od:Datoteka se sastoji od:
podataka smeštenih u sekundarnoj memoriji,
metapodataka koji između ostalog definišu ime, tip, raspored blokova u memoriji, informacije o pravima i vlasništvu, vreme, datum itd. Ovi podaci čine Kontrolni blok datoteke (FCB) i predstavljaju sistemske podatke na osnovu kojih operativni sistem upravlja datotekom.
Operacije koje operativni sistem Operacije koje operativni sistem može da izvrši nad datotekom:može da izvrši nad datotekom:IzradaUpis u datotekuČitanje iz datoteke u operativnu
memorijuPretraživanje BrisanjeSkraćivanje (odsecanje) datotekeOsim ovih moguće dodatne operacije su
preimenovanje, kopiranje, dodavanje sadržaja, itd.
Upravljanje sistemom datoteka podrazumeva da operativni sistem u okviru sistemskih tabela i podataka, poseduje i podatke o „Datotekama u radu“.
Tipično, operativni sistem koristi dva nivoa podataka – podatke o otvorenim datotekama vezanim za jedan proces koji se izvršava i podatke o otvorenim datotekama u celom sistemu.
Datoteke se prema nameni Datoteke se prema nameni dele u dve osnovne grupe:dele u dve osnovne grupe:Izvršne datoteke (programi
spremni za izvršavanje),Datoteka sa podacima.
Prema formatu podataka datoteke mogu biti:
Teksutalne,Binarne.
U većini operativnih sistema, svakoj datoteci se pridružuje tip koji se vidi kao ekstenzija imena datoteke.
Tip se određuje u zavisnosti od aplikacije u kojoj je izrađena i formata podataka koji čuva. Informacija o tipu datoteke pomaže operativnom sistemu da poveže datoteku sa aplikacijom u kojoj se datoteka može koristiti.
Neki od najpoznatijih tipova Neki od najpoznatijih tipova datoteka su:datoteka su:
exe, com binarna izvršna datoteka
lib, dll statičke i dinamičke biblioteke
cpp izvorni kod u C++txt tekstualni podacidoc dokument napravljen u
programu za obradu teksta
zip, rar arhivejpeg, bmp slike
Zaštita i prava pristupaZaštita i prava pristupaKontrola pristupa i promene sadržaja
datoteka je jedna od veoma značajnih funkcija koje operativni sistem mora imati.
Na primer, u Unix/Linux sistemima zaštita se uglavnom ostvaruje pomoću dva mehanizma:
Definisanja vlasničke kategorije◦Vlasnik (korisnik koji je napravio datoteku)◦Grupa (korisnička grupa kojoj je datoteka formalno
priključena)◦Svi (svi korisnici sistema)
Definisanje pristupnih prava se formira kao proizvoljan kombinacija osnovnih prava:◦Čitaj (Read)◦Piši (Write)◦ Izvršavaj (Execute)
U Windows operativnim sistemima, administracija kontrole pristupa i prava nad datotekama je ostvarena kroz sistem Korisnika i Grupa. Korisnik pripada Grupi koja može pripadati nadgrupi itd.
Pri određivanju prava se poštuju principi:NasleđivanjaSabiranja dozvolaJače zabrane
Dozvole za rad sa određenim datotekama se formiraju kao standardne dozvole u koje spadaju:
ČitanjePisanjeČitanje i izvršavanjeModifikacijaPuna kontrola
Dodela prostora za datoteke Dodela prostora za datoteke (alokacija)(alokacija)
Operativni sistem dodeljuje datoteci fizički prostor na disku (blok) na tri načina, jednim od algoritama alokacije: dodelom kontinualnog prostora, vezivanjem blokova i mapom datoteka.
Dodela kontinualnog prostora
◦Svaka datoteka zauzima kontinualni prostor na disku. Operativni sistem pamti adresu prvog bloka i dužinu datoteke. Dobra strana ovog algoritma je jednostavnost i brzina. Loša strana je ograničen prostor.
Vezivanje blokova◦Svaka datoteka sadrži proizvoljan broj blokova
koji su razbacani po disku. ◦Operativni sistem prepoznaje blokove koji
pripadaju jednoj datoteci uz pomoć ulančanog opovezivanja blokova.
◦OS pamti adresu prvog i poslednjeg bloka u datoteci.
◦Ostali blokovi se povezuju tako što svaki blok na kraju sadrži pokazivač na sledeći blok u nizu.
◦Dobra strana ovog algoritma je proširivost datoteke, a loša je sporo pretraživanje sadržaja i mogućnost lakog oštećenja (gubitkom jednog bloka prekida se lanac i drugi deo datoteke je izgubljen).
Mapa datoteka◦Svaka datoteka sadrži proizvoljan broj blokova koji su razbacani po disku.
◦Za svaku datoteku postoji sistemska baza podataka koja čuva informacije o blokovima koji pripadaju jednoj datoteci.
Upravljanje slobodnim Upravljanje slobodnim prostoromprostorom
Funkcija dodele prostora datotekama je blisko povezana sa još jednom funkcijom operativnog sistema koja odlučuje kako i kojim redom će slobodan prostor na disku biti dodeljen datotekama koje se formiraju ili proširuju.
Dva osnovna algoritma za upravljanje slobodnim prostorom su mape bitova i povezane liste.
Mape bitova◦Svaki fizički blok na disku sadrži bit koji opisuje
status bloka: 0 znači da je blok slobodan, a 1 da je zauzet. Statusni biti iz svih blokova na disku predstavljaju mapu zauzetosti diska. Na primer, ako su slobodni blokovi na disku: 2, 3, 4, 9, 10, 12, 13, 14, 15, 25, 26, dok su svi ostali zauzeti, mapa zauzetosti bi imala sledeći oblik: 01101000011011110000000001100000....
Operativni sistem pravi kopiju te mape u operativnoj memoriji, na osnovu koje dodeljuje datotekama slobodne blokove. Najvažnije u tom procesu je da se prilikom zauzeća i oslobađanja blokova održi konzistentnost podataka u OM i na disku.
Povezane liste◦Informacija o slobodnim blokovima se formira
kao lista. Početak liste ukazuje na prvi slobodan blok, a svaki slobodan blok sadrži pokazivač na sledeći slobodan blok. Ova metoda je mnogo sporija od mape bitova, ali je količina sistemskih podataka pomoću kojih OS vodi evidenciju o slobodnom prostoru na disku značajno manja. Kao i kod Vezivanja blokova, mana je što oštećenjem jednog bloka gubimo pokazivač na sve naredne blokove.
DirektorijumDirektorijum
Sve datoteka u sistemu se radi preglednosti i kontrole pristupa grupišu u posebne strukture – direktorijume.
Svi direktorijumi sa datotekama koje im pripadaju formiraju sistem datoteka.
Direktorijum se sastoji od skupa kontrolnih blokova svih datotka
koje mu pripadaju,skupa metapodataka (sistemskih
podataka) koji opisuju strukturu samog direktorijuma.
Operacije koje operativni sistem može izvršiti u procesu administracije direktorijuma su:
Izrada i brisanje datoteka i poddirektorijuma u okviru tekućeg direktorijuma
Prikazivanje sadržaja direktorijumaPretraživanje direktorijumaPromena imena datoteke i poddirektorijuma
datoteka operacije nad datotekamavrste datoteka - prema nameni - prema tipu podatakatipovi datotekadirektorijumoperacije nad direktorijumima
formatiranje diskaparticionisanjeformiranje sistema datotekavirtualni sistem datotekaUnix/Linux vlasničke kategorijeUnix/Linux pristupna pravaWindows korisnik, grupaWindows standardne dozvole
algoritmi za upravljanje slobodnim prostorom: - mape bitova - povezane listealgoritmi alokacije - dodela kontinualnog prostora - vezivanje blokova - mapa datoteka
Ključni pojmovi