1-9 poglavlje

Embed Size (px)

DESCRIPTION

os poglavlja iz knjige skraceno

Citation preview

1. POGLAVLJE

1. to je operacijski sustav?

OS je skup osnovnih programa koji omoguuju provoenje radnih zahvata na raunalu. 2. Koji su osnovni zadaci OS?

Osnovni zadaci OS jesu: olakavanje uporabe raunala, djelotvorno iskoritavanja svih dijelova raunala, OS mora podravati vieprogramski rad.3. Navesti osnovne dijelova OS.

Osnovni dijelovi OS: upravljanje datotenim sustavom, upravljanje spremnikom (memorijom), upravljanje U/I podsustavom, mreni podsustav, procesi i dretve ( komunikacija, rasporeiva, sinkronizacija), API (application programming interface), GUI (Grafiko korisniko suelje), sigurnosni podsustav. 4. to je suelje?

Suelje je nain komuniciranja operacijskog sustava i izled povratnih poruka. Moemo rei da je suelje dogovoreni nain uspostavljanja veze izmeu dviju razdvojenih cjelina. Operacijski sustav moe pokrenuti ovjek preko korisnikog suelja i program preko suelja primjenskog programa. OS preko tih suelja povratno vraa rezultate zatraenih operacija i samo informacije o obavljenoj funkciji. 5. to je suelje primjeskih programa API? Suelje je utvreni nain komunikacije (vrsto dogovoreni nain uspostavljanja veze izmeu dvije inae nerazdvojne cjeline; npr. Komunikacija izmeu korisnika i operacijskog sustava). API (Application Programming Interface) su funkcije pripremljene unutar operacijskog sustava koje su dohvatljive suelju prema primjenskim programima. Koriste ga programeri primjenskih programa.2. POGLAVLJE1. ime su odreena svojstva i ponaanje procesora?

Skupom registra koji slue za pohranjivanje svih sadraja koji ulaze i izlaze iz procesora u i koji se u njemju transformiraju te skupom instrukcija ( odreene su izvebdom ALU i upravljake jedinke procesora).2. Navesti osnovni skup registara procesora?

Adresni meuregistar slui za adresiranje spremnika ali i za adresiranje ostalih dijelova raunala

Podatkovni meuregistar slui za razmjenu sadraja izmeu spremnika i ostalih dijelova raunala. Svi podaci koji se ele prenijeti iz procesora na sabirnicu prolaze kroz podatkovni meuregistar.

Instrukcijski registar prenosi se instrukcija dobavljena iz spremnika. Bitovi instrukcije dovode se na upravljaku jedinicu koja iz njih ustanovljuje koja operaciju procesor treba obaviti.

Programsko brojilo (PC) je registra koji sadrava adresu instrukcije koju sljedeu treba obaviti (PC++). Njega upravljaka jedinica automatski poveava tako da se instrukcije pohranjene u spremniku izvode jedna iza druge.

Registar kazaljke stoga slui za poseban nain adresiranja spremnika. U spremniku se rezervira posebna skupina bajtova i zapie u registar kazaljke stoga najviu adresu te skupine. Pomou tog stoga ostvaruje se pohranjivanje podataka na stog.

Bitovi registra stanja registar uvjeta koji slui za zapisivanje razliitih zastavica koje oznaavaju ispravnost ili neispravnost rezultata i operacija. Vrijednost tih zastavica su uvjeti na temelju kojih upravljaki sklop odreuje daljnji tijek odvijanja programa.

Skup opih registara slue za pohranjivanje operanada i rezultata te za pripremanje adrese buduih pristupa do spremnika. 3. to je sabirniki ciklus?

Sabirniki ciklus ili period je vrijeme u kojima se obavlja jedna instrukcija. 4. U pseudokodu napisati to procesor trajno radi?

Procesor se moe promatrati kao automat koji nakon ukljuivanja trajno izvodiinstrukciju za instrukcijom strojnog programa:

