1 / 47

OPERATIVNI SISTEMI

Vi soka poslovno-tehnička škola Užice. OPERATIVNI SISTEMI. FAJL SISTEMI SISTEMI DATOTEK A. GLAVNI DELOVI RAČUNA R A. MEMORIJA. CPU Centalna procesorska jedinica za obradu. U / I ulazno-izlazni uređaji. Hijerarhija memorije. 1 instrukcija i nekoliko podataka. 1 %. 10 %. 100 %.

kyros
Download Presentation

OPERATIVNI SISTEMI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visoka poslovno-tehnička škola Užice OPERATIVNI SISTEMI FAJL SISTEMI SISTEMI DATOTEKA

  2. GLAVNI DELOVI RAČUNARA MEMORIJA CPU Centalna procesorska jedinica za obradu U / I ulazno-izlazni uređaji

  3. Hijerarhija memorije 1 instrukcija i nekoliko podataka 1 % 10 % 100 %

  4. Pojam datoteke - fajla • Datoteka ili fajl (file) je logička jedinica smeštanja podataka i informacija. • Za OS, to je objekat koji se čuva u sekundarnoj memoriji – na HDD (hard disk drive) • Apstrahuje fizička svojstva uređaja za smeštanje podataka. OS preslikava fajl na fizički uređaj. • Za korisnika, fajl je najmanja jedinica alokacije logičkog prostora na sekundarnoj memoriji: podaci se ne mogu smeštati izvan fajla • OS ne ulazi u tumačenje sadržaja i strukture fajla, osim za neke posebne vrste fajlova (npr. fajl - program). Strukturu fajla tumači onaj program koji ga je kreirao ili koji je u stanju da ga prepozna • Neki OS zahtevaju određenu strukturu svakog fajla koju u celini ili delimično tumače.

  5. Pojam fajla - atributi • Fajl, osim imena i sadržaja, opisuju i dodatni atributi, koji se čuvaju u kontrolnom bloku fajla (eng. file control block, FCB). • Atributi fajla (tipično): • simboličko ime (naziv) fajla: jedini atribut u ljudski čitljivoj formi • identifikator: jedinstveni interni identifikator fajla u sistemu • tip datoteke, pomoću koga OS određuje vrstu datoteke i po potrebi je povezuje sa nekom aplikacijom • lokacija: informacija o uređaju i mestu gde se fajl nalazi na njemu • veličina: trenutna veličina (u bajtovima, rečima ili blokovima)

  6. Pojam fajla - atributi • Atributi fajla - nastavak: • zaštita: informacije o pravima pristupa fajlu (ko sme da ga čita, piše, briše, izvršava itd.) • datum, vreme i korisnik koji je kreirao, poslednji modifikovao ili poslednji pristupao fajlu • Informacije o fajlovima čuvaju se u strukturi direktorijuma (katalog, imenik) • Datoteke, podela: izvršne i sa podacima

  7. Pojam fajla - operacije • Osnovne operacije sa fajlom – usluge OS (sistemski pozivi): • Kreiranje (create) fajla: alociranje prostora za smeštanje fajla i formiranje ulaza u direktorijumu • Upis (write) u fajl - parametri: ime fajla i podaci za upis. Traži se fajl sa datim imenom, na poziciju pokazivača za upisdatog fajla upisuju se dati podaci i na kraju, pokazivač se pomera na novo mesto

  8. Pojam fajla - operacije • Čitanje (read) iz fajla; parametri: ime fajla i mesto u OM za smeštanje pročitanih podataka; sa pozicije pokazivača za čitanjedatog fajla čitaju se podaci i pokazivač pomera na novo mesto; obično su pokazivači za čitanje i upis isti, tj. postoji samo jedan pokazivač trenutne pozicije za fajl (current-file-position pointer) • Pozicioniranje pokazivača na novo mesto (seek) • Brisanje fajla (delete): prostor koji je zauzimao fajl se proglašava slobodnim i briše se ulaz u direktorijumu

  9. Pojam fajla - operacije • Ostale operacije sa fajlom – usluge OS (sistemski pozivi): • Odsecanje (truncate): brisanje sadržaja fajla, ali zadržavanje atributa (osim veličine koja se postavlja na 0) • Preimenovanje (rename) fajla • Dodavanje informacija na kraj fajla (append): upis podataka na kraj fajla • Kopiranje (copy) fajla • Promena atributa fajla • Većina ovih operacija zahteva pretragu direktorijuma za ulazom za fajl sa datim imenom i dobijanje lokacije i ostalih atributa fajla – pristupa se disku, neefikasno!

  10. Pojam fajla - otvaranje • Rešenje: kada program želi da pristupa fajlu, prvo mora da pozove sistemsku uslugu otvaranja fajla (file open): • OS vodi tabelu otvorenih fajlova; za svaki otvoreni fajl, ulaz u ovoj tabeli čuva sve potrebne informacije o fajlu (atribute, posebno lokaciju i pokazivač trenutne pozicije) • sistemska usluga otvaranja fajla radi sledeće: • pronalazi fajl u strukturi direktorijuma • otvara novi zapis (red) u tabeli otvorenih fajlova • učitava atribute fajla u ulaz (zapis, red) u tabeli otvorenih fajlova • opciono proverava prava pristupa do fajla u odnosu na pristup zahtevan pri otvaranju fajla • vraća indeks ili pokazivač na ulaz u tabeli otvorenih fajlova

  11. Pojam fajla - otvaranje • svako sledeće obraćanje fajlu iz programa, tj. sve ostale operacije nad otvorenim fajlom koriste ID ulaza u tabeli otvorenih fajlova, a ne ime fajla – nema pretrage direktorijuma, efikasan pristup do atributa fajla • nakon upotrebe, fajl se mora zatvoriti, da bi se zapis (red, ulaz) uklonio iz tabele otvorenih fajlova

  12. Pojam fajla - zaključavanje • Koncept zaključavanja fajla (file locking): • jedan proces traži da zaključa fajl; ako nijedan drugi proces nije zaključao fajl, proces će dobiti ključ i nijedan drugi proces neće moći da dobije ključ nad fajlom • modaliteti zaključavanja - dve vrste ključa: • deljeni (shared) i ekskluzivni (exclusive): više procesa može imati deljeni ključ ili samo jedan može imati ekskluzivni ključ • obavezni ključ (fajl se zaključava pri otvaranju) ili neobavezni ključ (fajl se zaključava na eksplicitan zahtev)

  13. Pojam fajla – tip fajla • Pojam tipa fajla: OS može, ali ne mora da poznaje koncept tipa fajla; ako ga poznaje, može da kontroliše upotrebu fajla • Način smeštanja informacije o tipu: • u ekstenziji imena fajla (Windows – ime.tip) • kao poseban atribut fajla (postavlja se prilikom kreiranja - Mac OS) • u samom sadržaju fajla (UNIX/Linux: magični broj (magic number) koji se nalazi na početku fajla)

  14. Pojam fajla - struktura • Interno strukturiranje fajla: • smeštanje informacija na disku je uvek u jedinicama fiksne veličine – blokovi, klaster (ceo broj X veličina sektora, npr. 8 x 512B = 4 KB) => interna fragmentacija • logički, fajl se može posmatrati kao: • nestrukturiran: sekvenca (niz) bajtova sa mogućnošću direktnog pristupa svakom bajtu • strukturiran u logičke zapise fiksne ili promenljive veličine, npr. red u tekstualnom fajlu

  15. Direktorijum • Na jedan disk se može smestiti veliki broj fajlova koji se grupišu u posebne strukture koje se nazivaju direktorijum (directory) ili folderi. • Direktorijumi se u okviru sitema datoteka moraju implementirati tako da obezbeđuju efikasno pronalaženje fajlova i prostora za nove, što se postiže tehnikama Heš i B+ stabla. • Tipične operacije nad direktorijumom: • prikazivanje sadržaja direktorijuma • pronalaženje fajl sa datim imenom ili sa imenima koja zadovoljavaju dati kriterijum (search) • kreiraj fajl i dodaj u direktorijum • obriši fajl i izbaci iz direktorijuma • promena imena fajla itd.

  16. Direktorijum • Disk se može podeliti na delove - particije (partitions) • Svaka particija može da sadrži poseban fajl sistem ili da bude rezervisana za zamenu (swap space) • Particija može da zauzima i više fizičkih diskova • Više particija može da se kombinuje u veću celinu – volumen (volume); fajl sistem se može kreirati na jednom volumenu • Svaki volumen ili particija mora da sadrži informacije o fajlovima na sebi • Direktorijum je imenik fajlova – sadrži kontrolne blokove svih fajlova koji su u njemu logički smešteni.

  17. Direktorijum - struktura • Najjednostavnija struktura direktorijuma – u jednom nivou: • svi fajlovi su u istom (jedinom) direktorijumu • fajl mora imati jedinstveno ime u direktorijumu, pa i u celom sistemu • mnogo fajlova smanjuje preglednost • fajlovi se ne mogu organizovati u logičke celine • krajnje nepraktično, posebno za više korisnika

  18. Direktorijum - struktura • Direktorijum u dva nivoa: 1. nivo – glavni direktorijumi2. nivo - direktorijumi za svakog korisnika • Veoma problematično: • fajlovi jednog korisnika su nestruktuirani i nepregledni • kako deliti fajlove? kako pristupati fajlovima drugog korisnika? - imenovanje punom stazom (npr. volume/user/file) • kako pristupati sistemskim fajlovima? – složenijom pretragom: ako se fajl ne nađe u direktorijumu tekućeg korisnika, traži se u sistemskom ili u spisku staza za pretragu (search path)

  19. Direktorijum - struktura • Uopštenje: dozvoliti hijerarhijsku strukturu direktorijuma oblika stabla proizvoljne dubine: • korisnik može manipulisati strukturom proizvoljno • svaki fajl je jedinstveno određen punom stazom od korena • direktorijum je takođe fajl, samo što se posebno tretira – ima strogo određenu internu strukturu koju tumači fajl sistem OS-a

  20. Direktorijum - struktura • Svaki fajl ima svoje ime i putanje. • Putanja može biti: • apsolutna, ako je izražena u odnosu na početni (koreni – root) direktorijm (npr: cd \windows\system32 – Windows način) • relativna, ako je izražena u odnosu na tekući direktorijum (npr: cd etc/apache2 – Linux način) • Staze, putanje do fajla: • otvaranje fajla samo po imenu traži fajl u tekućem direktorijumu • fajl se može naći zadavanjem apsolutne ili relativne putanje

  21. Deljenje fajlova • Mogućnost deljenja fajlova i direktorijuma. • Deljenje fajlova se obavlja po strogo definisanim pravilima koji obuhvataju i zaštitu fajlova. • Sihronizacija višeprocesnog istovremenog pristupa fajlu – u jednom trenutku više procesa može da čita datoteku, ali samo jedan proces može da upisuje ili menja sadržaj fajla.

  22. Deljenje fajlova • Udaljeni (remote) fajl sistemi – pristup fajlovima preko mreže: • File Transfer Protocol (FTP): protokol koji obezbeđuje operacije za prenos fajlova između udaljenih fajl sistema; anonimni (anonymous) ili autorizovani pristup fajlovima • distribuirani fajl sistemi (DFS): udaljeni direktorijumi se vide kao i lokalni • WWW - World Wide Web • Klijent/server (client/server) arhitektura • Tolerancija otkaza kod udaljenog pristupa fajlu • Očuvanje konzistentnosti kod konkurentnog pristupa fajlu - algoritmi sinhronizacije procesa

  23. Zaštita - Linux • U Linux-u se definišu tri vlasničke kategorije i to: • vlasnik (owner): korisnik koji je kreirao fajl; podrazumevano ima pravo da vrši sve operacije sa fajlom i da daje prava drugima • grupa (group): skup korisnika koji su imenovani kao grupa korisnika, dele fajl izvršavajući slične operacije i imaju pravo na podskup operacija nad fajlom • ostali (others): svi ostali, nisu ni vlasnik ni grupa, imaju pravo na podskup operacija sa fajlom • UNIX/Linux: po tri bita (rwx – read, write, execute) za vlasnika, grupu i ostale određuju prava izvršavanja ove tri operacije

  24. Značenje za fajlove: read (r) – samo za čitanje sadržaja fajla write (w) – samo za pisanje, izmene fajla execute (x) – fajl se može izvršavati Značenje za direktorijume: read (r) – čitanje sadržaja direktorijuma write (w) – mogu se dodavati i brisati fajlovi i poddirektorijumi execute (x) – korisnik se može pozicionirati u direktorijum, prikazati sadržaj direktorijuma i pretraživati direktorijum. rwx rwx rwx = 111 111 111 r-- r-- r-- = 100 100 100 rw- rw- r-- = 110 110 100 Zaštita - Linux

  25. Zaštita - Windows • Administrator Windows XP/Vista/7 formira korisničke grupe (user group) i u njih učlanjuje korisnike (user account) i druge grupe. • Samo ako je fajl sistem NTFS, tipovi pristupa fajlovima (dozvole za rad sa fajlovima, folderima): • čitanje (read) • upis (write) • izvršavanje (execute): učitavanje fajla u memoriju i izvršavanje kao programa • izmene (modify): read + write + execute i pojedinačne dozvole za brisanje • puna kontrola (full control): sva prava, uključujući mogućnost dodele i oduzimanja NTFS dozvola i preuzimanje vlasništva • List Folders Contents – omogućeno da korisnik vidi sadržaj direktorijuma - foldera

  26. Zaštita- Windows • NTFS dozvole se dodeljuju ili oduzimaju korisnicima i grupama, pri čemu svaki korisnik (ili grupa) predstavlja jedan zapis u tabeli (Access Control Entry, ACE) a skup svih dozvola korisnika – lista za kontrolu pristupa (access control list, ACL) • Grupe i korisnici se u ovim tabelama predstavljaju numeričkim vrednostima SID (Security Identifiers) koje ih jednoznačno identifikuju.

  27. Izgled ploče diska - podsećanje

  28. Tvrdi disk - podsećanje pokretna ruka cilindar magnetna glava ploča sektor

  29. Fajl sistemi • Fajl sistemi obično počivaju na sekundarnim memorijskim medijumima (diskovi) koji permanentno čuvaju veliku količinu podataka • Primarne karakteristike diskova koje ih čine pogodnim: • blok-orijentisani uređaj sa mogućnošću čitanja i upisa: pročitaj blok u memoriju, izmeni ga, upiši ga na disk; blok tipično sadrži nekoliko sektora, a veličine sektora su od 32B do 4KB, tipično 512B • uređaj sa direktnim pristupom bilo kom bloku, samo uz potrebu pomeranja glave diska i čekanja na rotaciju

  30. Fajl sistemi • Implementacije fajl sistema jako variraju i sve imaju svoje specifičnosti. Ovde se prikazuju samo neki osnovni principi • Postoji mnogo fajl sistema u upotrebi, a jedan isti OS može podržavati i više fajl sistema. Npr. UNIX – UFS; Windows NT, XP, Vista – FAT, FAT32 i NTFS; Linux – preko 40 fajl sistema, bazični je extended file system (ext2, ext3); CD-ROM (ISO 9660), DVD, flopi disk, ...

  31. Fajl sistemi - Linux • Nema slovne oznake za particije. Na vrhu je korenski direktorijum (root - /). Svaki direktorijum može imati drugi fajl sistem. • Linux fajl sistemi: • Minix – najstariji, i verovatno najpouzdaniji UNIX-ov sistem fajlova • ext2 – visoke performanse, pouzdan, podrazumevan na Linux sistemima • ext3 – ext2 proširen sa dnevnikom transakcija – praćenje svih promena u fajl sistemu i njihovo beleženje (dnevnik) radi povećanje pouzdanosti. • ReiserFS – 8 do 15 puta brži od ext2 pri radu sa fajlovima manjim od 1KB • XFS – brz pri radu sa velikim fajlovima • JFS – 64-bitni, razvijen prvo za IBM servere, dobar za rad sa ogromnim fajlovima

  32. Fajl sistemi - Linux

  33. Fajl sistemi – Windows, DOS • FAT (File Allocation Table) – jednostavan fajl sistem, realizovan u vidu FAT tabele sa 16-bitnim adresiranjem. • FAT tabela je mogla da adresira maksimalno 16535 klastera (npr. klaster 32KB, max = 16535 x 32 KB = 529.120 KB = 516,7 MB) veliki gubici kroz internu fragmentaciju • Ime fajla se zadaje u formatu 8.3 – 8 znakova za ime i 3 znaka za tip • Atributi fajla: H (hidden) – skriven, R (read-only) – samo za čitanje, S (system) – sistemska i A (archive) – namenjeni za izradu rezervne kopije podataka

  34. Fajl sistemi - Windows • FAT32 – proširenje FAT, omogućeno 32-bitno adresiranje, veličina klastera smanjena, smanjena interna fragmenatacije, rad sa diskovima većeg kapaciteta. • FAT i FAT32 koristi i Linux • NTFS (New Technology File System) – pored standardnih atributa sadrži i proširene, namenjen za rad u mrežnom okruženju, mogućnost upravljanja pravima pristupa fajlu korisnicima i grupama, maksimalna veličina NTFS volumena od 2TB do 16TB, manji klasteri, mogu-ćnost šifrovanja sadržja fajla, mogućnost kompresije ... • Svaki fajl u NTFS fajl sistemu je opisan pomoću jednog ili više zapisa u okviru posebnog fajla – MFT (Master File Table) • Postoje dve MFT tabele. • Linux čita NTFS, pisanje – na svoju odgovornost

  35. Struktura fajl sistema • Strukture podataka fajl sistema na disku potrebne da se realizuje fajl sistem (FS): • boot control block: na svakom volumenu tipično prvi blok na disku; sadrži informacije kako podići OS sa tog volumena; ako volumen nije butabilan, ovaj blok je prazan (UNIX FS: boot block, NTFS: partition boot sector) • volume control block: na svakom volumenu ili particiji sadrži globalne informacije o volumenu, kao što su broj blokova, veličina bloka, broj slobodnih blokova, pozakivač na prvi slobodni blok, broj slobodnih FCB (File Control Block), pokazivač na prvi slobodni FCB itd. (UFS: superblock, NTFS: master file table)

  36. Struktura fajl sistema • Particija može biti: • “presna” (“raw”) - ne sadrži fajl sistem: još nije uspostavljen fajl sistem (pre formatizacije, formatting) ili za posebne namene (npr. swap space ili za bazu podataka) • “pečena” (“cooked”) ili formatizovana (formatted)- sadrži fajl sistem • boot – niz blokova u posebnom formatu koji se direktno učitavaju u memoriju i pokreće izvršavanje sa tačno određene lokacije u cilju učitavanja operativnog sistema • korena (root) – sadrži OS kernel i druge sistemske fajlove

  37. Struktura fajl sistema • Mogućnost podrške više fajl sistema: dual-boot, svaka particija različiti fajl sistem, montiranje i udaljeni fajl sistemi • Problem: kako efikasno omogućiti ovakvu heterogenost i transparentno ponuditi sve fajl sisteme u istoj lokalnoj strukturi direktorijuma?

  38. Virtual Table f(Object*) ... ... VTP Object(struct) g(Object*) ... ... Struktura fajl sistema • Virtuelni fajl sistem (virtual file system): OO pristup izolaciji različitosti fajl sistema iza istog interfejsa – polimorfizam i dinamičko vezivanje File vnode inode LocalFile RemoteFile

  39. Metode alokacije • Problem: kako alocirati prostor (blokove) i smeštati mnogobrojne fajlove na disku • Pogodnost: direktni pristup bilo kom bloku • Metode: • kontinualna alokacija • ulančana alokacija • indeksirana alokacija • Kontinualna alokacija: • svaki fajl zauzima kontinualan niz blokova na disku • FCB sadrži samo broj prvog bloka i ukupan broj blokova koje fajl zauzima • direktan pristup i-tom bloku fajla je jednostavan: ako fajl počinje na bloku b diska, blok i fajla je u bloku diska b+i

  40. Metode alokacije • Varijanta ulančane alokacije: File-Allocation Table (FAT, MS-DOS, IBM OS/2): • poseban deo svake particije zauzima FAT koja ima po jedan ulaz za svaki fizički blok na disku • svaki ulaz sadrži pokazivač na sledeći ulaz u lancu • direktorijum sadrži iste informacije kao i kod osnovne varijante • u suštini, pokazivači za ulančane liste se umesto u blokove smeštaju u FAT; blokovi sadrže samo podatke

  41. Metode alokacije • FAT – pogodnosti: jednostavni i efikasni algoritmi, uključujući i za direktan pristup ako je FAT keširan u memoriji ili je njegov veći deo u jednom bloku • Mane: • ako FAT nije ceo u memoriji, može da uzrokuje mnogo šetanja glave diska za pristup susednim blokovima • veoma osetljiv na otkaze - bilo kakvo oštećenje u FAT uzrokuje velike štete

  42. Izgled ploče diska - podsećanje

  43. Defragmentacija • Fragmentacija fajlova je pojava da delovi (fragmenti) fajla, prilikom upisa na površinu ploča diska, ne obrazuju sekvencijalni (jedan za drugim) niz blokova (klastera) na površini ploča diska. • Čitanje i pisanje duže, glava diska se češće pomera. Treba svesti na minimum • Rešenje: defragmentacija fajl sistema – fragmenti (delovi) fajla se smeštaju jedni uz druge, obrazuju sekvencijalni niz blokova (klastera) • Koriste se posebni programi za defragmentaciju, mogu biti sastavni deo OS ili od nezavisnih proizvođača. • Opasnost: u slučaju nestanka napajanja, može doći do gubitka ili oštećenja podataka.

  44. Defragmentacija • Pre defragmentacije proveriti sam fajl sistem, skeniranje a povremeno proveriti i površinu ploča diska – da li ima bad sectors?

  45. Efikasnost i performanse • Fajl sistem i disk (HDD) su izuzetno osetljivi delovi i najčešće usko grlo u performansama sistema. Zato je potrebna njihova pažljiva konstrukcija i optimizacija • Neki aspekti i tehnike: • prealokacija FCB-a na disku; unapred alocirati FCB-ove na volumenu (UNIX) kako bi kasnije operacije bile efikasnije • locirati susedne blokove za isti fajl kako bi vreme pristupa bilo što kraće • upotreba klastera različite veličine radi smanjenja interne fragmentacije: npr. manji klaster za male fajlove i za kraj fajla

  46. Efikasnost i performanse • upotreba dinamičkih strukura neograničene dimenzije umesto ograničenih struktura sa statičkim dimenzijama • keširanje praktično neizostavno; za sekvencijalni pristup, read-ahead keširanje: učitavanje bloka unapred • asinhroni upis podataka

  47. Oporavak od otkaza • Mnoge informacije o strukturi fajl sistema na disku čuvaju se u kešu u memoriji. Šta se dešava ako sistem otkaže pre nego što te podatke snimi na disk? – Otkaz, oštećenje fajl sistema • Potreba za pokretanjem posebnih programa za oporavak od otkaza: analiziraju nekonzistentnu strukturu fajl sistema i pokušavaju da je restauriraju (UNIX - fsck, MS-DOS - chkdsk). Uspeh zavisi od fajl sistema i veličine problema • Jedan pristup povećanju otpornosti na otkaze – sinhroni upis podataka na disk • Obavezno redovno arhiviranje kopija (backup): • kompletan • inkrementalan – samo promene od zadatog datuma i vremena

More Related