os1_zadaci

Upload: markovuk

Post on 05-Oct-2015

63 views

Category:

Documents


2 download

DESCRIPTION

Operativni sistemi zadaci..

TRANSCRIPT

  • CPU scheduling

    1. Dat je sljedei skup procesa ija su vremena izvravanja na procesoru (CPU burst time, izraena u milisekundama) i prioriteti dati u sljedeoj tabeli:

    Proces Vrijeme izvravanja Prioritet

    P1 10 3

    P2 1 1

    P3 2 3

    P4 1 4

    P5 5 2

    Procesi su u sistem doli u poretku P1, P2, P3, P4, P5, svi priblino u trenutku t=0. a) Nacrtati Gantove karte dodjele procesora ukoliko se rasporeivanje vri na osnovu sljedeih

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

    b) Odrediti vrijeme potrebno za kompletiranje procesa (tournaround time) za svaki proces (za sve gore pomenute algoritme).

    c) Odrediti vrijeme ekanja za svaki proces i srednje vrijeme ekanja (za sve gore pomenute algoritme). Za koji je algoritam srednje vrijeme ekanja najmanje?

    Rjeenje: a) Gantove karte dodjele procesora:

  • b) Vrijeme potrebno za kompletiranje procesa:

    c) Vrijeme ekanja:

    Srednje vrijeme ekanja je najmanje u sluaju SJF bez pretpranjenja.

    2. Dat je sljedei skup procesa ija su vremena nailaska u sistem (arrival time) i vremena izvravanja na procesoru, izraena u milisekundama data u sljedeoj tabeli:

    Proces Vrijeme nailaska Vrijeme izvravanja

    P1 0 7

    P2 2 4

    P3 4 1

    P4 5 4

    Nacrtati Gantovu kartu i odrediti srednje vrijeme potrebno za kompletiranje procesa i srednje vrijeme ekanja ukoliko se rasporeivanje procesa obavlja po:

    a) SJF algoritmu bez pretpranjenja. b) SRTF algoritmu (SJF sa pretpranjenjem).

    Rjeenje: a) Gannt-ova karta dodjele procesora SJF algoritam:

  • Vremena potrebna za kompletiranje procesa i vremena ekanja su:

    b) Gantova karta dodjele procesora SRTF algoritam:

    Vremena potrebna za kompletiranje procesa i vremena ekanja su:

  • Deadlock

    3. Dat je sistem u kome se nalaze tri procesa (P0, P1 i P2) i resurs A sa 12 instanci. Stanje sistema je dato sljedeom tabelom:

    Resurs A ima 3 slobodne instance Odrediti da li je sistem u bezbjednom stanju. Rjeenje: Sistem je u bezbjednom stanju. Sekvenca P1, P0, P2 dovee do zadovoljenja potreba svih procesa. Proces P1 prvo uzima jo dve instance resursa, a zatim ih vraa:

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

    Na kraju, proces P2 uzima jo sedam instanci resursa:

  • 4. Dat je sistem u kome se nalaze tri procesa (P0, P1 i P2) i resurs A sa 11 instanci. Stanje sistema je dato sljedeom tabelom:

    Resurs A ima 2 slobodne instance. Odrediti da li je sistem u bezbjednom stanju.

    Rjeenje: Sistem nije u bezbjednom stanju. Na primjer, za sekvencu P1, P0, P2, proces P1 bi zadovoljio svoje potrebe i vratio resurse, ali se sistem moe dovesti u zastoj ukoliko P0 zatrai maksimalan broj instanci resursa.

    5. Dat je sistem u kome se nalazi pet procesa (P0, P1, P2, P3 i P4) i tri resursa sa sljedeim karakteristikama:

    resurs A (10 instanci), resurs B (5 instanci), resurs C (7 instanci). Stanje vektora raspoloivosti je (3, 3, 2). Stanje sistema u trenutku t0 dato je sljedeom tabelom:

    a) Da li je sistem u stabilnom stanju? b) Da li e sistem da odobri zahtjev P1 (1, 0, 2)? c) Da li e sistem da odobri zahtjev P4 (3, 4, 0)? d) Da li e sistem da odobri zahtjev P0 (1, 2, 2)? e) Da li e sistem da odobri zahtjev P4 (1, 1, 0)?

    Rjeenje: a) Prvo se odreuje matrica potreba need (svaki element matrice need se rauna kao razlika

    odgovarajuih elemenata matrica max i allocation):

  • Zatim se primjenom bankarskog algoritma (uvijek se polazi od procesa sa manjim zahtjevima, a kasnije se rijeavaju problemi najzahtjevnijih procesa...) pronalazi sekvenca P1, P3, P4, P2, P0 koja dokazuje da je sistem u stabilnom stanju.

    b) Proces P1 izdaje zahtjev za dodjelom resursa: zahtjev = (1,0,2). Prvo se provjerava da li je zahtjev

  • Upravljanje memorijom

    6. Glavni program (GP, veliine 60KB) poziva u datom redosledu sljedee segmete programa: A (20KB), B (50K) i C (40KB). Segment B u jednom trenutku poziva segment D (40KB), koji opet poziva segment E (70KB). Segment C u jednom trenutku poziva segment F (120KB).

    a) Skicirati kako se za dati primjer moe primjeniti tehnika preklapanja (overlay)? b) Koliko je najmanje radne memorije potrebno za izvravanje ovog programa? c) Koliko bi memorije bilo potrebno bez primjene tehnike preklapanja?

    Rjeenje: a) overlay 1: GP+A = 60K+20K = 80K

    overlay 2: GP+B+D+E= 60+50+40+70 = 220K overlay 3: GP+C+F = 60+40+120 = 220K

    b) max (80, 220, 220) = 220K c) GP+A+B+C+D+E+F = 60+20+50+40+40+70+120 = 400K

    7. Odrediti kako e (a) First fit, (b) Best fit i (c) Worst fit algoritmi za dodjelu memorije dodijeliti memorijske

    particije od 100K, 500K, 200K, 300K i 600K (navedene redom kojim se nalaze na sistemu) procesima koji zahtijevaju 212K, 417K, 112K i 426K memorije.

    d) Koji algoritam obezbjeuje najefikasnije iskoritenje memorije?

    Rjeenje: a) First fit:

    212K se smjeta u particiju veliine 500K, pri emu ostaje prazna particija veliine 500K-212K=288K. Poslije dodjele, sljedee particije su prazne (redom): 100K, 288K, 200K, 300K, 600K. Algoritam je obavio dva poreenja. 417K se smjeta u particiju veliine 600K, pri emu ostaje prazna particija veliine 600K-417K=183K. Poslije dodjele, sljedee particije su prazne (redom): 100K, 288K, 200K, 300K, 183K. Algoritam je obavio 5 poreenja. 112K se smjeta u particiju veliine 288K, pri emu ostaje prazna particija veliine 288K-112K=176K. Poslije dodele, sljedee particije su prazne (redom): 100K, 176K, 200K, 300K, 183K. Algoritam je obavio dva poreenja. Procesu koji zahtijeva 426K ne moe se dodeliti memorija zbog eksterne fragmentacije. Algoritam je obavio 5 poreenja. Proces koji zahtijeva 426K ne moe odmah da se izvri i mora da saeka da neki drugi proces oslobodi memoriju. Obavljeno je ukupno 14 poreenja izmeu veliine memorije koju proces zahtijeva i slobodnih particija.

    b) Best fit:

    212K se smjeta u particiju veliine 300K, pri emu ostaje prazna particija veliine 300K-212K=88K. Poslije dodjele, sljedee particije su prazne (redom): 100K, 500K, 200K, 88K, 600K. Algoritam je obavio 5 poreenja. 417K se smjeta u particiju veliine 500K, pri emu ostaje prazna particija veliine 500K-417K=83K. Poslije dodjele, sljedee particije su prazne (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. Poslije dodjele, sljedee particije su prazne (redom): 100K, 83K, 88K, 88K, 600K. Algoritam je obavio 5 poreenja.

  • 426K se smjeta u particiju veliine 600K, pri emu ostaje prazna particija veliine 600K-426K= 174K. Poslije dodjele, sljedee particije su prazne (redom): 100K, 83K, 88K, 88K, 174K. Algoritam je obavio 5 poreenja. Svaki proces dobija zahtijevanu memoriju. Obavljeno je ukupno 20 poreenja izmeu veliine memorije koju proces zahtijeva i slobodnih particija.

    c) Worst fit:

    212K se smjeta u particiju veliine 600K, pri emu ostaje prazna particija veliine 600K-212K=388K. Poslije dodjele, sljedee particije su prazne (redom): 100K, 500K, 200K, 300K, 388K. Algoritam je obavio 5 poreenja. 417K se smjeta u particiju veliine 500K, pri emu ostaje prazna particija veliine 500K-417K=83K. Poslije dodjele, sljedee particije su prazne (redom): 100K, 83K, 200K, 300K, 388K. Algoritam je obavio 5 poreenja. 112K se smjeta u particiju veliine 388K, pri emu ostaje prazna particija veliine 388K-112K=276K. Poslije dodjele, sljedee particije su prazne (redom): 100K, 83K, 200K, 300K, 276K. Algoritam je obavio 5 poreenja. Procesu koji zahtijeva 426K ne moe se dodijeliti memorija zbog eksterne fragmentacije. Algoritam je obavio 5 poreenja. Proces koji zahtijeva 426K ne moe odmah da se izvri i mora da saeka da neki drugi proces oslobodi memoriju. Obavljeno je ukupno 20 poreenja izmeu veliine memorije koju proces zahtjeva i slobodnih particija.

    d) U ovom sluaju Best fit algoritam obezbjeuje najbolje iskoritenje memorije.

    8. Data je tabela stranica jednog procesa na sistemu sa veliinom stranice 2KB.

    Stranica Okvir

    0 1

    1 4

    2 3

    3 7

    4 12

    Koje fizike adrese odgovaraju sljedeim logikim adresama: (a) 251, (b) 3129, (c) 10000, (d) 6066 ?

    broj stranice = cijeli broj kolinika logike adrese i veliine stranice ofset = ostatak pri dijeljenju logike adrese i veliine stranice

    a) Logika adresa 251 broj stranice=[251/2048]=0 => okvir=1, ofset=251%2048=251, fizika adresa = 1x2048+251=2299

    b) Logika adresa 3129 broj stranice=[3129/2048]=1 => okvir=4, ofset=3129%2048=1083, fizika adresa = 4x2048+1083=9275

    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