ponavljati {

dohvatiti iz spremnika instrukciju na koju pokazuje programsko brojilo

dekodirati instrukciju, odrediti operaciju koju treba izvesti

poveaj sadraj programskog brojila tako da pokazuje na sljedeu instrukciju

odrediti odakle dolaze operandi i kuda se pokhranjuje rezultat

operande dovesti na aritmetikologiku jedinku, izvesti zadanu operaciju

pohraniti rezultat u odredite

} dok je (procesor ukljuen)5. to je kontekst dretve?

Svaka dretva za izvoenje treba svoj procesor pa se u jednoprocesorskom sustavu mora kod prebacivanja izvoenja s jedne dretve na drugu osigurati da svaka sdretva radi sa svojim skupom registra. To se moe postii tako da se sadraj registara procesora one dretve ije se izvoenje eli prekinuti pohrani na neko rezervno mjesto u spremniku, a registre procesora se smjeste sadraji koji pripadaju dretvi ije izvoenje treba zapoeti. Ako se takva promjena sadraja registra pravilno obavi onda se stvara privid da svaka dretva posjeduje vlastiti procesor. Sadraj registra procesora zovemo kontekstom dretve, a promjenu sadraja registra promjenom konteksta. 6. to se zbiva pri izvoenju instrukcije za poziv potprograma?

Proces izvodi instrukciju poziva programa ovako:

ponavljati {

dohvatiti iz spremnika instrukciju na koju pokazuje programsko brojilo

dekodirati instrukciju, odrediti operaciju koju treba izvesti

poveaj sadraj programskog brojila tako da pokazuje na sljedeu instrukciju

ako je (dekodirana instrukcija poziva potprograma){

pohraniti sadraj PC na stog;

smanjiti sadraj registra kazaljke stoga (SP) tako da pokazuje na sljedee prazno mjesto;

iz adresnog dijela instrukcije odrediti adresu poetka potprograma;

smjestiti tu adresu na PC;

}

inae

Obaviti instrukciju na nain odreen dekodiranim operacijskim kodom;

} dok je (procesor ukljuen)7. Definirajte osnovne pojmove: program, proces, dretva.

Program statini niz instrukcija koji je pohranjem na disketi, papiru, memoriji

Dretva niz instrukcija u izvoenju

Proces skup raunalnih resursa koji omoguuju izvoenje programa okolina u kojoj se program izvodi sve to je potrebno za izvoenje programa.

Program se sastoji od: barem jedne dretve, zajednikog adresnog prostora, adresnog

prostora rezerviranog za svaku pojedinu dretvu, stoga, kazaljke stoga, opisnici datoteka, opisnici cjevovoda, redovi poruka, semafori, uvjetne varijable, zakljuavanja.8. Kako je mogu vieprogramski rad na jednoprocesorskom raunalu?

Tako da se svaka dretva izvodi naizmjence pa dobijemo privid istovremenosti. Kljuna je pravilna izmjena konteksta dretve. 3. POGLAVLJE

1. Skicirajte nain spajanja U/I naprave na sabirnicu.Svaka U/I naprava ima svoj vlastiti upravljaki elektroniki sklop koji se brine o svim detaljima ponaanja naprave. Naprava je spojena na pristupni sklop raunala koji je s jedne strane prilagoen toj napravi,a s druge strane prilagoava se protokolima sabirnikog sustava. Osim sklopa za prenoenje sadraja pristupni sklop mora omoguiti i ostvarenje sinkronizacije.

Slika (knjiga str. 34).

2. to je radno ekanje?Radno ekanje je reim rada procesora u kojem procesor eka na odreeni dogaaj u programu (npr. pojava zastavice) i troi vrijeme dok se on ne dogodi.

dok je (zastavica ==0);

citaj PR;3. Skicirajte signale dvoinog rukovanja?

Upisivanje se dogadja kada je zastavica u niskoj razini, te se nakon upisivanja ona podize i tada se aktivira citanje PR koje po svom zavrsetku spusta zastavicu i omogucuje novo citaje. S obzirom da se signali na dva vodia ("ice") naizmjence podiu i sputaju taj je protokol nazvan dvoinim rukovanjem (engl. twowire handshaking).

