Operativni Sistemi Zbirka Resenih Zadataka

  • View
    398

  • Download
    17

Embed Size (px)

Text of Operativni Sistemi Zbirka Resenih Zadataka

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    1/215

    Borislav oreviDragan Pleskonji

    Nemanja Maek

    Operativni sistemiZbirka reenih zadataka

    Via elektrotehnika kolaBeograd, 2004.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    2/215

    Autori: dr Borislav orevimr Dragan Pleskonji

    Nemanja Maek

    Recenzenti: prof. dr Borivoj Lazimr Slobodan Obradovi

    Izdava: Via elektrotehnika kola u Beogradu

    Za izdavaa: mr Dragoljub Martinovi

    Lektor: Milena Dori

    Tehnika obrada: Nemanja Maek, Borislav orevi, Dragan Pleskonji

    Dizajn: Jovana Lazovi (MASSVision)

    tampa: MST Gajitampano u 200 primeraka

    CIP ,

    004.451(075.8)(076)

    , Operativni sistemi: zbirka reenih

    zadataka / Borislav orevi, DraganPleskonji, Nemanja Maek. Beograd : Viaelektrotehnika kola, 2005 (Beograd : MSTGaji). VI, 205 str. ; 24 cm

    Tira 200. Bibliografija: str. 205.

    ISBN 86-85081-15-71. , 2. ,

    ) COBISS.SR-ID 120862988

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    3/215

    III

    Predgovor

    Zbirka reenih zadataka iz operativnih sistema je prvenstveno namenjenaosnovnom kursu iz nastavnog predmeta Operativni sistemi, koji autori izvode

    na Vioj elektrotehnikoj koli u Beogradu, a mogu je koristiti i studenti kojinastavu iz istog ili srodnih predmeta pohaaju na drugim fakultetima ili viimkolama, odnosno i svi koji ele da provere svoje znanje iz ove oblasti. Zbirku,takoe, mogu koristiti i nastavnici kao pomonu nastavnu literaturu potrebnukao struni podsticajpri izvoenju nastave iz predmeta Operativni sistemi.

    Zbirka je nastala kao rezultat viegodinjeg iskustva koje su autori stekliprilikom praktinog i teorijskog rada i izvoenja nastave na Viojelektrotehnikoj koli u Beogradu.

    Zbirka zadataka omoguava itaocima da potpuno i pouzdano shvate ibolje razumeju koncepte i algoritme koriene pri projektovanju pojedinihdelova savremenih operativnih sistema. Koncepti i znaajniji algoritmi,obraeni u ovoj knjizi, uglavnom su zasnovani na implementacijama u

    postojeim besplatnim i komercijalnim operativnim sistemima.

    Pretpostavljamo da itaoci koji ele da se bave izuavanjem ove materijepoznaju osnove arhitekture raunara, operativnih sistema i raunarskih mrea saaspekta prosenog korisnika, kao i osnovne strukture podataka i osnove

    programiranja na jeziku C.

    U zbirci su kroz pitanja i reene zadatke najpre obraeni konceptisavremenih operativnih sistema, a potom administracija Linux sistema. Na

    kraju zbirke priloeni su i primeri testova sa prvog i drugog dela ispita iznavedenog predmeta.

    Autori se zahvaljuju svima koji su na bilo kakav nain pomogli urealizaciji ove knjige.

    Autori

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    4/215

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    5/215

    V

    Sadraj

    PREDGOVOR ....................................................................................................III

    SADRAJ.......................................................................................................... V

    1. UVOD U OPERATIVNE SISTEME .............................................................. 1

    2. KERNEL, PROCESI I NITI ............................................................................ 7

    3. RASPOREIVANJE PROCESA I DODELA PROCESORA ..................... 14

    4. SINHRONIZACIJA PROCESA.................................................................... 27

    5. ZASTOJ......................................................................................................... 35

    6. UPRAVLJANJE MEMORIJOM .................................................................. 47

    7. VIRTUELNA MEMORIJA .......................................................................... 56

    8. ULAZNO-IZLAZNI PODSISTEM ............................................................... 67

    9. SEKUNDARNE MEMORIJE ....................................................................... 74

    10. SISTEMI DATOTEKA ............................................................................... 91

    11. DISTRIBUIRANI SISTEMI ..................................................................... 105

    12. ZATITA I SIGURNOST ......................................................................... 118

    13. KORISNIKI INTERFEJS ....................................................................... 121

    14. WINDOWS FAMILIJA OPERATIVNIH SISTEMA .............................. 123

    15. LINUX ....................................................................................................... 128

    16. MAC OS X ................................................................................................ 132A. ADMINISTRACIJA LINUX SISTEMA ................................................... 134

    Blok ureaji i administracija sistema datoteka................................................ 134

    Korisnici i grupe .............................................................................................. 140

    Vlasniki odnosi i prava pristupa.................................................................... 142

    Rad sa datotekama iz komandne linije ............................................................ 144

    Shell programiranje ......................................................................................... 150Backup i arhiviranje. Instalacija softverskih paketa. ...................................... 152

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    6/215

    VI

    Mreno okruenje ............................................................................................ 154

    tampanje i administracija tampaa.............................................................. 156

    Procesi ............................................................................................................. 158Podizanje i obaranje sistema ........................................................................... 160

    Konfigurisanje jezgra ...................................................................................... 161

    Disk kvote ........................................................................................................ 162

    Sigurnost i zatita............................................................................................ 163

    B. PRIMER TESTA SA PRVOG DELA ISPITA........................................... 165

    C. PRIMER TESTA SA DRUGOG DELA ISPITA ....................................... 198LITERATURA ................................................................................................ 209

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    7/215

    1

    1. Uvod u operativne sisteme

    Pitanja navedena u ovom poglavlju odnose se na osnovne pojmove,

    funkcije i karakteristike operativnih sistema, kao i na njihovu klasifikaciju

    prema razliitim kriterijumima. Razmotreni su pojmovi monolitnog ihijerarhijskog modela operativnog sistema, mikrokernel arhitektura,

    razdvajanje korisnikog i sistemskog reima rada, privilegovani instrukcijskiset i mehanizam sistemskih poziva.

    1.1. Koji su osnovni ciljevi koje je neophodno da operativni sistempostigne pri posredovanju izmeu korisnika i raunarskog sistema?

    Operativni sistem treba da:

    izvrava korisnike programe i olaka reavanje korisnikih problema,

    korienje raunarskog sistema uini podesnijim za korisnika,

    omogui efikasnije korienje hardvera raunarskog sistema.

    1.2. Navedite osnovne funkcije operativnog sistema.

    upravljanje poslovima (rasporeivanje i sekvenciranje poslova) i

    interpretacija komandnog jezika,

    upravljanje resursima,

    rukovanje ulazno/ izlaznim operacijama,

    rukovanje grekama i prekidima,

    viestruki pristup,

    zatita resursa od zlonamernih napada, sluajnih greaka korisnika i

    greaka u korisnikim programima i samom operativnom sistemu,

    obezbeivanje dobrog interfejsa zaoperatora i korisnika,

    obraun korienja raunarskih resursa.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    8/215

    2

    1.3. Navedite osnovne karakteristike operativnih sistema.

    konkurentnost, odnosno postojanje vie simultanih, paralelnih aktivnosti,

    kao to je koegzistencija vie programa u memoriji, deoba resursa,

    postojanje dugotrajne memorije,

    determinizam po pitanju izvravanja programa i nedeterminizam po

    pitanju optereenja.

    1.4. a. Definiite efikasnost i premaenje operativnog sistema.

    b. Na osnovu kojih kriterijuma se odreuje efikasnost operativnogsistema?

    (a) Efikasnost e je odnos vremena u kom procesor radi za korisnika i

    ukupnog vremena potrebnog da se odreeni posao ili grupa poslovaobavi, tj: e=tkorisno/tukupno (0

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    9/215

    3

    optereuje procesor i memoriju, ali optimizuje interakciju izmeu korisnika isistema i kao takav smatra se prihvatljivim gubitkom.

    1.7. Zato ne postoje viekorisniki jednoprocesni operativni sistemi?

    Viekorisniki operativni sistemi obezbeuju vie virtuelnih maina, tj.omoguavaju veem broju korisnika da koriste sistem istovremeno. Svakikorisnik u sistem donosi nove procese i zahteva njihovo izvrenje. U optemsluaju vie korisnika moe zahtevati izvrenje svojih procesa poev od istogtrenutka. Takvi procesi se moraju izvravati paralelno ili kvaziparalelno, to na

    jednoprocesnim operativnim sistemima nije mogue.

    1.8. Navedite primere (a) jednokorisnikih jednoprocesnih, (b)jednokorisnikih vieprocesnih i (c) viekorisnikih vieprocesnihoperativnih sistema.

    (a) MS-DOS

    (b) OS/2, Microsoft Windows 3.x/9x/ME

    (c) UNIX, Microsoft Windows 2000/XP/2003 sa terminal servisima

    (terminal services)

    1.9. Navedite najznaajnije karakteristike (a) operativnih sistema zapaketnu obradu, (b) interaktivnih operativnih sistema, (c) operativnih

    sistema sa deljenjem vremena, (d) real-time i (e) distribuiranih

    operativnih sistema.

    (a) Korisnici predaju svoje poslove na izvrenje posredstvom ulaznihjedinica. Poslovi se zatim odvijaju jedan za drugim u nizu, pri emukorisnik nema mogunost komuniciranja sa svojim poslom.

    (b) Sistem izvrava veliki broj manjih transakcija, takvih da je rezultatsledee transakcije u optem sluaju nepoznat.

    (c) Svakom korisniku, odnosno korisnikom programu dodeljuje se jedankvantum vremena centralnog procesora. Po isteku dodeljenog

    vremenskog kvantuma, proces se prekida, a procesor se dodeljuje

    sledeem procesu u redu ekanja.

    (d) Sistem prima informacije sa senzora i daje odziv u propisanom

    vremenskom intervalu.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    10/215

    4

    (e) Sistem deli zadatke obrade (izraunavanja) veem broju procesora kojine dele memoriju niti sistemski asovnik. Procesori meusobnokomuniciraju preko mree.

    1.10. U emu je osnovna razlika izmeu upitnih i transakcionih sistema?

    Krajnji korisnici upitnih sistema ne menjaju sadraj baze podataka. Krajnjikorisnici transakcionih sistema menjaju sadraj baze posle svake obavljenetransakcije. Modifikacije baze podataka su este, i uobiajeno se obavljajunekoliko puta u sekundi.

    1.11. U kom sluaju se korienje sistema sa deljenjem vremena smatra

    boljim reenjem od korienja personalnog raunara, odnosno radnestanice za jednog korisnika?

    Korienje sistema sa deljenjem vremena ima smisla:

    ukoliko je potrebno obezbediti deljenje istih resursa izmeu veeg broja

    korisnika,

    ukoliko su zadaci obrade veliki, tako da se ne mogu obaviti na

    personalnom raunaru u zadovoljavajuem roku.

    1.12. U emu je razlika izmeu simetrinog (SMP) i asimetrinogmultiprocesiranja u vieprocesorskim sistemima?

    SMP - svi procesori su ravnopravni (nema odnosna gospodar-rob) i svaki

    procesor izvrava istu kopiju operativnog sistema, pri emu te kopijemeusobno komuniciraju kad god je to potrebno. U idealnom sluaju, svakom

    procesoru se dodeljuje jedan proces koji se izvrava nezavisno od procesa naostalim procesorima.

    Asimetrino multiprocesiranje - svakom procesoru je dodeljen specifianposao. Glavni procesor (master) kontrolie ceo sistem i dodeljuje posloveostalim procesorima (slaves). Ovaj koncept je karakteristian za ektremno brzei velike sisteme.

    1.13. Koji je osnovni problem karakteristian za projektovanje real-timeoperativnih sistema?

    Projektant operativnog sistema mora obezbediti algoritme za rasporeivanje

    tako da odziv operativnog sistema ne premai propisane vremenske limite.Nepotovanje vremenskih limita moe izazvati krah real-timesistema.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    11/215

    5

    1.14. Bazu podataka sa prateom aplikacijom je potrebno postaviti na etiriservera. Kako se mogu udruiti ovi serveri ukoliko je potrebnoobezbediti (a) visoku pouzdanost, (b) visoke performanse?

    (a) Asimetrino - jedan vor (server) opsluuje zahteve, dok su ostali ubudnom, ali neaktivnom stanju. U sluaju otkaza glavnog servera, jedanod prateih servera preuzima ulogu glavnog servera.

    (b) Simetrino - svi serveri su aktivni i izvravaju aplikaciju (bazu).

    1.15. Koje funkcionalne grupe programa ine operativni sistem?

    upravljanje procesorom,

    upravljanje memorijom,

    upravljanje ulazom i izlazom,

    upravljanje podacima (datotekama),

    upravljanje sekundarnom memorijom,

    umreavanje,

    zatita,

    korisniki interfejs.

    1.16. Zato se u teorijskom modelu operativnog sistema (paper-model OS)sloj upravljanja datotekama nalazi iznad slojeva upravljanja ulazom i

    izlazom i upravljanja memorijom?

    1.17. U emu je razlika izmeu monolitnih i hijerarhijskih operativnihsistema?

    Operativni sistem monolitne strukture se sastoji od skupa procedura bez

    ikakvog grupisanja ili hijerarhije.

    Operativni sistem slojevite strukture se deli na vie slojeva, od kojih svaki imatano odreenu funkciju (upravlja tano odreenim resursima) i oslanja seiskljuivo na funkcije niih slojeva, kojima pristupa pomou poziva koji jeslian sistemskim pozivima. Slojeviti operativni sistem se deli u odreeni brojnivoa (N), od koji se svaki gradi na vrhu prethodnog nivoa. Najnii nivo (layer0) je hardver, a najvii nivo (layer N) je korisniki interfejs. Sa ovakvimmodularnim konceptom, svi nivoi koriste iskljuivo servise niih nivoa.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    12/215

    6

    1.18. a. Koja je osnovna karakteristika operativnih sistema sa mikrokernel

    arhitekturom ?

    b. Zato su ovakvi sistemi pouzdaniji od monolitnih?

    (a) Osnovna karakteristika operativnih sistema sa mikrokernel arhitekturom

    je postojanje minimalnog, pouzdanog jezgra visokih performansi. Sve

    druge funkcije jezgra potiskuju se u takozvani korisniki prostor irealizuju kao zasebni korisniki moduli koji se jednostavno mogu dodati

    bez uticaja na osnovno jezgro. Moduli izmeu sebe komuniciraju slanjemporuka (message passing).

    (b) Ovakav sistem radi pouzdanije jer se mnogo manje koda se izvrava u

    sistemskom reimu.

    1.19. Objasnite kako razdvajanje korisnikog i sistemskog reimafunkcionie kao poseban oblik zatite sistema.

    Programi se u korisnikom reimu (user mode) izvravaju na zahtev korisnika, au sistemskom reimu (monitor mode, kernel mode, system mode) na zahtevoperativnog sistema. Bit reima (mode bit) dodat raunarskom hardveruodreuje trenutni reim rada: monitor(0) ili user(1).

    Privilegovane instrukcije (kao to su instrukcije za rad sa ulazno-izlaznimureajima) mogu se izvriti jedino u sistemskom reimu. Operativni sistem imapristup privilegovanom setu instrukcija i pomou njega uspostavlja kontrolunad celim sistemom u svakom trenutku. Projektant operativnog sistema ne sme

    dozvoliti korisnikim programima da uspostave kontrolu nad raunarom ukorisnikom reimu - time se ostvaruje poseban oblik zatite sistema.

    1.20. Koja od sledeih instrukcija ne mora biti privilegovana: (a)postavljanje vrednosti tajmera, (b) oitavanje sistemskog asovnika,

    (c) brisanje memorije, (d) iskljuivanje prekida ili, (e) prelazak izkorisnikog u sistemski reim ?

    Instrukcija pomou koje se oitava sistemski asovnik ne mora bitiprivilegovana.

    1.21. Sledee instrukcije su privilegovane: (a) prelazak u korisniki reim,(b) prelazak u supervizorski reim, (c) itanje iz zatiene memorije,(d) upis u zatienu memoriju, (e) prihvatanje instrukcije iz zatiene

    memorije, (f) spreavanje prekida koji izaziva tajmer, (g)omoguavanje prekida koji izaziva tajmer. Odaberite minimalni skup

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    13/215

    7

    instrukcija koje moraju biti privilegovane, tako da se ne naruineophodan stepen zatite sistema.

    prelazak u supervizorski reim, itanje iz zatiene memorije,

    upis u zatienu memoriju,

    spreavanje prekida koji izaziva tajmer.

    1.22. Koja je uloga sistemskih poziva?

    Sistemski pozivi omoguavaju procesima koji rade u korisnikom reimu da

    zatrae uslugu operativnog sistema. Na taj nain korisniki program moe dazatrai izvrenje privilegovanih instrukcija, kao to je rad sa ulazno-izlaznimureajima. Sistemski pozivi se realizuju pomou sistema prekida: korisniki

    program postavlja parametre sistemskog poziva na odreene memorijskelokacije ili registre procesora i inicira prekid. Operativni sistem posle prekida

    preuzima kontrolu, uzima parametre, izvri traene radnje, rezultat stavlja uodreene memorijske lokacije ili registre i vraa kontrolu programu.

    1.23. Koja je uloga sistemskih programa?

    Sistemski programi su programi koji pomou sistemskih poziva obezbeujuneku osnovnu funkcionalnost korisnicima (kopiranje datoteka, rad sa ulazno-

    izlaznim ureajima itd.) omoguavajui im da obave neke uestale zadatke.

    1.24. Kako virtuelna maina odgovara na sistemske pozive?

    Sistemske pozive korisnikih programa primaju odgovarajui operativnisistemi, a hardverske operacije koje alju ti operativni sistemi prema svojim

    virtuelnim mainama prihvata monitor virtuelnih maina i realizuje ih u skladusa hardverom ispod sebe.

    2. Kernel, procesi i niti

    Pitanja navedena u ovom poglavlju odnose se na osnovne pojmove

    vezane za jezgro operativnog sistema i procese. Razmotrene su strukture

    neophodne za upravljanje procesima, stanja kroz koja proces prolazi u tokusvog "ivota" i odgovarajue tranzicije u dijagramu stanja, funkcije planera

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    14/215

    8

    poslova i dispeera sistema i osnovni mehanizmi za komunikaciju izmeuprocesa. Takoe su obraeni i osnovni pojmovi vezane za lake procese,odnosno niti, osnovni vienitni modeli i prednosti korienja vienitnih

    programa.

    2.1. Koji su hardverski preduslovi neophodni za realizaciju jezgra

    operativnog sistema, odnosno za nadograu hardvera jezgrom uhijerarhijskom modelu?

    mehanizam prekida (omoguava izvravanje kontrolnog programa,

    odnosno prebacivanje kontrole sa korisnikog programa na rutinuoperativnog sistema),

    zatitni mehanizam adresiranja memorije (spreava pogreno adresiranje,odnosno mogunost da jedan proces svoje podatke upie deo memorijedodeljen drugom procesu),

    privilegovani set instrukcija (omoguavaju operativnom sistemu da

    maskira prekide, dodeli procesor drugom procesu, pristupi zatienimmemorijskim adresama ili obavi ulazno-izlaznu operaciju),

    real-timeasovnik (omoguava zakazivanje i rasporeivanje poslova).

    2.2. Navedite osnovne delove jezgra prema modelu koji je definisao

    A.Lister.

    prvi nivo obrade prekida (rutine za odreivanje uzroka prekida i

    iniciranje odgovarajue prekidne rutine),

    dispeer sistema, odnosno planer poslova niskog nivoa (dodeljuje

    procesor procesima),

    rutine za ostvarivanje komunikacije izmeu procesa.

    2.3. ta je proces i ta sve obuhvata?

    Najjednostavnije reeno, proces je program ili deo programa u stanjuizvravanja. Proces je aktivna dinamika celina, koji obuhvata:

    tri fundamentalne memorijske sekcije: programsku ili tekst sekciju, u

    kojoj se nalazi kod, srek sekciju i sekciju podataka, koja sadri globalnepromenljive,

    vrednost programskog brojaa i vrednosti ostalih registara procesora kojisu od interesa,

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    15/215

    9

    ulazno-izlazne resurse koje eventualno koristi, kao to su, na primer,datoteke.

    2.4. ta je kontrolni blok procesa i ta je njime omogueno?

    Kontrolni blok procesa je deo operativne memorije, odnosno memorijska

    struktura koja sadri kontrolne informacije neophodne za upravljanje timprocesom (jedinstveni identifikator procesa - PID, kontekst, prioritet, trenutno

    stanje i informacije o resursima koje proces koristi). Pomou kontrolnog blokaomogueno je multiprogramiranje, odnosno viestruko prekidanje i nastavakizvrenja procesa.

    2.5. Ukratko opiite stanja u osnovnom dijagramu stanja procesa.

    START: nastanak procesa,

    READY: proces je spreman za rad, dobio je sve potrebne resurse osim

    procesora, i eka da mu dispeer dodeli procesor,

    RUN: procesor izvrava instrukcije tekueg procesa,

    WAIT: proces eka na neki dogaaj jer su mu za dalje izvrenje potrebni

    neki resursi koji mu trenutno nisu na raspolaganju,

    STOP: kraj izvrenja procesa.

    2.6. a. Definiite tranzicije RUN-WAIT i WAIT-READY.

    b. Da li je na jednoprocesnim sistemima mogua tranzicija RUN-WAIT?

    (a) RUN-WAIT: oduzimanje procesora procesu ukoliko je neki resurs

    neophodan za izvrenje procesa u meuvremenu postao zauzet ilinedostupan.

    WAIT-READY: proces se vraa na kraj procesorskog reda posleoslobaanja resursa koji je neophodan za njegovo izvrenje.

    (b) Tranzicija RUN-WAIT je mogua i u vieprocesnim i ujednoprocesnim operativnim sistemima. Na primer, u oba sluajatampanje ne moe da se nastavi dok se u tampa ne doda papir, s timto se u sluaju vieprocesnog sistema u stanje WAIT dovodi print

    spooler, a u sluaju jednoprocesnog proces koji je inicirao tampanje.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    16/215

    10

    2.7. a. Kada proces prelazi iz stanja RUN u stanje READY?

    b. Kada je ova tranzicija mogua?

    (a) Proces prelazi iz stanja RUN u stanje READY posle isteka vremenskogkvantuma.

    (b) Ova tranzicija je mogua samo ako operativni sistem podravapretpranjenje.

    2.8. Koji su mogui uzroci za suspendovanje procesa u proirenomdijagramu stanja procesa ?

    korisnik privremeno suspenduje proces da bi oslobodio resurse za

    izvrenje drugih procesa,

    operativni sistem suspenduje neke procese da bi spreio pojavu zastoja i

    efekat zasienja usled prevelike koliine keiranih podataka.

    2.9. Navedite situacije u kojima proces moe ostati bez procesora?

    isticanje vremenskog kvantuma,

    kreiranje novog procesa (dete proces), pri emu proces roditelj mora dasaeka da se proces dete izvri,

    prekid,

    postavljanje zahteva za ulazno-izlaznom operacijom, posle ega se

    prebacuje u red ekanja na ulazno-izlazne ureaje.

    2.10. Koje su osnovne funkcije (a) planera poslova i (b) dispeera sistama.

    (a) Planer poslova deli poslove na procese, procesima dodeljuje prioritet na

    osnovu odreenih algoritama i dovodi procese u red ekanja na procesor.

    (b) Dispeer sistema odliuje koji e proces, kada i koliko dugo dobitiprocesor. Prilikom zamene konteksta procesa, odnosno dodele procesora

    drugom procesu iz reda, dispeer pamti stanje procesa koji se prekida(kako bi se kasnije mogao nastaviti) i puni memoriju stanjem novog

    procesa kome se dodeljuje procesor.

    2.11. ta obavljaju sistemski pozivi fork i exec na UNIX sistemima?

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    17/215

    11

    Proces roditelj kreira novi proces pomou fork sistemskog poziva. Sistemskipoziv fork duplira kreira kopiju adresnog prostora roditelja i dodeljuje je

    detetu. Adresni prostor procesa deteta puni se programom koji treba da se izvri

    pomou sistemskog poziva exec.

    2.12. Koji su resursi unikatni za svaku nit, a koji su zajedniki sa ostalimnitima istog procesa.

    Unikatni resursi: identifikator niti (thread ID), vrednost programskog brojaa,vrednosti registra procesora, stek.

    Zajedniki resursi: kod sekcija, sekcija podataka, otvorene datoteke, signali.

    2.13. Navedite primere u kojima vienitnih procesi postiu boljeperformanse od jednonitnih procesa.

    Web server kod kog svaka nit opsluuje razliit zahtev (drugog klijenta),

    aplikacija koja obavlja aktivnosti koje se mogu izdeliti na manje

    podzadatke koje se mogu izvravati paralelno, kao to je mnoenjematrica,

    interaktivni programi koji rade u grafikom radnom okruenju.

    2.14. Navedite primere u kojima vienitnih procesi ne postiu boljeperformanse od jednonitnih procesa.

    programi iji se kod izvrava strogo sekvencijalno, odnosnone moe se

    izdeliti na manje podzadatke koje se mogu izvravati paralelno,

    komandni ioterpreter, kao to jeBourne-again shell.

    2.15. Koje su prednosti upotrebe vienitnih programa?

    Smanjenje vremena odziva - vienitna tehnika omoguava interaktivnimaplikacijama da nastave sa radom, ak i u sluaju da je deo programa

    blokiran ili da izvrava neku dugotrajnu operaciju,

    efikasnije deljenje resursa i ekonominost - na primer, deljenje kod

    segmenta omoguava da se veliki broj niti jedne aplikacije izvravakoristei isti adresni prostor. Takoe, kreiranje procesa i prebacivanjekonteksta je sporije od kreiranja niti, odnosno prebacivanja konteksta

    niti,

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    18/215

    12

    bolje iskorienje vieprocesorske arhitekture.

    2.16. Koje su osnovne razlike izmeu korisnikih i kernelskih niti?

    Za razliku od korisnikih, kernelske niti ne moraju pripadati procesu.

    Rasporeivanje procesora korisnikim nitima obavlja biblioteka za rad sa

    korisnikim nitima, dok rasporeivanje za kernelske niti obavljaprocesor.

    Kernel nije svestan korisnikih niti - potpuna podrku za rad sakorisnikim nitima obezbeuje posebna biblioteka.

    2.17. Objasnite koje akcije izvrava kernel prilikom prebacivanja kontekstaizmeu kernelskih niti ?

    Prebacivanje konteksta izmeu kernelskih niti obino obuhvata pamenjevrednosti registara procesa tekue niti i postavljanje vrednosti registara za nitkojoj e biti dodeljen procesor.

    2.18. Koji vienitni modeli postoje?

    model vie-u-jednu (vie korisnikih niti se mapira u jednu kernelskunit),

    model jedna-u-jednu (svaka korisnika nit se mapira u jednu kernelsku

    nit),

    model vie-u-jednu (vie korisnikih niti se mapira u manji ili isti brojkernelskih niti).

    2.19. Koji se resursi obino troe prilikom kreiranja niti?

    Kreiranje korisnike, odnosno kernelske niti, obino zahteva malu strukturupodataka u koju e biti smetene vrednosti registara, stek i prioritet niti.

    2.20. Napiite Win32 program koji generie niz prostih brojeva na sledeinain: korisnik najpre unosi broj, a zatim posebna nit generie rastuiniz uzastopnih prostih brojeva manjih ili jednakih unetom broju..

    2.21. Napiite Win32 program koji obavlja vienitnu kriptoanalizu ifrata"brutal-force" metodom. Svaka od osam niti treba da obavlja pretraguzasebne oblasti polja kljueva (kljuevi su 64-bitni).

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    19/215

    13

    2.22. a. Koja je funkcija sistemskog poziva clonena Linux sistemu?

    b. U emu je razlika izmeuforki clonesistemskih poziva?

    (a) Sistemski poziv clonekreira Linux niti.

    (b) Oba poziva kreirae procese decu. Sistemski poziv fork kreira kopijuadresnog prostora procesa roditelja i dodeljuje je detetu na korienje. Poslesistemskog poziva clone, roditelj i dete postaju niti koji dele isti adresni

    prostor.

    2.23. Koje se metode koriste za ostvarivanje komunikacije izmeu procesa?

    slanje poruka,

    semaforske tehnike,

    monitori,

    pozivi udaljenih procedura.

    2.24. U emu je razlika izmeu sinhronog i asinhronog slanja i primanjaporuka?

    Ukoliko je slanje poruka blokirajue, proces koji alje poruke se blokira, dokdrugi proces kom je ta poruka namanjena ne primi poruku. Ukoliko je slanje

    ne-blokirajue, proces koji alje poruku nastavlja svoje aktivnosti ne ekajuipotvrdu o prijemu. Ukoliko je primanje poruke blokirajue, proces koji primaporuku se blokira sve dok poruku ne dobije. Ukoliko je primanje poruke

    neblokirajue, proces e pokuati da primi poruku; ako je poruka stigla, primaje, a ako nije, kao rezultat se prihvata prazan niz, a proces nastavlja da radi

    dalje bez blokade

    2.25. U emu je razlika izmeu direktne i indirektne komunikacije?

    Direktna komunikacija:

    izmeu para procesa koji ele da komuniciraju automatski se uspostavljalink,

    link se uspostavlja samo za dva procesa.

    Indirektna komunikacija:

    link se uspostavlja izmeu para procesa koji dele sandue, linku se mogu pridruiti vie od dva procesa,

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    20/215

    14

    izmeu para procesa moe postojati vie razliitih linkova; svaki linkodgovara jednom sanduetu.

    2.26. ta je prikljuak (socket) i pomou kojih se parametara definie?

    Socket se definie kao krajnja taka komunikacije. Par procesa kojikomuniciraju preko mree formiraju par prikljuaka, po jedan za svaki proces,na svakoj strani mree. Socketse definie pomou IP adrese raunara na komese formira i broja porta. Mehanizam prikljuaka funkicionie na principuklijent-server arhitekture: server oslukuje portove analizirajui da li je stigaoneki zathev od klijenata na tom portu. Kada zahtev stigne, server pruaodgovarajui servis.

    2.27. ta su pozivi udaljenih procedura i ta je njima omogueno?

    Pomou poziva udaljenih procedura procesu se omoguava da pozoveproceduru na drugom raunaru. Komunikacija izmeu procesa ostvaruje seslanjem poruka, parametara i rezultata obrade izmeu stubstruktura formiranihna klijentskoj i serverskoj strani.

    3. Rasporeivanje procesa i dodela procesora

    Pitanja navedena u ovom poglavlju odnose se na osnovne pojmove

    vezane za rasporeivanje procesa i dodelu procesora. Razmotreni su znaajnijialgoritmi prema kojima planer poslova niskog nivoa (dispeer) bira proces izreda ekanja na procesor. italac moe proveriti svoje znanje samostalnomizradom zadataka koji su navedeni u ovom poglavlju.

    3.1. Algoritmom za rasporeivanje procesa odreen je red izvrenjaprocesa koji ekaju na dodelu procesora. Ukoliko se na sistemu nalazin procesa, koliko postoji razliitih rasporeda za izvrenje procesa?

    Postoji n! = n(n-1)(n-2)... 21 moguih rasporeda.

    3.2. ta je svrha multiprogramiranja?

    Svrha multiprogramiranja je u tome da na sistemu uvek postoji proces koji se

    izvrava, odnosno da se procesor maksimalno iskoristi.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    21/215

    15

    3.3. U emu je razlika izmeu rasporeivanja sa pretpranjenjem irasporeivanja bez pretpranjenja ?

    U sluaju rasporeivanja sa pretpranjenjem, procesor se moe oduzeti procesukoji nije zavrio svoje aktivnosti (na primer, ukoliko istekne vremenskikvantum za dodelu procesora). U sluaju rasporeivanja bez pretpranjenja, tonije mogue.

    3.4. a. Pod kojim okolnostima se procesor dodeljuje drugom procesu?

    b. Koje od tih okolnosti zahtevaju pretpranjenje?

    (a) Procesor se dodeljuje drugom procesu ukoliko:

    tekui proces pree u stanje ekanja resurs (na primer, eka kraj ulazno -izlazne operacije koju je inicirao),

    proces roditelj eka da proces dete zavri svoje aktivnosti,

    tekui proces zavri svoje aktivnosti,

    tekuem procesu istekne vremenski kvantum,

    (b) Dodela procesora nakon isticanja vremenskog kvantuma.

    3.5. Koji kriterijumi utiu na izbor algoritama za rasporeivanje procesa?

    iskorienje procesora,

    propusna mo sistema,

    vreme potrebno za kompletiranje procesa (turnaround time),

    vreme ekanja u redu za dodelu procesora (waiting time),

    vreme odziva (response time).

    3.6. Pretpostavite da je Round Robin (RR) algoritam za rasporeivanjeimplementiran tako da su lanovi reda za dodelu procesora pokazivaina kontrolne blokove procesa (slika 3.1).

    a. Kakav se efekat postie stavljanjem dva pokazivaa na isti procesu red ekanja na procesor?

    b. Kako se moe modifikovati osnovni RR algoritam tako da se isti

    efekat postigne bez uvoenja dvostrukih pokazivaa?

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    22/215

    16

    Kontrolni

    blok

    procesa

    Kontrolni

    blok

    procesa

    Kontrolni

    blok

    procesa

    Kontrolni

    blok

    procesa

    Procesorski

    red

    Slik a 3.1 Procesorski red koji ine pokazivai na PCB

    (a) Postie se efekat slian poveanju prioriteta procesa, jer proces eedobija procesor na korienje.

    (b) Uvoenjem dva kvantuma razliita vremenska kvantuma, pri emu sevei kvantum dodeljuje procesima sa viim prioritetom, a manji

    procesima sa niim prioritetom.

    3.7. Pretpostavite da su na sistem u kom se rasporeivanje vri u vieprocesorskih redova uvedene razliite veliine vremenskih kvantumaza svaki red. Kako u tom sluaju treba rasporediti procese poredovima? Kakav je uticaj na efikasnost operativnog sistema?

    Procese koji zahtevaju ee opsluivanje od strane korisnika treba smestiti ured sa manjim kvantumom. Procese koji ne zahtevaju esto opsluivanje treba

    smestiti u red sa veim kvantumom, tako da se ukupan broj prebacivanjakonteksta smanji.

    Smanjivanjem ukupnog broja prebacivanja konteksta poveava se efikasnostoperativnog sistema.

    3.8. Kako se reava problem zakucavanja procesa niskog prioritetaukoliko se rasporeivanje procesa obavlja na osnovu prioriteta

    procesa?

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    23/215

    17

    Procesima se poveava prioritet sa vremenom provedenim u redu ekanja naprocesor. Rezultujui prioritet se formira na osnovu poetnog prioriteta kojiproces dobija kada ue u red ekanja na procesor i vremena provedenog u redu.

    3.9. Posmatrajte algortiram sa pretpranjenjem zasnovan na dinamikiizmenljivim prioritetima, takav da se vii prioritet oznaava veim

    brojevima prioriteta. Svim procesima se dodeljuje inicijalni prioritet 0

    kada uu u red ekanja na procesor. Ukoliko proces eka na procesor(stanje READY), prioritet mu se menja stepenom d1, a ako se

    izvrava (stanje RUN), prioritet se menja stepenom d2. Algoritam seprilagoava izmenom parametara d1 i d2.

    a. Koji se algoritam dobija ukoliko je d2>d1>0?b. Koji se algoritam dobija ukoliko je d1

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    24/215

    18

    stanje ekanja na resurs i oslobodie procesor, tako da mogunost zakucavanjaCPU-boundprocesa praktino ne postoji.

    3.13. Kako veliina vremenskog kvantuma utie na performanse RRalgoritma?

    U sluaju velikih kvantuma RR prelazi u FCFS algoritam. U sluaju ultra malihvremenskih kvantuma, svaki proces se izvrava brziom od manjom od 1/n

    brzine realnog procesora. to su kvantumi manji, broj prebacivanja konteksta jevei, pa e samim tim i efektivna brzina izvravanja procesa biti manja.

    3.14. Dat je sledei skup procesa ija su vremena izvravanja na procesoru

    (CPU-burst time, izraena u milisekundama) i prioriteti dati usledeoj tabeli:

    Proces Vreme izvravanja PrioritetP1 10 3

    P2 1 1

    P3 2 3

    P4 1 4

    P5 5 2

    Procesi su u sistem naili u poretku P1, P2, P3, P4, P5, svi priblino utrenutku t=0.

    a. Nacrtati Gannt-ove karte dodele procesora ukoliko se

    rasporeivanje vri na osnovu sledeih algoritama: FCFS, SJF bezpretpranjenja, rasporeivanje na osnovu prioriteta bez pretpranjenja(manji broj znai vei prioritet) i RR sa kvantumom Q=1.

    b. Odrediti vreme potrebno za kompletiranje procesa (tournaround

    time) za svaki proces (za sve gore pomenute algoritme).

    c. Odrediti vreme ekanja za svaki proces i srednje vreme ekanja (zasve gore pomenute algoritme). Za koji je algoritam srednje vreme

    ekanja najmanje ?

    Kanjenje dispeera zanemariti.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    25/215

    19

    (a) Ganntove karte dodele procesora:

    FCFS:

    1 2 3 4 5

    0 10 11 13 14 19

    RR (Q = 1):

    1 2 3 4 5 1 3 5 1 5 1 5 1 5 1 1 1 1 1

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

    SJF (bez pretpranjenja):

    2 4 3 5 1

    0 1 2 4 9 19

    Raporeivanje na osnovu prioriteta (bez pretpranjenja):

    2 5 1 3 4

    0 1 6 16 18

    (b) Vreme potrebno za kompletiranje procesa:

    FCFS RR SJF Prioritetno

    P1 10 19 19 16

    P2 11 2 1 1

    P3 13 7 4 18

    P4 14 4 2 19

    P5 19 14 9 6

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    26/215

    20

    (c) Vreme ekanja

    FCFS RR SJF Prioritetno

    P1 0 9 9 6P2 10 1 0 0

    P3 11 5 2 16

    P4 13 3 1 18

    P5 14 9 4 1

    sr.vreme1: 9.6 5.4 3.2 8.2

    Srednje vreme ekanja je najmanje u sluaju SJF bez pretpranjenja.

    3.15. Dat je sledei skup procesa ija su vremena nailaska u sistem (arrivaltime) i vremena izvravanja na procesoru, izraena u milisekundamadata u sledeoj tabeli:

    Process Vreme nailaska Vreme izvravanjaP1 0 8

    P2 0.4 4

    P3 1 1

    Nacrtati Gannt-ovu kartu i odrediti srednje vreme potrebno zakompletiranje procesa i srednje vreme ekanja2 ukoliko serasporeivanje procesa obavlja po:

    a. FCFS algoritmu,

    b. SJF algoritmu (bez pretpranjenja),

    c. SJF algoritmu sa vremenom ekanja na procese (idle time) tidle=1,

    d. SRTF (shortest remaining time first) algoritmu, odnosno SJF

    algoritmu sa pretpranjenjem.

    Kanjenje dispeera zanemariti.

    1 Srednje vreme ekanja se rauna kao srednja vrednost vremena ekanja za sveprocese.

    2 Obratite panju: vreme potrebno za kompletiranje procesa se u ovom sluaju rauna

    kao razlika vremena u kom je proces zavrio sve aktivnosti i vremena nailaska usistem. Slino vai i za vreme ekanja, koje se rauna kao razlika vremena u kom jeproces dobio procesor i vrmena nailaska procesa u sistem

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    27/215

    21

    (a) Gannt-ova karta dodele procesora - FCFS algoritam:

    1 2 3

    0 8 12 13

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    vreme kompletiranja vreme ekanja

    P1 8 0

    P2 12 - 0.4 = 11.6 8 - 0.4 = 7.6

    P3 13 - 1 = 12 12 - 1 = 11

    srednje vreme:8+11.6+12

    3 = 10.530+7.6+11

    3 = 6.2

    (b) Gannt-ova karta dodele procesora - SJF algoritam:

    1 3 2

    0 8 9 13

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    vreme kompletiranja vreme ekanja

    P1 8 0

    P2 13 - 0.4 = 12.6 9 - 0.4 = 8.6

    P3 9 - 1 = 8 8 - 1 = 7

    srednje vreme: 8 + 12.6 + 83

    = 9.53 0 + 8.6 + 73

    = 5.2

    (c) Gannt-ova karta dodele procesora - SJF algoritam sa vremenom ekanjana procese 3(idle time) tidle=1.

    3 2 1

    0 1 2 6 14

    3 Vreme ekanja na procese (idle time) je vremenski interval u kom planer poslova

    niskog nivoa eka da u sistem stigne jo nekoliko procesa. Procesima koji u sistemuu u tom intevalu poveae se vreme ekanja, ali e se u isto vreme poveati i brojprocesa u redu, a samim tim i perfromanse rasporeivanja.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    28/215

    22

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    vreme kompletiranja vreme ekanja

    P1 14 6P2 6 - 0.4 = 5.6 2 - 0.4 = 1.6

    P3 2 - 1 = 1 0

    srednje vreme: 14 + 5.6 + 13

    = 6.86 6 + 1.6 + 03

    = 2.53

    (d) Gannt-ova karta dodele procesora - SRTF algoritam

    1 2 3 2 1

    0 0.4 1 2 5.4 13

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    vreme kompletiranja vreme ekanja

    P1 13 5.4 - 0.4 = 5

    P2 5.4 - 0.4 = 5 2 - 1 = 1

    P3 2 - 1 = 1 0

    srednje vreme:13 + 5 + 1

    3 = 6.335 + 1 + 0

    3 = 2

    3.16. Dat je sledei skup procesa ija su vremena nailaska u sistem (arrivaltime) i vremena izvravanja na procesoru, izraena u milisekundamadata u sledeoj tabeli:

    Process Vreme nailaska Vreme izvravanjaP1 0 7

    P2 2 4

    P3 4 1

    P4 5 4

    Nacrtati Gannt-ovu kartu i odrediti srednje vreme potrebno za

    kompletiranje procesa i srednje vreme ekanja ukoliko serasporeivanje procesa obavlja po:

    a. SJF algoritmu.

    b. SRTF algoritmu.

    Kanjenje dispeera zanemariti.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    29/215

    23

    (a) Gannt-ova karta dodele procesora - SJF algoritam:

    1 3 2 4

    0 7 8 12 16

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    vreme kompletiranja vreme ekanja

    P1 7 0

    P2 12 - 2 = 10 8 - 2 = 6

    P3 8 - 4 = 4 7 - 4 = 3

    P4 16 - 5 = 7 12 - 5 = 7srednje vreme: 7 4

    (b) Gannt-ova karta dodele procesora - SRTF algoritam:

    1 2 3 2 4 1

    0 2 4 5 7 11 16

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    vreme kompletiranja vreme ekanja

    P1 16 11-2 = 9

    P2 7 - 2 = 5 5 - 4 = 1

    P3 5 - 4 = 1 0

    P4 11 - 5 = 6 7 - 5 = 2

    srednje vreme: 7 3

    3.17. etiri procesa su u trenutku t=0 uli u red ekanja na procesor usledeem redosledu: P1, P2, P3, P4. Vremena izvravanja na

    procesoru za ova etiri procesa su 6, 3, 1 i 7 vremenskih jedinica,respektivno. Ukoliko se rasporeivanje procesa vri prema RoundRobin algoritmu sa kvantumom (a) Q=1, (b) Q=2, (c) Q=3, (d) Q=4,

    (e) Q=5, (f) Q=6, (g) Q=7

    - nacrtati Gannt-ovu kartu i odrediti srednje vreme izvravanja naprocesoru i srednje vreme ekanja (kanjenje dispeera zanemariti),

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    30/215

    24

    - odrediti koliko puta je obavljena zamena konteksta i koliko je

    ukupno vremena potrebno da sva etiri procesa zavre aktivnosti(kanjenje dispeera je dl=0.01 vremenskih jedinica).

    (a) Gannt-ova karta dodele procesora za sluaj RR, Q=1:

    1 2 3 4 1 2 4 1 2 4 1 4 1 4 1 4 4

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    vreme kompletiranja vreme ekanja

    P1 15 3+2+2+1+1 = 9P2 9 1+3+2 = 6

    P3 3 2

    P4 17 3+2+2+1+1+1=10

    srednje vreme: 11 6.75

    Obavljeno je 16 zamena konteksta, tako da je ukupno vreme potrebno da

    sva etiri procesa zavre aktivnosti: t = 17 + 16 0.01 = 17.16.

    (b) Gannt-ova karta dodele procesora za sluaj RR, Q=2:

    1 2 3 4 1 2 4 1 4 4

    0 2 4 5 7 9 10 12 14 16

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    vreme kompletiranja vreme ekanja

    P1 14 5+3 = 8P2 10 2+5 = 7

    P3 5 4

    P4 17 5+3+2=10

    srednje vreme: 11.5 7.25

    Obavljeno je 9 zamena konteksta, tako da je ukupno vreme potrebno da

    sva etiri procesa zavre aktivnosti: t = 17 + 9 0.01 = 17.09.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    31/215

    25

    (c) Gannt-ova karta dodele procesora za sluaj RR, Q=3:

    1 2 3 4 1 4 4

    0 3 6 7 10 13 16

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    vreme kompletiranja vreme ekanja

    P1 13 7

    P2 6 3

    P3 7 6

    P4 17 7+3=10srednje vreme: 10.75 6.5

    Obavljeno je 6 zamena konteksta, tako da je ukupno vreme potrebno da

    sva etiri procesa zavre aktivnosti: t = 17 + 6 0.01 = 17.06.

    (d) Gannt-ova karta dodele procesora za sluaj RR, Q=4:

    1 2 3 4 1 4

    0 4 7 8 12 14 17

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    vreme kompletiranja vreme ekanja

    P1 14 8

    P2 7 4

    P3 8 7

    P4 17 8+2=10

    srednje vreme: 11.50 7.25

    Obavljeno je 5 zamena konteksta, tako da je ukupno vreme potrebno da

    sva etiri procesa zavre aktivnosti: t = 17 + 5 0.01 = 17.05.

    (e) Gannt-ova karta dodele procesora za sluaj RR, Q=5:

    1 2 3 4 1 4

    0 5 8 9 14 15 17

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    32/215

    26

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    vreme kompletiranja vreme ekanja

    P1 15 9P2 8 5

    P3 9 8

    P4 17 9+1=10

    srednje vreme: 12.25 8

    Obavljeno je 6 zamena konteksta, tako da je ukupno vreme potrebno da

    sva etiri procesa zavre aktivnosti: t = 17 + 5 0.01 = 17.05.

    (f) Gannt-ova karta dodele procesora za sluaj RR, Q=6:

    1 2 3 4 4

    0 6 9 10 16

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    vreme kompletiranja vreme ekanja

    P1 6 0P2 9 6

    P3 10 9

    P4 17 10

    srednje vreme: 10.5 6.25

    Obavljene su je 4 zamena konteksta, tako da je ukupno vreme potrebno

    da sva etiri procesa zavreaktivnosti: t = 17 + 4 0.01 = 17.04.

    (g) Gannt-ova karta dodele procesora za sluaj RR, Q=7:

    1 2 3 4

    0 6 9 10 17

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    33/215

    27

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    vreme kompletiranja vreme ekanja

    P1 6 0P2 9 6

    P3 10 9

    P4 17 10

    srednje vreme: 10.5 6.25

    Obavljeno je 3 zamena konteksta, tako da je ukupno vreme potrebno da

    sva etiri procesa zavre aktivnosti: t = 17 + 4 0.01 = 17.03.

    4. Sinhronizacija procesa

    Pitanja navedena u ovom poglavlju odnose se na osnovne pojmove

    vezane za sinhronizaciju procesa. Razmotreni su razliiti naini realizacijekritine sekcije, kao i znaajniji mehanizmi sinhronizacije procesa: semafori imonitori. italac moe proveriti svoje znanje samostalnom izradom zadataka

    koji su navedeni u ovom poglavlju.

    4.1. a. ta je to stanje trke (race condition)?

    b. Od ega zavise vrednosti deljenih podataka nakon zavrene trke?

    c. Da li je krajnji rezultat trke izvestan ili neizvestan?

    d. Kako se moe spreiti pojava trke?

    (a) Stanje trke je situacija u kojoj vei broj procesa konkurentno pristupa

    zajednikim podacima.

    (b) Krajnje vrednosti zajednikih promenljivih zavise od toga koji e procesposlednji zavriti sa radom, odnonso od sekvence naredbi kojima se tipodaci modifikuju, to dalje zavisi od redosleda prekidnih signala inaina raspreivanja procesa.

    (c) U trci se pobednik obino ne zna, tako da je krajnji rezultat neizvestan.

    (d) Sinhronizacijom procesa.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    34/215

    28

    4.2. a. Koja je posledica mogua ukoliko procesi nesinhronizovanopristupaju zajednikim podacima?

    b. ta je kritina sekcija?

    c. Ko razreava problem kritine sekcije?

    (a) Nekonzistentnost zajednikih podataka.

    (b) Kritina sekcija je deo programskog koda u kome proces pristupazajednikim podacima ili modifikuje zajednike podatke (kao to suvrednosti memorijskih lokacija, datoteke, itd.)

    (c) Programer.

    4.3. Kako se moe realizovati kritina sekcija?

    softverski,

    hardverski,

    pomou sistemskih poziva operativnog sistema,

    viim programskim strukturama za sinhronizaciju, kao to su monitori.

    4.4. Koje su osnovne pretpostavke softverske realizacije kritine sekcije?

    meusobno iskljuenje,

    proces van kritine sekcije ne sme spreiti druge procese da uu ukritinu sekciju,

    proces ne sme neogranieno dugo da eka na ulazak u kritinu sekciju,

    proces ne sme neogranieno dugo da ostane u svojoj kritinoj sekciji,

    4.5. a. Objasnite funkcije ulazne, kritine i izlazne sekcije.

    b. Za sledei kod odrediti naredbe koje pripadaju ulaznoj, izlaznoj ikritinoj sekciji.Deljiva promenljiva jeshare.

    while (busy); busy = 1; share++; busy=0;

    (a) ulazna sekcija - deo koda u kome proces zahteva od sistema da ue ukritinu sekciju,

    kritina sekcija - deo koda u kome proces pristupa ili modifikujevrednosti zajednikih podataka,

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    35/215

    29

    izlazna sekcija - deo koda u kome proces obavetava ostale procese da jenapustio svoju kritinu sekciju.

    (b) ulazna sekcija: while (busy);

    kritina sekcija: busy=1; share++;

    izlazna sekcija: busy=0;

    4.6. Objasnite ukratko ideje na kojima su zasnovana znaajnija softverskareenja kritine sekcije: (a) algoritam striktne alternacije, (b) Dekker-

    Petersonov algoritam, (c) pekarski algoritam. Na koliko su procesaovi algoritmi realno primenljivi ?

    (a) Samo onaj proces ija je vrednost indeksa jednakavrednosti zajednikepromenjive za sinhronizaciju (turn) moe ui u svoju kritinu sekciju.Algoritam je primenljiv za sinhronizaciju dva procesa.

    (b) Binarna promenljiva flag se deklarie za svaki proces pojedinano iukazuje na to da li proces eli ili ne eli da ue u svoju kritinu sekciju.Zajednika promenljiva turnukazuje na proces koji ima prednost ulaskau kritinu sekciju i obezbeuje mehanizam meusobnog iskljuenja.Algoritam je primenljiv za sinhronizaciju dva procesa.

    (c) Svakom procesu se dodeljuje broj (procesima se redom dodeljuju svevei brojevi). Proces ostaje u ulaznoj sekciji sve dok ne postane proces sanajmanjim brojem, odnosno najviim prioritetom, a zatim ulazi u kritinusekciju.

    4.7. Da li je sledei algoritam za reenje problemakritine sekcije za dvaprocesa ispravan ili ne? Obrazloite reenje.

    int flag[2]; flag[0]=flag[1]=0; int share,

    int P0 {

    while (1) {flag[0]=1; while (flag[1]); share++;flag[0]=false;}

    }

    int P1 {

    while (1) {flag[1]=1; while (flag[0]); share++;flag[1]=false;}

    }

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    36/215

    30

    Napomena: kod za procese P1 i P2 sadri samo ulazne, kritine iizlazne sekcije, koje su od znaaja za analizu. Zajednika promenljiva

    je share.

    Reenje je, na prvi pogled, dobro, jer je zadovoljeno meusobno iskluenje, aprocesi van kritinih sekcija ne utiu jedan na drugog. Sledea sekvencapokazuje da je ovaj algoritam pogrean:

    u trenutku t0proces P0 postavlja svoj fleg: flag[0]=1,

    dispeer zatim dodeljuje procesor procesu P1,

    u trenutku t0proces P1 postavlja svoj fleg:, flag[1]=1.

    Posle toga, oba procesa upadaju u beskonanu petlju, jer su oba flegapostavljena na 1, tako da nijedan proces ne moe da ue u svoju kritinusekciju.

    4.8. Koja je instrukcija mikroprocesora neophodna za realizaciju kritinihsekcija na nivou hardvera ?

    Potrebna je nedeljiva instrukcija pomou koje se moe:

    proitati i izmeniti memorijska re ili

    razmeniti sadraj dve memorijske rei.

    4.9. U emu se ogleda nedeljivost operacijasignali wait?

    Operacijesignali waitse ne mogu podeliti na vie ciklusa.

    Dva procesa ne mogu istovremeno izvravati ove operacije nad istim

    semaforom.

    4.10. Pokazati na primeru da, ukoliko operacijesignali waitnisu nedeljive,meusobno iskljuenje moe biti narueno.

    4.11. a. ta je binarni semafor? Navedite primer binarnog semafora.

    b. ta je brojaki semafor? Navedite primer brojakog semafora.

    (a) Binarni semafori su specijalna klasa semafora, ija vrednost moe bitisamo 0 ili 1. Primer binarnog semafora je semafor mutexkoji obezbeuje

    mehanizam meusobnog iskljuenja.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    37/215

    31

    (b) Semafori ije vrednosti mogu biti 0, 1, 2, ... su brojaki semafori. Primerbrojakog semafora je semafor koji doputa odreeni broj konekcija namreni server.

    4.12. Procesi P1 i P2 se izvravaju kvaziparalelno. Obezbediti pomousemafora da se instrukcija Ins2() iz procesa P2 izvri posle istrukcijeIns1() iz procesa P1.

    Problem se moe reiti pomou binarnog semafora ija je inicijalna vrednost 0.Neka se dati semafor zoveproceed. Kod za procese P1 i P2 je:

    int P1 { ... ; Ins1(); signal(proceed); ... }

    int P2 { ... ; wait(proceed); Ins2(); ... }

    4.13. a. ta znai kada se kae da je proces "zauzet ekanjem" (busywaiting) ?

    b. Kako se ovaj nedostatak moe otkloniti ?

    (a) Pojava koja se zove busy waiting (zaposleno ekanje) nedostatak jesoftverske i hardverske realizacije kritine oblasti i semafora. Proces neradi nira korisno, ve u while petlji proverava vrednost neke

    promenljive kako bi saznao da li moe ui u svoju kritinu oblast ili ne (itako troi procesorsko vreme).

    (b) Pojava "zaposlen ekanjem" moe se ukloniti uvoenjem proirenedefinicije semafora. Semafor se definie kao struktura koju ine vrednostsemafora (koja moe biti i negativna) i semaforski red (lista pokazivaana procese koji ekaju na semaforu). Proces koji izvrava waitoperacijunad semaforom, ija je vrednost 0, blokira se i prevodi u semaforski red.Proces oslobaa procesor koji se predaje nekom drugom procesu kojinije blokiran.

    4.14. a. Kada nepravilno rasporeene operacije signal i wait mogu dadovedu do zastoja?

    b. Navesti primer za to.

    (a) Nepravilno rasporeene operacije signal i wait mogu da dovedu dozastoja ukoliko jedan ili vie procesa beskonano dugo ekaju nadogaaje koji se nikada nee dogoditi.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    38/215

    32

    (b) Neka su S i Q dva binarna semafora ija je inicijalna vrednost 1. Ukolikose procesi P1 i P2, iji je kod dole naveden, izvravaju kvaziparalelno,doi e do zastoja:

    int P1() {wait(S); wait(Q); .. ; signal(S); signal(Q)}

    int P2() {wait(Q); wait(S); .. ; signal(Q); signal(S)}

    4.15. Sledei kod sadri tipinu programersku greku u radu sa semaforima.

    signal(mutex); kritina sekcija; wait(mutex);

    ta e se dogoditi u ovom sluaju?

    Vie procesa e moi da ue u svoje krtitine sekcije istovremeno. Dalji razvoj

    situacije i krajnji rezultat su nepredvidivi.

    4.16. Sledei kod sadri tipinu programersku greku u radu sa semaforima.

    wait(mutex); kritina sekcija; wait(mutex);

    ta e se dogoditi u ovom sluaju?

    Umesto oslobaanja semafora, nastupie zastoj.

    4.17. Semaforskim tehnikama reite problem ogranienog bafera (problemje opisan u knjizi "Operativni sistemi: koncepti", strana 83).

    Za sinhronizaciju se koriste tri semafora:

    brojaki semafor item_available, kojim se obezbeuje da potroa ne

    moe uzeti nita iz bafera dok proizvoa to ne stavi u bafer. Vrednostisemafora pripadaju intervalu [0,N-1], a inicijalna vrednost je 0;

    brojaki semafor space_available, kojim se obezbeuje da potroa ne

    moe uzeti nita iz bafera dok proizvoa to ne stavi u bafer. Vrednostisemafora pripadaju intervalu [0,N-1], a inicijalna vrednost je 1;

    binarni semafor buffer_ready kojim se bafer titi kao nedeljivi resurs.Inicijalna vrednost semafora je 1.

    Radi jednostavnijeg reenja, operacije kojima se jedan element stavlja u bafer iuzima iz bafera nazvaemo depositi extract. Kod za proizvoaki (producer) i

    potroaki (consumer) proces je:

    int producer() {

    do {item next_produced;

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    39/215

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    40/215

    34

    }

    4.19. Semaforskim tehnikama reite problem veere filozofa (problem je

    opisan u knjizi "Operativni sistemi: koncepti", strana 86). Obezbeditereenje koje ne izaziva zastoj ni u jednoj situaciji.

    Svaki filozof predstavlja proces, a svaka viljuka binarni semafor fork[i] ijajeinicijalna vrednost 1. Zastoj je mogu ukoliko svi filozofi odjednom uzmu levuviljuku. Zato emo dozvoliti da filozof uzme viljuke samo ako su obeslobodne - uzimanje viljuaka proglasiemo kritinom sekcijom. Kritinusekciju titimo binarnim semaforom taking_forks(inicijalna vrednost 0).

    Kod za sve filozofe je:

    int philosopher_i() {do {

    wait (taking_forks);wait (fork[i]);wait (fork[(i+1)%5]);

    signal (taking_forks);/* filozof jede */wait (taking_forks);

    signal (fork[i]);signal (fork[(i+1)%5]);

    signal (taking_forks);/* filozof misli */} while (1);

    }

    4.20. [ Problem uspavanog berberina ]. Berbernica se sastoji od ekaonicesa n stolica i radne sobe sa berberskom stolicom. Ukoliko nema

    muterija koje zahtevaju uslugu, berberin e zaspati. Ukolikomuterija ue u berbernicu i vidi da su sve stolice zauzete, izai enapolje. Ukoliko je berberin zauzet ali u ekaonici ima slobodnih

    stolica, muterija e sesti na jednu od njih i saekati. Ukoliko berberinspava, muterija e ga probuditi. Napisati program kojim e aktivnosti

    berberina i muterija biti sinhronizovane.

    4.21. [ Problem puaa ]. Nasistemu postoje tri procesa koja predstavljajupuae i jedan proces koji predstavlja dobavljaa. Svaki pua ubeskonanoj petlji najpre mota cigaretu, a zatim je pali. Da bi puasmotao cigaretu, potrebni su mu sledei sastojci: duvan, rizla i ibice.

    U poetnom stanju jedan od puaa ima rizlu, drugi duvan, a treiibice. Dobavlja ima neograniene zalihe ovih sastojaka, ali im

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    41/215

    35

    donosi samo po dva sastojka. Pua koji ima preostali sastojaksmotae cigaretu i signalizirati dobavljau da je zavrio cigaretu.Dobavlja e zatim ponovo doneti dva sastojka, ime se.ciklus

    ponavlja. Napisati program kojim e aktivnosti puaa i dobavljaabiti sinhronizovane.

    4.22. Neka se na sistemu nalazi n procesa kojima su dodeljeni brojevi koji

    oznaavaju prioritete. Ni jedan od dva procesa nemaju isti prioritet.Napiite monitor za dodelu tri tampaa ovim procesima. tampai sedodeljuju na osnovu prioriteta procesa.

    4.23. Datoteku deli vei broj procesa kojima su dodeljeni razliitinumeriki identifikatori. Datoteci moe istovremeno pristupiti veibroj procesa, pod uslovom da je suma njihovih identifikatora manja

    od n. Napiite monitor za sinhronizaciju pristupa datoteci.

    5. Zastoj

    Pitanja navedena u ovom poglavlju odnose se na osnovne pojmovevezane za zastoj (deadlock) i uslove pod kojima se zastoj moe pojaviti.Razmotrene su osnovne metode upravljanja zastojem i neki znaajnijialgoritmi, kao to je bankarski algoritam. italac moe proveriti svoje znanjesamostalnom izradom zadataka koji su navedeni u ovom poglavlju.

    5.1. Navedite nekoliko primera zastoja koji nijsu vezani za raunarskisistem.

    Dve osobe, od kojih se jedna penje uz merdevine, a druga sputa nizmerdevine (problem dva jarca na brvnu),

    dva voza koja se kreu jedan prema drugom istom inom,

    zvezdasta raskrsnica (slika 5.1), u kojoj lako dolazi do zastoja.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    42/215

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    43/215

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    44/215

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    45/215

    39

    b. uklanjanje resursa iz sistema (smanjenje vrednosti elementa

    vektora available),

    c. poveanje maksimalnih zahteva jednog procesa (poveanjevrednosti elemenata matrice max),

    d. smanjenje maksimalnih zahteva jednog procesa (smanjenje

    vrednosti elemenata matrice max),

    e. poveanje broja procesa u sistemu,

    f. smanjenje broja procesa u sistemu.

    5.11. Sistem se sastoji od m resursa istog tipa koje deli n procesa. Procesi

    mogu zahtevati i otpustiti samo po jedan resurs u jednomvremenskom trenutku. Maksimalna potreba svakog procesa je izmeu1 i m resursa, a suma svih maksimalnih potreba manja od m+n.

    Dokaite da se sistem ne nalazi u zastoju.

    5.12. Sistemu obavlja 5.000 poslova meseno bez mehanizama za detekcijuili izbegavanje zastoja. Do zastoja dolazi u proseku dva puta meseno.

    posle pojave zastoja, operator mora da prekine i ponovo pokrene u

    proseku 10 poslova. Svaki posao kota 2e procesorskog vremena, aposlovi koji se prekidaju posle zastoja su u proseku 50% izvreni.Trenutno, 30% procesorskog vremena je neiskorieno (idle time).Programer procenjuje da e implementiranje algoritma za izbegavanjezastoja uveati vreme izvravanja poslova za 10% i vreme potrebnoza kompletiranje poslova za 20%.

    a. Navedite argumente za i protiv implementiranja algoritma za

    izbegavanje zastoja.

    b. Da li se porpusna mo sistema posle implementiranja pomenutogalgoritma nalazi u prihvatljivim granicama?

    5.13. Pretpostavite da se resursi procesima dodeljuju na sledei nain:

    - procesi zahtevaju i otputaju po jedan resurs u jednom trenutku,

    - ukoliko se zahtev za dodelom resursa ne moe zadovoljiti jerresursi nisu raspoloivi, resursi se oduzimaju od blokiranih procesa idodeljuju procesu koji ih zahteva.

    a. Da li moe doi do zastoja. Ako moe, navedite primer. Ako nemoe, navedite razlog.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    46/215

    40

    b. Da li moe doi do zakucavanja (beskonanog blokiranja,starvation) procesa?

    (a) Do zastoja ne moe doi, jer postoji pretpranjenje, tj. resurs se moeoduzeti jednom procesu i dodeliti drugom.

    (b) Do zakucavanja procesa moe doi -proces moe biti doveden u stanjeda nikad ne dobije sve potrebne resurse, ukoliko mu se resursi

    kontinualno oduzimaju i dodeljuju drugim procesima.

    5.14. Posmatrajte sistem u kome se nalaze tri procesa (P0, P1 i P2) i resurs

    A sa 12 instanci. Stanje sistema je dato sledeom tabelom:

    Proces Al location Max Need

    P0 5 10 5

    P1 2 4 2

    P2 2 9 7

    Resurs A ima 3 slobodne instance Odredite da li je sistem u

    bezbednom stanju.

    Sistem je u bezbednom stanju - sekvenca P1, P0, P2 dovee do zadovoljenjapotreba svih procesa.

    Proces P1 najpre uzima jo dve instance resursa, a zatim ih vraa:

    Proces Al location Max Need Available

    P0 5 10 5

    P1 4 4 0 1

    P2 2 9 7

    Proces Al location Max Need Available

    P0 5 10 5

    P1 zavrio aktivnosti 5P2 2 9 7

    Proces P0, zatim, uzima jo pet instanci resursa, a potom ih vraa:

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    47/215

    41

    Proces Al location Max Need Available

    P0 10 10 0

    P1 zavrio aktivnosti 0P2 2 9 7

    Proces Al location Max Need Available

    P0 zavrio aktivnostiP1 zavrio aktivnosti 10P2 2 9 7

    Na kraju, proces P2 uzima jo sedam instanci resursa:

    Proces Al location Max Need Available

    P0 zavrio aktivnostiP1 zavrio aktivnosti 3P2 9 9 7

    Proces Al location Max Need Available

    P0 zavrio aktivnosti

    P1 zavrio aktivnosti 12P2 zavrio aktivnosti

    5.14. Posmatrajte sistem u kome se nalaze tri procesa (P0, P1 i P2) i resurs

    A sa 12 instanci. Stanje sistema je dato sledeom tabelom:

    Proces Al location Max Need

    P0 5 10 5

    P1 2 4 2P2 2 9 7

    Resurs A ima 2 slobodne instance Odredite da li je sistem u

    bezbednom stanju.

    Sistem nije u bezbednom stanju. Na primer, za sekvencu P1, P0, P2, proces P1

    bi zadovoljio svoje potrebe i vratio resurse, ali se sistem moe dovesti u zastojukoliko P0 zatrai maksimalan broj instanci resursa.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    48/215

    42

    5.15. Posmatrajte sistem u kome se nalazi pet procesa (P0, P1, P2, P3 i P4)

    i tri resursa sa sledeim karakteristikama: resurs A (10 instanci),resurs B (5 instanci), resurs C (7 instanci). Stanje sistema u trenutku t0

    dato je sledeom tabelom:

    Available Max

    Proces A B C A B C

    P0 0 1 0 7 5 3

    P1 2 0 0 3 2 2

    P2 3 0 2 9 0 2

    P3 2 1 1 2 2 2

    P4 0 0 2 4 3 3

    a. Da li je sistem u stabilnom stanju?

    b. Da li e sistem da odobri zathev P1 4(1, 0, 2)?

    c. Da li e sistem da odobri zathev P4 (3, 3, 0)?

    d. Da li e sistem da odobri zathev P0 (1, 2, 2)?

    e. Da li e sistem da odobri zathev P3 (1, 1, 0)?

    (a) Najpre se odreuje matrica potreba - need(svaki element matrice needserauna kao razlika odgovarajuih elemenata matrica maxi allocation):

    Al location Max Need Available

    Proces A B C A B C A B C A B C

    P0 0 1 0 7 5 3 7 4 3

    P1 2 0 0 3 2 2 1 2 2

    P2 3 0 2 9 0 2 6 0 0 3 3 2

    P3 2 1 1 2 2 2 0 1 1

    P4 0 0 2 4 3 3 4 3 1

    Zatim se primenom bankarskog algoritma pronalazi sekvenca P1, P3, P4,

    P2, P0koja dokazuje da je sistem u stabilnom stanju 5.

    4

    Proces P1 zahteva dodelu jedne instance resursa A i dve instance resursa C.5 Uvek se polazi od procesa sa manjim zahtevima, a kasnije se reavaju probleminajzahtevnijih procesa..

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    49/215

    43

    (b) Proces P1 izdaje zahtev za dodelom reursa request=(1,0,2). Primeniemoalgortiam koji razreava zahteve za dodelom resursa.

    Najpre se proverava da li je request available. Kako je (1,0,2)

    (3,3,2), uslov je ispunjen, pa se zatim obavlja kvazi-dodela resursa na

    osnovu zahteva.

    Al location Max Need Available

    Proces A B C A B C A B C A B C

    P0 0 1 0 7 5 3 7 4 3

    P1 3 0 2 3 2 2 0 2 0

    P2 3 0 2 9 0 2 6 0 0 2 3 0

    P3 2 1 1 2 2 2 0 1 1P4 0 0 2 4 3 3 4 3 1

    Zatim se primenom bankarskog algoritma pronalazi sekvenca P1, P3, P4,

    P0, P2 koja zadovoljava uslove stabilnosti. To znai da e sistem ispunitizahtev P1(1,0,2)

    (c) Sistem nee odobriti zahtev procesa P4 za dodelu resursa:request=(3,3,0),jer je zahtev vei od rasploivih resursa.

    (d) Sistem nee odobriti zahtev procesa P0 za dodelu resursa:request=(1,2,2), jer se posle obavljene kvazi-dodele, sistem ne nalazi u

    stabilnom stanju.

    Al location Max Need Available

    Proces A B C A B C A B C A B C

    P0 1 3 2 7 5 3 6 2 1

    P1 2 0 0 3 2 2 1 2 2

    P23 0 2 9 0 2 6 0 0 2 1 0

    P3 2 1 1 2 2 2 0 1 1

    P4 0 0 2 4 3 3 4 3 1

    (e) Sistem e odobriti zahtev procesa P4 za dodelu resursa: request=(1,1,0),jer je requestavailable, tj. (1,1,0) (3,3,2), a sistem se posle obavljene

    kvazi-dodele, nalazi u stabilnom stanju (sekvenca P3, P4, P1, P2, P0).

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    50/215

    44

    Al location Max Need Available

    Proces A B C A B C A B C A B C

    P0 0 1 0 7 5 3 7 4 3P1 2 0 0 3 2 2 1 2 2

    P2 3 0 2 9 0 2 6 0 0 2 2 2

    P3 2 1 1 2 2 2 0 1 1

    P4 1 1 2 4 3 3 3 2 1

    5.16. Posmatrajte sistem u kome se nalaze pet procesa (P0, P1, P2, P3 i P4)

    i etiri resursa. Stanje sistema u trenutku t0dato je sledeom tabelom:

    Allocation Max

    Proces A B C D A B C D

    P0 0 0 1 2 0 0 1 2

    P1 1 0 0 0 1 7 5 0

    P2 1 3 5 4 2 3 5 6

    P3 0 6 3 2 0 6 5 2

    P4 0 0 1 4 0 6 5 6

    U trenutku t0slobodna je 1 instanca resursa A, 5 instanci resursa B i 2

    instance resursa C, odnosno available=(1,5,2,0). Koristei bankarskialgoritam, odredite:

    a. Kako izgleda matrica potreba need?

    b. Da li je sistem u bezbednom stanju?

    c. Da li e sistem da odobri zathev P1 (0, 4, 2, 0 ?

    (a) Svaki element matrice need se rauna kao razlika odgovarajuihelemenata matrica maxi allocation:

    Al location Max Need

    Proces A B C D A B C D A B C D

    P0 0 0 1 2 0 0 1 2 0 0 0 0

    P1 1 0 0 0 1 7 5 0 0 7 5 0

    P2 1 3 5 4 2 3 5 6 1 0 0 2

    P3 0 6 3 2 0 6 5 2 0 0 2 0

    P4 0 0 1 4 0 6 5 6 0 6 4 2

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    51/215

    45

    b) Sistem je u bezbednom stanju, jer sledea sekvenca procesa zadovoljavauslove stabilnosti:

    P0 uzima (0,0,0,0) a zatim vraa (0,0,1,2) available=(1,5,3,2),

    P3 uzima (0,0,2,0) a zatim vraa (0,6,5,2) available=(1,11,6,4),

    P2 uzima (1,0,0,2) a zatim vraa (2,3,5,6) available=(2,14,11,8),

    P1 uzima (0,7,5,0) a zatim vraa (1,7,5,0) available=(3,14,11,8),

    P4 uzima (0,6,4,2) a zatim vraa (0,6,5,6) available=(3,14,12,12).

    c) Najpre se proverava da li je request available. Kako je (0,4,2,0)

    (1,5,2,0), uslov je ispunjen, pa se zatim obavlja kvazi-dodela resursa na

    osnovu zahteva. Procesu P1 dodeljujemo (0,4,2,0):

    Al location Max Need

    Proces A B C D A B C D A B C D

    P0 0 0 1 2 0 0 1 2 0 0 0 0

    P1 1 4 2 0 1 7 5 0 0 3 3 0

    P2 1 3 5 4 2 3 5 6 1 0 0 2

    P3 0 6 3 2 0 6 5 2 0 0 2 0

    P4 0 0 1 4 0 6 5 6 0 6 4 2

    Posle dodele resursa, slobodna je 1 instanca resursa A i 1 instanca

    resursa B, odnosno available=(1,1,0,0).

    Sistem je u bezbednom stanju, jer sledea sekvenca procesa zadovoljavauslove stabilnosti:

    P0 uzima (0,0,0,0) a zatim vraa (0,0,1,2) available=(1,1,1,2),

    P2 uzima (1,0,0,2) a zatim vraa (2,3,5,6) available=(2,4,6,6),

    P3 uzima (0,0,2,0) a zatim vraa (0,6,5,2) available=(2,10,9,8),

    P1 uzima (0,3,3,0) a zatim vraa (1,7,5,0) available=(3,14,11,8),

    P4 uzima (0,6,4,2) a zatim vraa (0,6,5,6) available=(3,14,12,12).

    Sistem odobrava zahtev za dodelom resursa.

    5.17. Posmatrajte sistem u kome se nalazi pet procesa (P0, P1, P2, P3 i P4)

    i tri resursa sa sledeim karakteristikama: resurs A (7 instanci), resursB (2 instance), resurs C (6 instanci). Stanje sistema u trenutku t0dato

    je sledeom tabelom:

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    52/215

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    53/215

    47

    availible=(0,1,0). Meutim, dalje ni jedanproces ne moe da zadovoljisvoje potrebe za resursima.

    5.18. Posmatrajte sistem u kome se nalazi pet procesa (P0, P1, P2, P3 i P4)i tri resursa sa sledeim karakteristikama: resurs A (7 instanci), resursB (2 instance), resurs C (6 instanci). Stanje sistema u trenutku t0dato

    je sledeom tabelom:

    Allocation Request

    Proces A B C A B C

    P0 1 1 0 1 0 0

    P1 2 0 0 2 0 2P2 2 0 2 0 1 0

    P3 1 1 1 1 0 0

    P4 0 0 2 0 0 2

    U trenutku t0slobodne su po jedna instanca resursa A i C, odnosno

    available=(1,0,1). Odredite da li je sistem u stanju zastoja.

    Sistem nije u stanju zastoja, jer postoji sekvenca P0, P2, P3, P1, P4 posle koje

    e svi procesi zaviti svoje aktivnosti. P0 uzima (1,0,0) a zatim vraa (2,1,0) available=(2,1,1)

    P2 uzima (0,1,0) a zatim vraa (2,1,2) available=(4,1,3)

    P3 uzima (1,0,0) a zatim vraa (2,1,1) available=(5,2,4)

    P1 uzima (2,0,0) a zatim vraa (4,0,2) available=(7,2,6)

    P4 uzima (0,0,2) a zatim vraa (0,0,4) available=(7,2,8)

    6. Upravljanje memorijom

    Pitanja navedena u ovom poglavlju odnose se na osnovne pojmove

    vezane za upravljanje memorijom. Razmotrene su razlike izmeu fizikog ilogikog adresnog prostora i osnovne metode kontinualne i diskontinualnealokacije memorije, kao to su stranienje i segmentacija. italac moe

    proveriti svoje znanje samostalnom izradom zadataka koji su navedeni u ovompoglavlju.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    54/215

    48

    6.1. Navedite osnovne funkcije koje operativni sistem treba da postigne

    vezane za upravljanje memorijom.

    Operativni sistem treba da: vodi evidenciju o korienjumemorije,

    dodeljuje memoriju procesima kad je zahtevaju,

    oduzme memoriju procesima kad im je vie nepotrebna,

    obavlja swapukoliko operativna memorija nije dovoljnog kapaciteta za

    smetaj svih procesa.

    6.2. Kroz koje faze program prolazi, poev od izvornog koda doizvravanja u okvirima nekog procesa?

    1. Izvorni kod: adrese su simbolike.

    2. Vreme prevoenja: generiu se relativne adrese jer obino nije poznatogde e proces koji e izvravati generisani kod biti smeten u memoriji.

    3. Vreme punjenja u memoriju: poveziva i punilac na bazi relokatibilnogkoda generiu apsolutne adrese i pune program u memoriju.

    4. Vreme izvravanja.

    6.3. a. Koje su prednosti dinamikog punjenja memorije programom ?

    b. U kojim sluajevima se moe koristiti tehnika preklapanja (overlaytechnique)?

    c. ta je dinamiko povezivanje (linking)?

    (a) Prednosti dinamikog punjenja su sledee:

    bolje iskorienje memorije - memorija se ne puni rutinama koje se nekoriste

    pogodno je u sluajevima u kojima velika rutina opsluuje zahtev koji se

    retko pojavljuje

    ne zahteva specijalnu podrku operativnog sistema (dinamiko punjenje

    je odgovornost programera).

    (b) Tehnika preklapanje se koristi ukoliko je proces vei od memorije koja

    mu se moe dodeliti. Preklapanje implementira programer.(c) Dinamiko vezivanje funkcionie na sledei nain:

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    55/215

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    56/215

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    57/215

    51

    (b) Best fit: pretrauje se slobodna memorija i procesu se dodeljuje najmanjislobodni blok koji zadovoljava zahtev.

    (c) Worst fit: pretrauje se slobodna memorija i procesu se dodeljuje najveislobodni blok.

    (d) Opravdanje za korienje Worst fit algoritma je u tome to se posledodele memorije generie vei (upotrebljiviji) slobodni blok, nego usluaju best fitalgoritma.

    6.9. Odredite kako e (a) First fit, (b) Best fit i (c) Worst fitalgoritmi zadodelu memorije dodeliti memorijske particije od 100K, 500K, 200K,

    300K i 600K (navedene redom kojim se nalaze na sistemu) procesima

    koji zahtevaju 212K, 417K, 112K i 426K memorije.

    d. Koji algoritam obezbeuje najefikasnije iskorienje memorije?

    (a) First fit:

    212K se smeta u particiju veliine 500K, pri emu ostaje praznaparticija veliine 500K-212K=288K. Posle dodele, sledee particije suprazne (redom): 100K, 288K, 200K, 300K, 600K. Algoritam je obavio

    dva poreenja.

    417K se smeta u particiju veliine 600K, pri emu ostaje praznaparticija veliine 600K-417K=183K. Posle dodele, sledee particije suprazne (redom): 100K, 288K, 200K, 300K, 183K. Algoritam je obavio 5

    poreenja.

    112K se smeta u particiju veliine 288K, pri emu ostaje prazna

    particija veliine 288K-112K=176K. Posle dodele, sledee particije suprazne (redom): 100K, 176K, 200K, 300K, 600K. Algoritam je obavio

    dva poreenja.

    Procesu koji zahteva 426K ne moe se dodeliti memorija zbog eksternefragmentacije. Algoritam je obavio 5 poreenja.

    Proces koji zahteva 426K ne moe odmah da se izvri i mora da saekada neki drugi proces oslobodi memoriju. Obavljeno je ukupno 14

    poreenja izmeu veliine memorije koju proces zahteva i slobodnihparticija.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    58/215

    52

    (b) Best fit:

    212K se smeta u particiju veliine 300K, pri emu ostaje praznaparticija veliine 300K-212K=88K. Posle dodele, sledee particije suprazne (redom): 100K, 500K, 200K, 88K, 600K.

    417K se smeta u particiju veliine 500K, pri emu ostaje prazna

    particija veliine 500K-417K=83K. Posle dodele, sledee particije suprazne (redom): 100K, 83K, 200K, 88K, 600K. Algoritam je obavio 5

    poreenja.

    112K se smeta u particiju veliine 200K, pri emu ostaje prazna

    particija veliine 200K-112K=88K. Posle dodele, sledee particije suprazne (redom): 100K, 83K, 88K, 88K, 600K. Algoritam je obavio 5

    poreenja.

    426K se smeta u particiju veliine 600K, pri emu ostaje praznaparticija veliine 600K-426K=174K. Posle dodele, sledee particije suprazne (redom): 100K, 83K, 88K, 88K, 174K. Algoritam je obavio 5

    poreenja.

    Svaki proces dobija zahtevanu memoriju. Obavljeno je ukupno 20

    poreenja izmeu veliine memorije koju proces zahteva i slobodnihparticija.

    (c) Worst fit

    212K se smeta u particiju veliine 600K, pri emu ostaje prazna

    particija veliine 600K-212K=388K. Posle dodele, sledee particije suprazne (redom): 100K, 500K, 200K, 300K, 388K. Algoritam je obavio 5

    poreenja.

    417K se smeta u particiju veliine 500K, pri emu ostaje praznaparticija veliine 500K-417K=83K. Posle dodele, sledee particije su

    prazne (redom): 100K, 83K, 200K, 300K, 388K. Algoritam je obavio 5poreenja.

    112K se smeta u particiju veliine 388K, pri emu ostaje praznaparticija veliine 388K-112K=278K. Posle dodele, sledee particije suprazne (redom): 100K, 83K, 200K, 300K, 278K. Algoritam je obavio 5

    poreenja.

    Procesu koji zahteva 426K ne moe se dodeliti memorija zbog eksterne

    fragmentacije. Algoritam je obavio 5 poreenja.

    Proces koji zahteva 426K ne moe odmah da se izvri i mora da saekada neki drugi proces oslobodi memoriju. Obavljeno je ukupno 20

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    59/215

    53

    poreenja izmeu veliine memorije koju proces zahteva i slobodnihparticija.

    (d) U ovom sluaju Best fit algoritam obezbeuje najbolje iskorienjememorije.

    6.10. Zato je veliina stranice uvek jednaka 2n?

    Stranienje se implementira razbijanjem adrese na X bitova za broj stranice i Ybitova za ofset. Kako je svaka pozicija u adresi stepen broja 2, razbijanje adrese

    na broj stranice i ofset rezultuje veliinom stranice 2n.

    6.11. Posmatrajte logiki adresni prostor koji ini 8 stranica veliine 1024memorijske rei, mapiran u 32 okvira fizike memorije. Koliko bitaima u logikim, a koliko u fizikoj adresama?

    Jedan okvir (odnosno jedna stranica) veliine 1024B moe se alocirati sa 10bitova. Logiki adresni prostor ini 16 stranica, koje se mogu alocirati sa 4 bita,a fiziki 128 okvira, koji se mogu alocirati sa 7 bita. Znai, u logikimadresama ima 14 bitova, a u fizikim 17.

    6.12. Kako se na sistemu sa stranienjem moe omoguiti jednom procesuda pristupa podacima koji pripadaju drugom procesu?

    Da bi proces mogao da pristupi okviru sa tuom stranicom, operativni sistemmora da dozvoli auriranje tabele stranica zapisima koji sadre stranice drugih

    procesa. Na taj nain se moe realizovati efikasno deljenje podataka izmeuprocesa, jer procesi pristupaju istoj fizikoj adresi, koja se nalazi na razliitimlogikim adresama.

    6.13. Posmatrajte sistem na kome se tabela stranica uva u memoriji.

    a. Ako pristup memorijskoj lokaciji traje 0.2sec, koliko traje

    referenciranje adrese kroz tabelu stranica?

    b. Ako se koristi asocijativna memorija i ako se 25% memorijskih

    referenci kroz tabelu stranica mogu nai pomou asocijativnememorije, koje je efektivno vreme pristupa nekoj memorijskoj

    lokaciji? Pristup asocijativnoj memoriji traje 1nsec.

    (a) 0.4sec = 0.2sec za pristup tabeli stranica + 0.2sec za pristup

    memorijskoj lokaciji.

    (b) teff = 0.25 (0.2sec + 1nsec) + 0.75 (0.4sec + 1nsec) = 351nsec.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    60/215

    54

    6.14. Data je tabela stranica jednog procesa na sitemu sistemu sa veliinomstranice 2KB.

    stranica okvir

    0 1

    1 4

    2 3

    3 7

    4 12

    Koje fizike adrese odgovaraju sledeim logikim adresama: (a) 251,

    (b) 3129, (c) 10000, (d) 6066 ?

    broj stranice = ceo broj kolinika logike adrese i veliine stranice

    ofset = ostatak pri deljenju logike adrese i veliine stranice

    (a) Logika adresa 251

    broj stranice=[251/2048]=0 okvir=1, ofset=251%2048=251, fizikaadresa=1x2048+251=2299

    (b) Logika adresa 3129

    broj stranice=[3129/2048]=1 okvir=4, ofset=3129%2048=1081,

    fizika adresa=4x2048+1081=9273

    (c) Logika adresa 10000

    broj stranice=[10000/2048]=4 okvir=12, ofset=10000%2048=1808,

    fizika adresa=12x2048+1808=26384

    (d) Logika adresa 6066

    broj stranice=[6066/2048]=2 okvir=3, ofset=6066%2048=1970,fizika adresa=3x2048+1970=8114

    6.15. Zato je jednostavnije obezbediti deljenje re-entrant procedurapomou segmenata nego pomou stranica ?

    Zato to je segmentacija zasnovana na logikoj podeli memorije, a ne nafizikoj kao isto stranienje. To znai da re-entrantprocedure bez obzira naveliinu zahtevaju samo jedan ulaz u tabeli segmenata svih programa koje tu

    proceduru koriste. U sluaju stranienja, re-entrantprocedure zahtevaju vieulaza u tabelama stranica, zavisno od veliine.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    61/215

    55

    6.16. Data je sledea tabela segmenata:

    Segment Base Length

    0 219 6001 2300 14

    2 90 100

    3 1327 580

    4 1952 96

    Koje fizike adrese odgovaraju sledeim logikim adresama: (a)0,430, (b) 1,10, (c) 2,500, (d) 3,400, (e) 4,112?

    (a) 219 + 430 = 649

    (b) 2300 + 10 = 2310

    (c) illegalna referenca (premaena vrednost limit registra)

    (d) 1327 + 400 = 1727

    (e) illegalna referenca (premaena vrednost limit registra)

    6.17. a. Koji je mehanizam prevoenja adresa karakteristian za Intel80386 mikroprocesore?

    b. Koje su prednosti ukoliko translacioni mehanizam obezbeujehardver, a ne operativni sistem?

    c. Koje su mane ovakvog naina prevoenja adresa?

    (a) Intel 80386 koristi segmentaciju sa dvonivovskim stranienjem. Logikaadresa se sastoji iz identifikatora segmenta (selector) i pomeraja u

    segmentu (offset). Iz tabele segmenata se ita adresa direktorijuma

    stranica, tabele stranica i pomeraja u tabeli stranica, a iz tabele stranicaadresa okvira u fizikoj memoriji.

    (b) Efikasnost prevoenja i jednostavnost kernela.

    (c) Viestruki pristup tabelama. Moe se u nekoj meri ubrzati keiranjem.

    6.18. etiri procesa izvravaju isti editor teksta, realizovan kao re-entrantprocedura veliine 20KB. Za privatne podatke potrebno je 3KB.Odrediti koliko je memorije potrebno i koje su osobine dodeljene

    memorije po pitanju kontinulanosti na sitemu sa:

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    62/215

    56

    a. multiprogramiranjem sa particijama promenljive veliine,

    b. stranienjem (veliina stranice je 2KB),

    c. segmentacijom.

    (a) Za svaki proces je potrebno po 23KB kontinuilanog prostora (20KB za

    kod i 3KB za podatke). Ukupno je potrebno 423KB=92KB memorije.

    (b) Potrebno je 10 stranica za kod (102KB=20KB) koji e procesi deliti i podve stranice za podatke za svaki proces (4 22KB=44KB). Svaki proces

    koristi 3KB stranica dodeljenih za podatke, tako da ostaje 1KB

    neiskorien. Znai, ukupno je potrebno 18 stranica (36KB) koje semogu nalaziti bilo gde u memoriji. Pri tome, imamo 41KB=4KB interne

    fragmentacije.

    (c) Svaki proces zahteva dva kontinualna segmenta: deljivi kod segment

    veliine 20KB i segment veliine 3KB za podatke. Znai, ukupno jepotrebno pet kontinualnih segmenata: jedan veliine 20KB i etirisegmenta veliine 3KB. Pri tom nema interne fragmentacije.

    7. Virtuelna memorija

    Pitanja navedena u ovom poglavlju odnose se na osnovne pojmove

    vezane za virtuelnu memoriju. Razmotrena je tehnika uitavanja stranica nazahtev i osnovni algoritmi za izbor rtve pri zameni stranica, kao to su FIFO,optimalni algoritam, LRU, LFU i MFU. italac moe proveriti svoje znanjesamostalnom izradom zadataka koji su navedeni u ovom poglavlju.

    7.1. ta je virtuelna memorija i zato se koristi?

    Virtuelna memorija dozvoljava izvrenje procesa koji se ne nalaze celi umemoriji. Deo procesa koji se trenutno koristi nalazi se u memoriji, dok se

    ostatak programa nalazi na disku (swap). Iz tog razloga, logiki adresni prostormoe biti znatno vei od fizikog.

    7.2. U emu je razlika izmeu swapi demand pagingtehnika (uitavanjestranica na zahtev)?

    Swap: u fiziku memoriju se sa diska prebacuje ceo proces kada jepotreban.

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    63/215

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    64/215

    58

    (a) n

    (b) p-m

    7.7. Sistem sa 218B fizike memorije obezbeuje korisnike virtuelnommemorijom kapaciteta 232B, realizovanom pomou stranica veliine4KB. Korisniki proces generie virtuelnu adresu 11123456.Objasnite kako sistem odreuje adekvatnu fiziku adresu. Kojeoperacije obavlja hardver a koje operativni sistem ?

    Virtuelna adresa je: 0001 0001 0001 0010 0011 0100 0101 0110.

    Hardver: kako je veliina stranice 4KB=212B, veliina tabele stranica je 220.

    Viih 20 bita (0001 0001 0001 0010 0011) odreuje pomeraj u tabeli stranica, aniih 12 (0100 0101 0110) pomeraj u stranici. Sistem u tabeli stranica daljeproverava bit validnosti i odreuje da li se stranica nalazi u fizikoj memoriji.

    Operativni sistem: ukoliko se stranica ne nalazi u fizikoj memoriji, dolazi doPF prekida. Operativni sistem na osnovu odreenog algoritma bira rtvu iuitava stranicu sa diska u novi okvir. Nakon toga se aurira bit validnosti i brojokvira u koji je stranica smetena u tabeli stranica.

    7.8. Koje su od sledeih programerskih tehnika pogodne za korienje nasistemu na kom se primenjuje DP tehnika: (a) stek, (b) sekvencijalna

    pretraga, (c) pretraga pomou binarnog stabla, (d) operacije savektorima, (e) indirekcija? Obratite panju na broj PF prekida kojidate tehnike generiu.

    Za korienje su pogodne sledee tehnike: (a) stek, (b) sekvencija pretraga i (c)operacije sa vektorima.

    7.9. Pretpostavite da sistem na kom je implementirana tehnika uitavanja

    stranica na zahtev uva tabelu stranica u registrima. Ukoliko imapraznih okvira ili ukoliko stranica koja se rtvuje nije modifikovana,PF prekid se moe opsluiti za 8msec. Ukoliko je stranica koja sertvuje modifikovana, opsluivanje PF prekida traje 20msec. Pristuplokaciji u fizikoj memoriji traje 0.1sec. Pretpostavite da su stranicekoje se rtvuju u 70% sluajeva modifikovane. Odredite gornjugranicu verovatnoe pojave PF prekida koja e efektivno vreme

    pristupa odrati manjim od 0.2sec.

    tEA = 0.2sec = (1-P)0.1sec + (0.3p)8msec + (0.7p)20msec

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    65/215

    59

    p 0.000006

    7.10. Posmatrajte sistem na kom je implementirana tehnika uitavanjastranica na zahtev. Adrese se prevode pomou tabele stranica uoperativnoj memoriji. Radi ubrzavanja pristupa memoriji, uvedena

    asocijativna memorija za smetaj pojedinih zapisa iz tabele stranica.80% memorijskih referenci prisutno je u asocijativnoj memoriji i ne

    izaziva PF prekide. 10% memorijskih nije prisutno u asocijativnoj

    memoriji i ne izaziva PF prekide, a preostalih 10% izaziva PF prekide.

    Pristup operativnoj memoriji zahteva sec vremena, pristup disku na

    kome se obavlja stranienje 50msec, dok se vreme pristupaasocijativnoj memoriji moe zanemariti. Odredite efektivno vreme

    pristupa memoriji.

    tEA = 0.81sec + 0.1(2sec) + 0.1(5002sec) = 501.2sec 0.5msec.

    7.11. a. Rangirajte algoritme prema broju PF prekida koji izazivaju: LRU,

    FIFO, optimalni algoritam, algoritam "druga ansa".

    b. Za koje je od gore pomenutih algoritama karakteristina Belady-jeva anomalija?

    Algoritam Broj PF prekida Belady-jeva anomalija

    1. Optimalni najvie ne

    2. LRU ne

    3 Druga ansa da

    4. FIFO najmanje da

    7.12. Pretpostavite da je na sistemu na kom je implementirana tehnikauitavanja stranica na zahtev izmereno sledee iskorienje resursa:

    - procesor 20%,

    - disk na kome se uvaju stranice (paging disk) 97,7%,

    - ostali ulazno-izlazni ureaji 5%.

    Objasnite koji e od sledeih postupaka poveati iskorienjeprocesora (najverovatnije): (a) ugradnja breg procesora, (b) ugradnja

    veeg diska za stranienje, (c) poveanje stepena multiprogramiranja,(d) smanjenje stepena multiprogramiranja, (e) poveanje koliine

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    66/215

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    67/215

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    68/215

  • 7/24/2019 Operativni Sistemi Zbirka Resenih Zadataka

    69/215

    63

    (c) Potrebno je poveati stepen multiprogramiranja.

    7.19. Posmatrajte sistem virtuelne memorije sa n okvira koji su u poetnom

    trenutku prazni. Dat je sledei niz od 20 uzastopnih memorijskihreferenci u vremenu: 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3,

    6. Skicirajte stanje u okvirima i odredite koliko e se PF prekidadogoditi ukoliko se zamena stranica obavlja po: LRU, FIFO i

    optimalnom algoritmu, za sledee sluajeve: (a) n=2, (b) n=3, (c) n=4,(d) n=5 i (e) n=6.

    (a) n=2

    LRU: PF=18

    1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6

    PF PF PF PF PF PF PF PF PF PF h PF PF PF PF PF PF h PF PF

    1 1 3 3 2 2 5 5 2 2 2 2 7 7 3 3 1 1 3 3

    2 2 4 4 1 1 6 6 1 1 3 3 6 6 2 2 2 2 6

    FIFO: PF=18

    1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2