P-UpravljanjeFajlovima 2 2005 06

Embed Size (px)

Citation preview

  • Fakultet informacijskih tehnologija

    [email protected]

    UOS::Predavanja Copyright by: FIT

    1

    Datum: 12.05.2006

    Predavanje

    Uvod u Operativne Sisteme

    Sadraj

    Upravljanje Fajlovima (dio 2)

  • Fakultet informacijskih tehnologija

    [email protected]

    UOS::Predavanja Copyright by: FIT

    2

    OS Aktivnosti Vezane Za Upravljanje Fajlovima Kreiranje i brisanje fajlova Kreiranje i brisanje direktorija Podrka odreenih rutina za manipuliranje fajlovima i direktorijima Mapiranje fajlova na sekundarnu memoriju Backup fajlova na stabilne medije vanjske memorije Metode Pristupa Podacima u Fajlovima Informacijama u fajlovima se moe pristupiti na vie naina: Metoda Sekvencijalnog pristupa informacije u fajlu se procesiraju u redoslijedu, jedan rekord nakon drugog. Ovo je i najee koritena metoda pristupa (editori i kompajleri pristupaju fajlovima na ovaj nain). Ova metoda funkcionie tako to read operacija ita sljedei dio fajla, dok write operacija na slian nain pie na kraj fajla: read next write next

    Sekvencijalni pristup, koji je prikazan na sljedeoj slici, baziran je na modelu fajla kod trake (tape), i funkcionie dobro kako na ureajima sa sekvencijalnim pristupom, tako i na ureajima sa random (sluajnim) pristupom.

    Slika: Sekvencijalni pristup fajlu (Lit. br. 2) Metoda Direktnog pristupa bazirana na modelu fajla kod diska, jer diskovi dozvoljavaju random pristup bilo kojem bloku fajla. Po ovoj metodi, fajl se posmatra kao numerisana sekvenca blokova ili rekorda. Ovaj pristup dozvoljava blokovima da budu itani ili pisani u bilo kojem redoslijedu: read n write n

    n = relativni broj bloka Na primjer, moemo najprije itati blok broj 14, nakon toga blok broj 44, a nakon njega blok 32.

  • Fakultet informacijskih tehnologija

    [email protected]

    UOS::Predavanja Copyright by: FIT

    3

    Fajl Struktura Fajlovi mogu biti struktuirani na vie naina. Tri najee opcije su prikazane na sljedeoj slici:

    Slika: Tri vrste fajla: a) byte sekvenca, b) record sekvenca, c) drvo (Lit. br. 3)

    Na slici a) prikazana je nestruktuirana sekvenca byte-a. Operativni sistem u ovom sluaju nezna, i ne mari ta se nalazi u fajlu. Sve to OS vidi su byte-i. Bilo koje znaenje ovih mora biti nametnuto od strane korisnikih programa. UNIX i Windows operativni sistemi koriste ovu strukturu. Na slici b) je prikazan model po kojem je fajl sekvenca rekorda iste veliine, svaki od kojih ima neku internu strukturu. Niti jedan operativnih sistema generalne namjene ne funkcionie vie na ovaj nain. Na slici c) prikazana je fajl struktura po kojoj se fajlovi sastoje od stabla rekorda koji ne moraju biti iste veliine. Direktoriji Radi pohranjivanja informacija u vezi fajlova, fajl sistemi obino posjeduju direktorije ili foldere, koji su u mnogim sistemima implementirani kao posebna vrsta fajlova.

    Direktorij sistemi jednog nivoa Najjednostavniji oblik direktorij sistema je kada imamo samo jedan direktorij koji sadri sve fajlove. Ovaj sistem je bio est kod prvih PC kompjutera.

  • Fakultet informacijskih tehnologija

    [email protected]

    UOS::Predavanja Copyright by: FIT

    4

    Slika: Primjer direktorij sistema jednog nivoa koji sadri 4 fajla iji su vlasnici tri razliite

    osobe: A, B, i C (Lit. br. 3)

    Prednosti ovog direktorij sistema:

    Jednostavnost implementacije Brzo lociranje fajlova

    Mane ovog direktorij sistema:

    Ukoliko imamo vie korisnika postoji mogunost da razliiti korisnici koriste ista imena za njihove fajlove

    Direktorij Sistem od Dva Nivoa Poseban direktorij za svakog korisnika Kako bi se onemoguili konflikti prouzrokovani situacijom kada razliiti korisnici na istom sistemu izabiru ista imena fajlova, osmiljena je implementacija direktorij sistema koja svakom korisniku daje vlastiti direktorij:

    Slika: Direktorij sistem od dva nivoa; Slova indiciraju vlasnike fajlova i direktorija (Lit. br. 3)

    Prednosti ovog direktorij sistema:

    Razliiti korisnici mogu koristiti ista fajl-imena Moe biti koriten na multikorisnikom sistemu Ovaj sistem obino podrazumjeva potrebu neke od login procedura.

  • Fakultet informacijskih tehnologija

    [email protected]

    UOS::Predavanja Copyright by: FIT

    5

    Hijerarhijski Direktorij Sistem Direktorij sistem od dva nivoa eliminira konflikt fajl imena izmeu pojedininih korisnika, ali ipak nije zadovoljavajui za korisnike sa velikim brojem fajlova. Korisnici esto ele da svoje fajlove grupiraju skupa u logike cjeline koje bi im omoguile bolju organizaciju fajlova. Direktorij sistem s generalnom hijerarhijom rjeava gore navedeni problem. S ovim pristupom svaki od korisnika moe imati onoliko direktorija koliko mu je potrebno da na logiki nain grupira svoje fajlove.

    Slika: Hijerarhijski direktorij sistem (Lit. br. 3) Moderni operativni sistemi koriste hijerarhijski direktorij sistem. Osnovne Direktorij Operacije Meu osnovne direktorij operacije spadaju:

    1. Create 2. Delete 3. Opendir 4. Closedir 5. Rename

    Implementacija Fajl Sistema

    Fajl-sistemi su pohranjeni na disku Veina diskova dozvoljava podjelu u vie particija sa nezavisnim fajl sistemima Disk sektor broj 0 naziva se MBR (master boot record): koristi se za bootanje Kraj MBR-a sadri partition table, koja pohranjuje informacije o poetnoj i krajnjoj

    adresi svake od particija Jedna od particija u partition table je obiljeena kao aktivna

  • Fakultet informacijskih tehnologija

    [email protected]

    UOS::Predavanja Copyright by: FIT

    6

    Proces Boot-anja Sistema: 1. Kompjuter boota ita MBR; 2. MBR locira aktivnu particiju, ita prvi blok (boot blok); 3. Program u boot bloku uitava OS koji se nalazi u toj particiji

    Slika: Mogu izgled fajl sistema (Lit. br. 3)

    Implementacija Fajlova

    Vjerovatno najvanija stvar u vezi implementacije fajl pohrambenog mehanizma je praenje koji disk blokovi idu uz koje fajlove.

    Razliiti operativni sistemi koriste razliite metode implementiranja gore navedenog problema.

    Ovdje emo pogledati neke od metoda: a) Implementacija Fajlova: Kontinuirana Alokacija Najednostavnija alokaciona ema je ta da pohranimo svaki fajl kao kontinuirani niz disk blokova (jedan blok odmah nakon drugog). Na sljedeoj slici moemo vidjeti primjer ove alokacije.

    Parametri o fajl sistemu: magic broj, broj blokova u fajl sistemu itd.

  • Fakultet informacijskih tehnologija

    [email protected]

    UOS::Predavanja Copyright by: FIT

    7

    Slika: (a) Kontinuirana alokacija disk-prostora za 7 fajlova; (b) Stanje diska nakon brisanja D i F fajlova (Lit. br. 3)

    Na slici je prikazano prvih 40 disk blokova. Prvobitno disk je bio prazan. Nakon toga fajl A je bio upisan (saved). Nakon fajla A, fajl B je upisan, itd. Prednosti:

    Jednostavnost implementacije (koje dvije informacije su potrebne za pamenje blokova jednog fajla?)

    Odline read performanse (blokovi svakog fajla na disku pohranjeni jedan do drugoga nije potrebno pomicati glavu diska)

    Mana:

    Fragmentacija - vidi sliku b) Implementacija se trenutno koristi kod CD-ROM i DVD fajl sistema. b) Implementacija Fajlova: Alokacija Linkovane Liste Ovaj metod implementira fajlove tako to se svaki od fajlova pohranjuje kao linkovana lista disk blokova, kao to je prikazano na sljedeoj slici:

  • Fakultet informacijskih tehnologija

    [email protected]

    UOS::Predavanja Copyright by: FIT

    8

    Slika: Pohranjivanje fajla alokacijom linkovane liste blokova diska (Lit. br. 3) Kod ove implementacije prvi word svakog od blokova sadri informacije o lokaciji sljedeeg bloka. Prednosti:

    Nema fragmentacije (zato?) Za pamenje blokova svakog fajla potrebno je samo da unos u disk direktoriju

    sadri disk adresu prvog bloka Mana:

    Brzina itanja fajla c) Alokacija Linkovane Liste Koritenjem FAT Tabele u RAM-u Slaba strana alokacije linkovane liste (brzina itanja fajla) se moe eliminirati tako to informacije sadrane u poetnim word vrijednostima svakog od blokova fajla, stavimo u tabelu koja e biti pohranjena u glavnoj memoriji. Sljedea figura ilustrira funkcionalnost ove tabele.

  • Fakultet informacijskih tehnologija

    [email protected]

    UOS::Predavanja Copyright by: FIT

    9

    Slika: Alokacija linkovane liste koritenjem FAT tabele u glavnoj memoriji (Lit. br. 3)

    U gore prikazanoj slici imamo tabelu koja sadri informacije o dva fajla. Fajl A koristi blokove diska: 4, 7, 2, 10 i 12 i to u tom redosljedu, dok fajl B koristi disk blokove: 6, 3, 11 i 14 (u tom redosljedu). Koristei gore prikazanu tabelu, moemo poeti od bloka 4, te slijediti lanac do kraja fajla, koji je oznaen specijalnim brojem -1. Prednosti:

    itanje je bre od linkovane liste bez FAT tabele FAT tabela pohranjena u RAM-u; Pristup RAM-u puno bri nego itanje poetnih word vrijednosti svakog bloka koje se nalaze na hard disku

    Nedostatak:

    FAT zauzima dosta RAM-a (20-GB disk sa 1-KB blokovima zahtijeva 20 miliona unosa od 3-4 byta ~= 70MB RAM-a)

    Implementacija Direktorija

    Kada se fajl otvara OS locira direktorij u koji je fajl smjeten Direktorij unosi (entries): informacije o tome gdje se nalaze disk blokovi (ovisno o

    implementaciji: linkovana lista, kontinuirana alokacija, itd.) Veina sistema u direktoriju pohranjuje i atribute fajlova

    games atributi

    mail atributi

    news atributi

    work atributi

    Slika: Prikaz jednostavanog direktorija DOS/Windows implementacija (Lit. br. 3)

  • Fakultet informacijskih tehnologija

    [email protected]

    UOS::Predavanja Copyright by: FIT

    10

    Obrada i prijevod dijelova sljedee literature:

    1. Bajgori (2004), Operativni Sistemi: Knjiga 1 2. Silberschatz (2004), Operating System Concepts, 6th edition 3. Tanenbaum (2001), Modern Operating Systems, 2nd edition