4. to se zbiva kada se dogodi prekid?Pojava prekidnog signala prebacuje procesor u sustavski nain rada. S obzirom na to da e se na taj nain pozivati potprogrami koji ine jezgru OS taj se nain rada naziva jo i jezgrenim nainom rada. Dretva koja je pojavom prekidnog signala prekinuta najee izvodi neki korisniki posao i zbog toga kaemo da se ona obavlja u korisnikom nainu rada.

ako je (prekid signala postavljen){

onemoguiti daljnje prekidanje;

prebaciti adresiranje u sustavski adresni prostor i aktivirati sustavsku kazaljku stoga;

pohraniti PC na sustavski stog;

staviti u PC adresu potprograma za obradu prekida;

}

5. Kako treba nadopuniti ponaanje procesora da on omogui prekidni rad bez sklopa za prihvat prekida?ako je (prekid signala postavljen){

onemoguiti daljnje prekidanje;

prebaciti adresiranje u sustavski adresni prostor i aktivirati sustavsku kazaljku stoga;

pohraniti PC na sustavski stog;

staviti u PC adresu potprograma za obradu prekida;

}

Ili:

Pojavio se prekidni signal, zabranjeno je prekidanje, i programsko brojilo nalazi se na sustavskom stogu; { Pohrani kontekst; Ustanovi uzrok prekida, odnosno odredi indeks prekida i; Ako je (1< i < n) { Postavi oznaku ekanja K_Z[i]=1 ; Poniti zastavicu u registru stanja prekida i; Dok je ((postoji K_Z[j] != 0)(J>T_P)){ Odabrati najvedi j; K_Z[j] = 0; Pohraniti kontekst sa sustavskog stoga i T_P u KON[j]; T_P = j; Omogudi prekidanje; Prijei u korisniki nain rada; Pozovi potprogram za obradu prekida j; Zabrani prekidanje;

Prijei u sustavski nain rada; Vrati sadraj iz KON*j+ na sustavski stog i u varijablu T_P; } }

Obnovi kontekst sa sustavskog stoga; Omogudi prekidanje; Vrati se iz prekidnog naina rada;

}6. Pojasniti instrukcije pohraniti kontekst i vratiti se iz prekidnog naina.pohraniti kontekst

Sadraj registara procesora prilikom izvoenja dretve naziva se kontekst dretve.

Kontekst dretve treba pri prekidanju izvoenja jedne dretve pohraniti izvan procesora (osim PC registra koji se tretira zajedno!) i u registre staviti kontekst dretve koju se eli pokrenuti.

Pohraniti kontekst znai pohranjivanje sadraja svih registara procesora na sustavski stog, radi se na poetku podprograma.

vratiti se iz prekidnog naina rada

Prije no to se programsko brojilo sa sustavskog stoga vrati u PC (sadraj) treba omoguiti prekidanje, prebaciti adresiranje u korisniki adresni prostor i aktivirati korisniki registar kazaljke stoga.

7. to treba nainiti na poetku svakog potprograma za obradu prekida?

Treba pohraniti sadraj svih registra procesora na sustavski stog.8. Zato se programsko brojilo tretira zasebno prilikom pohrane konteksta?

Procesor se prebacuje na rutinu za obradu prekida tako da promijeni PC na adresu te rutine. to znai da ta rutina ne moe pohraniti PC (jer je ve "uniten") ve to mora uiniti procesor. Takoer, vraanje PC-a pokree prekinutu dretvu!9. to se zbiva kada obrada nekog prekida zavri?

Kada se obrada zavri provjerava da li postoji zahtjev za jo koji prekid, a ako ga nema obnovi se kontekst, omogui se prekidanje i vraa se u korisniki nain.10. Koje strukture podataka treba sadravati OS koji omoguuje prihvat prekida razliitih prioriteta?Struktura se sastoji od:

Varijable T_P u koju se stavlja broj tekueg prioriteta dretve koja se upravo izvodi;

Poretka zapisa KON[N] u koji se moe pohraniti cijeli kontekst pojedine dretve i dodatno jo i varijabla T_P

