Šifra: |
40730 |
ECTS: | 6.0 |
Nositelji: |
doc. dr. sc.
Leonardo Jelenković
|
Izvođači: |
doc. dr. sc.
Leonardo Jelenković
- Auditorne vježbe |
Prijava ispita: | Studomat |
Opterećenje: | |||||||
|
|||||||
Opis predmeta: | |||||||
CILJEVI PREDMETA: Osnovni cilj predmeta Operacijski sustavi je kod studenata razviti razumijevanje da operacijski sustavi služe dvijema svrhama: prvo, da operacijski sustavi moraju raspodijeliti računalne aktivnosti tako da osiguraju dobru iskorištenost računalnih sredstava i, drugo, da uspostave prikladno okruženje za pripremu i izvođenje programa. |
|||||||
Literatura: | |||||||
|
|||||||
Preduvjeti za: | |||||||
Upis predmeta : |
5. semestar |
Obavezni predmet - Redovni Studij - Fizika i informatika; smjer: nastavnički |
Bodovi su uneseni u ovaj sustav. Zadatke i rezultate možete vidjeti u nastavku ove obavijesti.
Inačica 1.
Sustav (promijenjeni) frizerke je opisan sljedećim pseudokodom:
Frizerka: PONAVLJAJ čekaj signal da je klijent ušao RADI_FRIZURU javi da je frizura gotova čekaj da klijent ode propusti idućeg klijenta u salon Klijent: čekaj na ulaz u salon UĐI_U_SALON javi da si ušao čekaj da frizura bude napravljena IZAĐI_IZ_SALONA signaliziraj odlazak
Prepisati kod (ažurirati predložak rješenja) tako da se dijelovi pisani malim slovima zamijene odgovarajućim pozivima ČekajSem(<semafor>) ili PostaviSem(<semafor>) (ili <semafor>.acquire() i <semafor>.release()).
Rješenje:
Frizerka: PONAVLJAJ ČekajSem(klijent) #čekaj signal da je klijent ušao RADI_FRIZURU PostaviSem(frizura) #javi da je frizura gotova ČekajSem(otišao) #čekaj da klijent ode PostaviSem(može_idući) #propusti idućeg klijenta u salon Klijent: ČekajSem(može_idući) #čekaj na ulaz u salon UĐI_U_SALON PostaviSem(klijent) #javi da si ušao ČekajSem(frizura) #čekaj da frizura bude napravljena IZAĐI_IZ_SALONA PostaviSem(otišao) #signaliziraj odlazak
Semafori i početne vrijednosti:
OSEM[klijent].v = 0 OSEM[frizura].v = 0 OSEM[otišao].v = 0 OSEM[može_idući].v = 1
Inačica 2.
Sustav (promijenjeni) frizerke je opisan sljedećim pseudokodom:
Frizerka: PONAVLJAJ propusti idućeg klijenta u salon čekaj signal da je klijent ušao RADI_FRIZURU javi da je frizura gotova čekaj da klijent ode Klijent: čekaj na ulaz u salon UĐI_U_SALON javi da si ušao čekaj da frizura bude napravljena IZAĐI_IZ_SALONA signaliziraj odlazak
Prepisati kod (ažurirati predložak rješenja) tako da se dijelovi pisani malim slovima zamijene odgovarajućim pozivima ČekajSem(<semafor>) ili PostaviSem(<semafor>) (ili <semafor>.acquire() i <semafor>.release()).
Rješenje:
Frizerka: PONAVLJAJ PostaviSem(može_idući) #propusti idućeg klijenta u salon ČekajSem(klijent) #čekaj signal da je klijent ušao RADI_FRIZURU PostaviSem(frizura) #javi da je frizura gotova ČekajSem(otišao) #čekaj da klijent ode Klijent: ČekajSem(može_idući) #čekaj na ulaz u salon UĐI_U_SALON PostaviSem(klijent) #javi da si ušao ČekajSem(frizura) #čekaj da frizura bude napravljena IZAĐI_IZ_SALONA PostaviSem(otišao) #signaliziraj odlazak
Semafori i početne vrijednosti:
OSEM[klijent].v = 0 OSEM[frizura].v = 0 OSEM[otišao].v = 0 OSEM[može_idući].v = 0