| Š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; modul: 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