Poretka K_Z[N] u koji se pohranjuje kopija zastavice iz pristupnih sklopova (ako je K_Z[I]= 0, pristup I ne eka na obradu prekida, a ako je K_Z[I]=1, pristup I eka na obradu prekida).

11. Opisati sklop za prihvat prekida. Sastoji se od sklopa za prepoznavanje prioriteta, tablice adresa i dva registra: K_Z i T_P. Iz njega izlazi signal PREKID, a ulazi signal PRIHVAT U K_Z se upisuje jedinica kada pripadni pristupni sklop zatrai prekid. U T_P se zapisuje prioritet dretve koju procesor upravo izvodi, jedinicom u odgovarajudem bitu registra. Sadraj ta dva registra dovode se na sklop za prepoznavanje prioriteta. Taj sklop propusta prekid prema procesoru samo onda kada je prioritet zahtjeva vedi od onog zabiljeenog u registru T_P. Istodobno s proputanjem prekidnog signala prema procesoru mora se obrisati bit u registru K_Z. Tablica adresa sadri adrese (ili pomaknuda za odreene adrese) na kojima poinje prekidni program koji je proputen prema procesoru. Sadraj tablice se pod utjecajem signala PRIHVAT prenosi na sabirnicu odakle ga procesor moe dohvatiti i neposredno oblikovati adresu na koju treba skoiti.12. Kako treba nadopuniti ponaanje procesora da on omoguuje prekidni rad sa sklopom za prihvat prekida?Ako je (prekidni signal postavljen){ Zabraniti prekidanje; Prebaciti adresiranje u sustavski adresni prostor i aktivirati sustavsku kazaljku stoga; Postaviti signal PRIHVAT; Pohraniti programsko brojilo i sve ostale registre na sustavski stog; Sa sabirnice preuzeti sadrzaj i iz njega odrediti adresu prekidnog podprograma; Staviti tu adresu u programsko brojilo; }13. Navesti koje sve radnje mogu generirati prekide unutar procesora?Dijeljenje sa nulom, dekodiranje instrukcije koja ne postoji, adresiranje nepostojee lokacije. U takvim se sluajevima treba izvoenje dretve prekinuti i po mogunosti dojaviti uzrok njezina prekida.

14. U kojem e se sluaju dogoditi poziv jezgre, odnosno ulazak u jezgru i to se tada poziva?Dogaaju se kad se dogodi sklopovski ili programski prekid. Pozivaju se neke vrste potprograma koje se izvode u jezgrenom (sustavskom) nacinu rada (jezgrine funkcije).15. Navesti osnovne registre pristupnog skopa za neposredni pristup spremniku (DMA).Za prikljuivanje ulazno-izlaznih naprava kod kojih se podaci prenose u blokovima prikladno je koristiti pristupe s neposrednim pristupom spremniku (engl. direct memory access - DMA).

Adresni registar - na njemu se nalazi adresa u spremniku na koju (ili s koje) e se obaviti prijenos.

Brojilo u njemu se nalazi broj znakova koje jo treba prenijeti.

Registar stanja upisom odgovarajueg sadraja se pokree prijenos bloka.

Podatkovni registar slui za privremeno spremanje podataka.16. U pseudokodu napisati programski odsjeak koji obavlja sklop za neposredni pristup spremniku.dok je BR > 0 {

zatraiti sabirnicu;

ekaj na odobrenje za pristup sabirnici;

postavi na adresni dio sabirnicu sadraj registra AR;

prenesi sadraj s te ili na tu adresu;

AR:= AR+ 1;

BR:= BR - 1;

}

