Sistemi datoteka ta emo uiti Datoteka Zatita i

  • Slides: 25
Download presentation
Sistemi datoteka

Sistemi datoteka

Šta ćemo učiti Datoteka Zaštita i prava pristupa Dodela prostora za datoteke Upravljanje slobodnim

Š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. Fizičko skladištenje

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),

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

Većina operativih sistema podržava rad sa različitim sistemima datoteka. Linux podržava sisteme datoteka ext, ext 2, ext 3, reiser. FS, dok Windows podržava rad sa sistemima datoteka FAT, FAT 32, 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:

Implementacija VFS

Implementacija VFS

 U ovom slučaju, u okviru VFS-a su implementirani moduli koji prepoznaju sistem datoteka

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.

Datoteka je imenovan skup povezanih informacija koje se čuvaju na disku i za korisnika

Datoteka 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: podataka smeštenih u sekundarnoj memoriji, metapodataka koji između ostalog definišu

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 može da izvrši nad datotekom: Izrada Upis u datoteku Čitanje

Operacije koje operativni sistem može da izvrši nad datotekom: Izrada Upis u datoteku Čitanje iz datoteke u operativnu memoriju Pretraživanje Brisanje Skraćivanje (odsecanje) datoteke Osim 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,

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 dele u dve osnovne grupe: Izvršne datoteke (programi spremni za

Datoteke se prema nameni 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

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 datoteka su: exe, com datoteka lib, dll binarna izvršna cpp

Neki od najpoznatijih tipova datoteka su: exe, com datoteka lib, dll binarna izvršna cpp txt doc statičke i dinamičke biblioteke izvorni kod u C++ tekstualni podaci dokument napravljen u programu za obradu teksta zip, rar jpeg, bmp arhive slike

Zaštita i prava pristupa Kontrola pristupa i promene sadržaja datoteka je jedna od veoma

Zaštita i prava pristupa Kontrola 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

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đivanja Sabiranja dozvola Jače zabrane Dozvole za rad sa određenim datotekama se formiraju kao standardne dozvole u koje spadaju: Čitanje Pisanje Čitanje i izvršavanje Modifikacija Puna kontrola

Dodela prostora za datoteke (alokacija) Operativni sistem dodeljuje datoteci fizički prostor na disku (blok)

Dodela prostora za datoteke (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

 Vezivanje blokova ◦ Svaka datoteka sadrži proizvoljan broj blokova koji su razbacani po

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

 Mapa datoteka ◦ Svaka datoteka sadrži proizvoljan broj blokova koji su razbacani po

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 prostorom Funkcija dodele prostora datotekama je blisko povezana sa još jednom funkcijom

Upravljanje slobodnim prostorom 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

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, 26, dok su svi ostali zauzeti, mapa zauzetosti bi imala sledeći oblik: 0110100001101111000001100000. . 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

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.

Direktorijum Sve datoteka u sistemu se radi preglednosti i kontrole pristupa grupišu u posebne

Direktorijum 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

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 direktorijuma ØPretraživanje direktorijuma ØPromena imena datoteke i poddirektorijuma

Ključni pojmovi datoteka operacije nad datotekama vrste datoteka - prema nameni - prema tipu

Ključni pojmovi datoteka operacije nad datotekama vrste datoteka - prema nameni - prema tipu podataka tipovi datoteka direktorijum operacije nad direktorijumima formatiranje diska particionisanje formiranje sistema datoteka virtualni sistem datoteka Unix/Linux vlasničke kategorije Unix/Linux pristupna prava Windows korisnik, grupa Windows standardne dozvole algoritmi za upravljanje slobodnim prostorom: - mape bitova - povezane liste algoritmi alokacije - dodela kontinualnog prostora - vezivanje blokova - mapa datoteka