postavi prekidni signal PREKID;17. Opisati vrsto povezani vieprocesorski sustav.Sustav se sastoji od N procesora od kojih svaki ima svoj lokalni spremnik u koji samo on moe pristupiti. Osim toga, svaki procesor moe pristupiti do jednog zajednidkog djeljenog spremnika preko zajednike sabirnice. U jednom sabirnikom ciklusu do spremnika moe pristupiti samo jedan od procesora. Da bi odredili koji procesor moe pristupiti spremniku imamo posebni sklopovski dodjeljivad sabirnice. Procesor I koji eil pristup do djeljenog spremnika postavlja signal trazenja sabirnice T[I] dodjeljivacu sabirnice. Dodjeljivad na poetku svog spremnikog ciklusa odluuje kojem de procesoru dodjeliti sabirnicu. U jednom spremnikom ciklusu dodjeljivad de samo jednom procesoru dodjeliti sabirnicu, odnosno dodjeliti mu D[I]. Ako neki procesor postavi svoj zahtjev za dodjelu sabirnice on de u svom izvoenju zastati dok mu se sabirnica ne dodjeli. Dodjeljivac sabirnice dodjeljuje sabirnicu cikliki.4 POGLAVLJE

1. Koje raunalne resurse dijele dretve istog procesa?

Sve, dretve imaju sve zajedniko. Nema restrikcije u dostupnosti resursa.To se odnosi na adresni prostor procesa. Sve dretve istog procesa mogu neposredno pristupiti do svih adresa adresnog prostora svog procesa. Dva procesa ne mogu jedana drugome neposredno adresirati varijable. Ako je potrebno obaviti razmjenu podataka izmeu dva procesa onda se to ini posredno s pomou mehanizama koje osigurava operacijski sustav.

2. to je zajedniko dretvama razliitih procesa?Nita im nije zajedniko jer su procesi zatvorene kutije.

3. Kako je podijeljen spremniki prostor procesa, a kako dretveni spremniki prostor?

Svaki raunalni proces ima barem jednu dretvu. Ako se proces sastoji od vie dretvi, onda se

spremniki prostor procesa dijeli na dretvene prostore i jedan zajedniki prostor u koji mogu pristupiti sve dretve. Unutar svakog dretvenog podprostora moe se prepoznati:

a) kodni ili instrukcijski segment u koji se pohranjuju instrukcije programa ili programski kod, i adresira se iz programskog brojila

b) stogovni segment u koji se pohranjuje stog, i adresira se iz registra kazaljke stoga

c) podatkovni segment u koji se pohranjuju podaci, i cije se adrese stvaraju na temelju sadrzaja adresnih dijelova instrukcija.

4. Navesti uvjet nezavisnosti zadataka.

EMBED Equation.3 Kad ovaj uvjet vrijedi za sve dretve, tada su ta dva zadatka nezavisna.

Ako su dretve zavisne ne mogu se obavljati paralelno. J-ti zadatak ne smije pisati na isto mjesto sa kojega i-ti zadatak ita, i-ti zadatak ne smije pisati na isto mjesto sa kojega j-ti zadatak ita, i-ti I j-ti zadatak ne smiju pisati na isto mjesto.

5. Navesti uvjete koje mora zadovoljavati algoritam meusobnog iskljuivanja dretvi.

Uvjeti meusobnog iskljuivanja:

a. algoritam meusobnog iskljuivanja dretve

b. algoritam mora djelovati i onda kad su brzine izvoenja dretvi razliite

c. kad neka dretva zastane u N.K.O. to ne smije sprijeiti drugu dretvu da ue u K.O.

d. izbor dretve koja e ui u K.O. mora se dogoditi u konanom vremenu. 6. Za zadani algoritam meusobnog iskljuivanja ustanovi je li ispravan. Obrazloiti odgovor.

Dretva I {

dok je (1) {

dok je (Zastavica [J] != 0):

ZASTAVICA [I] = 1:

kritini odsjeak ;

ZASTAVICA [I] = 0 ;

nekritini odsjeak;

Nije ispravan. Dretva je u K.O. kada joj je zastavica postavljena u 1. Kada dretva Di krece u svoj K.O. dretva Dj de isto biti u K.O. jer de Di udi u petlju tek kada je zastavica od Dj=1 sto znaci da Dj u K.O. S druge strane, ako Dj nije u K.O.Di takoer nece uci u njega.7. emu slui Dekkerov, a emu Lamportov algoritam? Koje strukture podataka koriste?Prije svega, problem koji se postavlja je pitanje kako ostvariti postupak meusobnog

iskljuivanja dretvi, a to dodatno zahtijeva i ispunjenje sljedeih uvjeta:

- Mehanizam meusobnog iskljuivanja mora djelovati i kada su brzine izvoenja

dretvi proizvoljne;

- Kada neka od dretvi zastane u svom nekritinom dijelu, ne smije sprijeiti ulazak

druge dretve u svoj kritini odsjeak;

- Izbor jedne od dretvi koja smije ui u kritini odsjeak treba obaviti u konanom

vremenu.

Dekkerov postupak je mehanizam za iskljuivanje dviju dretvi, koji je realiziran

pomou tri pomone varijable: ZASTAVICA[I], ZASTAVICA[J], PRAVO.

Lamportov protokol je nain ostvarenja postupka meusobnog iskljuivanja dretvi,

koji je primjenjiv ne samo na 2, ve na n dretvi.8. Navesti Dekkerov, odnosno Lamportov algoritam. Dekkerov algoritam

dok je (1) {

ZASTAVICA[ I ]=1;

dok je (ZASTAVICA[ J ]==1) {

ako je (PRAVO==J) {

ZASTAVICA[ I ]=0;

dok je (PRAVO==J);

ZASTAVICA[ I ]=1;

}

}

K.O.;

PRAVO=J;

ZASTAVICA[ I ]=0;

N.K.O.;

}Varijabla pravo se ispituje samo onda kada obje dretve istovremeno podignu zastavice. Ako neka dretva eli ui u KO kada je druga izvan KO, varijabl a pravo se ne ispituje. Time se izbjegava da se dretve mogu izvoditi samo naizmjence. Varijabla se u svakom izlasku iz KO obnavlja. Dekkerovo rjeenje ne omoguava ulaenje dvjema dretvama u KO, niti se ne moe izazvati zastoj.

Lamportov alogoritamdok je (1){

ULAZ[I]=1;

itati ZADNJI BROJ;

BROJ[I]=ZADNJI_BROJ+1;

ZADNJI_BROJ=BROJ[I];

ULAZ[I]=0;

za (J=0;j= 1){

Osem[J].v = Osem[J].v - 1 ;

obnoviti kontekst iz opisnika Aktivna_D;

omoguiti prekidanje;

vratiti se iz prekidnog naina;

}

Inae

Premjestiti opisnik iz reda Aktivna_D u red Osem[J];

aktivirati prvu dretvu iz reda Pripravne_D;

}

j-funkcija Postaviti_Osem[J]{

pohraniti kontekst u opisnik Aktivna_D;

premjestiti opisnik iz reda Aktivna_D u red Pripravne_D;

ako je(red Osem[J] neprazan)

premjestiti prvi opisnik iz reda Osem[J] u red Pripravne_D;

inae

Osem[J].v = Osem[J].v + 1;

aktivirati prvu dretvu iz reda Pripravne_D;

}14. Opisati nacin umetanja opisnika dretve u listu Zakanjele_D. Koja vrijednost se upisuje u polje Zadano_kanjenje u opisniku dretve?

Lista Zakanjele_D je sloena prema vremenima kanjenja. Prva dretva u listi ima najmanje vrijeme spavanja, dok zadnja ima najdulje. U polje Zadano_kanjenje prvog opisnika upisuje se apsolutna virjednost zadanog kanjenja, a u ostale opisnike samo dodatno odgaanje u odnosu na prethodnu dretvu.

15. Koje vrste prekida uzrokuju jezgrine funkcije Zapoceti_UI i Prekid_UI u jednostavnom modelu jezgre?

Zapoceti_UI je programski prekid, a Prekid_UI je sklopovski.

16. Moe li se prekinuti dretva koja obavlja neku jezgrinu funkciju?

Ne, jezgrina funkcija ne moe biti prekinuta.17. Na koji nain se jezgrine funkcije obavljaju medusobno iskljucivo na jednoprocesorskom racunalu, a kako na vieprocesorskom racunalu?

Meusobno iskljuivanje na jednoprocesorskom raunalu ostvaruje se prekidima. Na vieprocesorskom raunalu struktura podataka jezgre se mora nalaziti u dijeljenom spremniku. Za sinkronizaciju pristupa strukturama podataka jezgre koristi se zastavica OGRADA_JEZGRE, a meusobno iskljuivanje se ostvaruje radnim ekanjem.

6 POGLAVLJE

1. Sinkronizirati proizvodaca i potroaca koritenjem brojackog semafora.

Proizvoa:

dok je(1){ proizvesti poruku P;

Ispitati_Osem(2);

MS[UL]=P;

UL=(UL+1)%N;

Postavi_Osem(1);

}

Objanjene varijabli:

MS=meuspremnik UL,

IZ=kazaljke za kretanje po meuspremniku P,

R=poruka

N=veliina meuspremnika

Potroa:

dok je(1){ Ispitati_Osem(1);

R=MS[IZ]; IZ=(IZ+1)%N; Postavi_Osem(2);

Potroiti poruku R;

}

2. Sinkronizirati vie proizvoaa i vie potroaca uz pomo binarnih i brojackih semafora.

Proizvoa:

Dok je (1){ Proizvesti poruku P;

Ispitati_Osem(S);

Ispitati_Bsem(P);

Dobaviti pretinac sa stoga SKLADISTE;

Postaviti P u pretinac i uvrstiti ga u Red_Poruka[i];

Postaviti_Bsem[P];

Postaviti_Osem(i); }

Potroa: Dok je (1){ Ispitati_Osem(i);

Ispitati_Bsem(K);

Preuzeti poruku R iz prvog spremnika u Red_Poruka[i];

Vratiti ispanjeni pretinac na stog SKLADISTE;

Postaviti_Bsem[K]; Postaviti_Osem(S);

Potroiti poruku R; }

3. Sinkronizirati rad dviju dretvi tako da se one obavljaju naizmjenicno.

Dretva Di: dok je (1){

Ispitati_Osem (i);

neto raditi;

Postaviti_Osem(j);

}

Dretva Dj: dok je (1){

Ispitati_Osem (j);

neto raditi;

Postaviti_Osem(i);

}

4. to je potpuni zastoj?

Potpuni zastoj je stanje sustava u kojem su sve dretve blokirane u nekom redu uvjeta.

5. Navesti nune uvjete za nastajanje potpunog zastoja.

sredstva se koriste meusobno iskljuivo (neko sredstvno u istom asu moe upotrebljavati samo jedna od dretvi)

dretvi se sredstvo ne moe oduzeti ona ga otpusta sama kada ga vise ne treba

dok trai dodatna sredstva dretva dri dodijeljena

barem 2 dretve se natjeu za barem 2 sredstva

6. to je monitor?

Monitor je jezgrin mehanizam za sinkronizaciju.

7. Navesti jezgrine strukture podataka koje se koriste za ostvarenje monitora.

monitorski semafor

redovi uvijeta

8. Navesti jezgrine funkcije za ostvarenje monitora.

udi_u_monitor(M),

izadi_iz_monitora(M),

uvrstiti_u_red_uvjeta(M,K),

osloboditi_iz_reda_uvjeta(M,K)

9. Kada se moe dogoditi da se dvije dretve nadu u monitoru?

Jedna dretva je upravo deblokirana iz reda uvjeta, a druga koja je tu dretvu deblokirala, a jo nije zavrila izvoenje i izala iz monitora.

10. U pseudokodu napisati jezgrine funkcije za ostvarenje monitora: Ui_u_monitor, Izai_iz_monitora, Uvrstiti_u_red_uvjeta i Osloboditi_iz_reda_uvjeta.

Uci_u_monitor(M){

Pohraniti kontekst u opisnik Aktivna_D;

Ako je (Monitor[M].v==1) {

Monitor[M].v=0;

Obnoviti kontekst iz opisnika Aktivna_D;

Omoguditi prekidanje; Vratiti se iz prekidnog naina rada;

}

Inae {

Premjestiti opisnik iz reda Aktivna_D u red Monitor[M]; Aktivirati prvu dretvu iz reda Pripravne_D;

}

}

Izaci_iz_monitora(M){

Pohraniti kontekst u opisnik Aktivna_D; Premjestiti opisnik iz reda Aktivna_D u red Pripravne_D;

Ako je ((Monitor[M].v==0) && (red Monitor[M] neprazan)) {

Premjesti prvi opisnik iz reda Monitor[M] u red Pripravne_D;} Inae

Monitor[M].v=1; Aktivirati prvu dretvu iz reda Pripravne_D;

}

Uvrstiti_u_red_uvjeta(M,K){

Pohraniti kontekst u opisnik Aktivna_D;

Premjestiti opisnik iz reda Aktivna_D u Red_uvjeta[M,K];

Ako je ((Monitor[M].v==0) && (red Monitor[M] neprazan)) {

Premjesti prvi opisnik iz reda Monitor[M] u red Pripravne_D; } Inae

Monitor[M].v=1; Aktivirati prvu dretvu iz reda Pripravne_D;}Osloboditi_iz_reda_uvjeta(M,K){

Pohraniti kontekst u opisnik Aktivna_D;

Premjestiti opisnik iz reda Aktivna_D u red Pripravne_D; Ako je (Red_uvjeta[M,K] neprazan) {

Premjesti prvi opisnik iz reda Red_uvjeta[M,K] u red Pripravne_D; } Ako je ((Monitor[M].v==0) && (red Monitor[M] neprazan)) {

Premjesti prvi opisnik iz reda Monitor[M] u red Pripravne_D;

}

Inae Monitor[M].v=1;

Aktivirati prvu dretvu iz reda Pripravne_D; }11. Kojim jezgrinim mehanizmom moraju biti zaticene korisnicke monitorske funkcije?Monitorskim semaforima12. U emu se razlikuje monitorski semafor od binarnog semafora?

Binarni semafor koristi samo dvije funkcije, a monitorski etiri7 POGLAVLJE1. Objasniti parametre sustava i njihov odnos: iskoristivost, broj poslova koji ulazi u sustav, broj poslova koje posluitelj moe obaviti u jedinici vremena, prosjeni broj poslova u sustavu, prosjeno zadravanje posla u sustavu. - iskoristivost = /

- broj poslova koji u jedinicnom vremenu ulaze u sustav

1/ prosjecno vrijeme izmedju 2 posla

-broj poslova koje posluitelj moe obaviti u jedinici vremena

1/ prosjecno trajanje posluivanja

n - prosjecni broj poslova u sustavu n = T = /(1-) = /(- )

T -prosjecno zadravanje posla u sustavu T = 1/(- ) pi = (1-)i - vjerojatnost da u sustavu imamo i poslova

p(i>N) = N+1 = 1 + 2 + ...

= 1 + 2 + ...

1/ = 1/ * 1/1 + 2/ * 1/2 + ...

2. Navesti Littleovo pravilo.n = T

3. Skicirati Markovljev lanac gdje stanja predstavljaju broj poslova u sustavu. Sustav neka ima Poissonovu razdiobu dolazaka s parametrom i eksponencijalnu razdiobu trajanja obrade s parametrom 1/.Str 171.

4. Neka u nekom sustavu zahtjevi za obradu podlijeu Poissonovoj razdiobi, a vrijeme obrade neka ima eksponencijalnu razdiobu. Kolika je vjerojatnost da u nekom trenutku u sustavu bude tono 7 poslova ako je iskoristivost sustava = 0.7?

Koliki je prosjeni broj poslova u takvom sustavu?

Koliko je prosjeno vrijeme zadravanja posla u sustavu ako u sustav ulazi prosjeno 5 poslova u jedinici vremena?

5. U kojem slucaju se moe dozvoliti veliki faktor iskoritenja (ak i 1)?

U deterministikom sluaju. U stohastikom sluaju faktor iskoritenja je strogo manji od 1 (