Ovu stranicu je najbolje pregledavati u modernom internet pregledniku s omogućenim JavaScriptom.

[NOS] 1. laboratorijska vježba - 2021/2022

jobi

branimir1999 ja sam ima ukupno 16 cjevovoda, svaki ima r/w za lijevog i desnog susjeda


branimir1999

Radim Lamportov algoritam i cini mi se da sam ga dobro implementirao, ali mi zakoci algoritam s 5 filozofa. Kada stavim 3 filozofa, onda mi prode par rundi i onda zablokira. Cime ovo moze biti uzrokovani? Ako prvo provjeravam lijevi cjevovod, pa desni, je li moguce da je zapeona lijevom cjevovodu koja nikada nece doci ili se radi o necem drugom ovdje?


micho

branimir1999 Imaš deadlock i to je upravo primjer koji ilustrira mogućnost toga uz sinkronizaciju, skrolaj gore jer smo pričali o rješenjima.


ana

Meni se u lamportu dogada deadlock zato sto zapne na read funkciji jer nije non blocking. Jel zna netko kako napraviti da ili bude non blocking ili da mogu provjeriti jel postoji nesto u cjevovodu jer ja vec sat vremena googlam i nisam s nicim jos to uspjela rijesiti.



Baksuz

Što ako filozof n šalje zahtjev filozofu lijevo od sebe, a ovaj je u fazi razmišljanja? Hoće li naš filozof n morati čekati da lijevi filozof poželi jesti da bi mu ovaj poslao odgovor? Jer koliko sam skužio za vrijeme razmišljanja filozofi nemaju interakciju jedni a drugima.


micho

Baksuz Upravo u vremenu razmišljanja mu i jedino može odgovoriti


tomekbeli420

Baksuz da tak sam ja riješio, imao sam Ricarta i Agrawalu
Dakle filozof šta radi je

spava (misli)
Kad odspava svoje, onda gleda koje poruke koje je dobio i reagira na njih (reagira kao da on još ne želi uzimati štapće/ulaziti u kritični odsječak.)
Tek kad nema nikakvih poruka za njega, e tek onda on odluči poslati zahtjev susjednim filozofima da hoće štapiće (hoće u KO), i onda čeka poruke

Kad mu se osiguraju uvjeti za ulazak u KO onda opet odspava (dakle baš sleep, ne gleda šta mu dolazi u porukama)
Nakon izlaska obavi sta treba za izlazak (za Ricarta i Agrawalu salje odgovore samo onima koji cekaju na njega)

I onda opet na početak (spavanje/razmišljanje)

I onda na početak (ope


Baksuz

M̵̧̩͑̀͝î̶͍̉ć̴̝̾́̀o̶̺̟̣͂̽ što nije da je vrijeme razmišljanja kao sleep funkcija, a dio kada jede je zapravo dio kada se bori za svoje štapiće i naposljetku jede? Možda sam ja krivo shvatio.


micho

Baksuz Ne znam kako si to shvatio jer to uopće nije definirano u zadatku, to se rješava proizvoljno. Iz perspektive sustava, vrijeme razmišljanja je idleanje, no to može biti i jedenje. Meni je logičnije da kad jedeš ne odgovaraš na nikakve zahtjeve za vilicama, a filozofiranje je lako prekinuti.


Baksuz

tomekbeli420 e tako sam i ja mislio riješit. Hvala na info.


[obrisani korisnik]

na koji način ste provjerili da treba ubit vrtuljak proces? (centralni čvor varijanta)


tomekbeli420

[obrisani korisnik] sa wait(NULL) sačekaš da proces dijete (posjetitelj u kontekstu ovog zadatka) završi.
Pozoveš to onoliko puta koliko ima djece. Nakon što mu svi procesi djeca završe, tek onda završi glavni proces. Imaš primjere korištenja ovdje


Baksuz

Na koji način ste obavili sinkronizaciju između 2 susjedna filozofa? S obzirom da samo 2 filozofa dijele štapić u određenom trenutku, imam osjećaj da je redundatno da stalno šalju zahtjeve, pa odgovore pa izlazak?


tomekbeli420

Baksuz ako ćeš sinkronizirati dva susjedna to nije dobro jer ti se može dogoditi stanje u kojem svaki filozof drži jedan štapić i ne može do drugog, što je deadlock. Da bi neki filozof išta napravio sa bilo kojim štapićem pokraj sebe, mora dobiti odobrenje od oba susjedna filozofa.


[obrisani korisnik]

moze netko pojasnit ovaj dio s filozofima, procitao sam o Lamportu, ali mi nije jasno kakve to veze ima s cjevovodima te kako se to ukljucuje u cijelu pricu? pogotovo jer se u udzbeniku cijelo vrijeme spominju redovi poruka


anon00

Moze li mi tko reci je li ovo okej ispis za Ricarta i Agrawalu?


flicka

moze neko napisat šta ispituju?


AK10

flicka
malo po kodu, i razlika izmedu ricarta i agrawala i lamporta te o tim algoritmima malo ispita i tjt


Daeyarn

endyyyy jel veliki problem/jel provjeravaju “tocnost” implementacije algoritma u kodu ili nije velik naglasak na to(za cjevovode)?


micho

Daeyarn Što znači točnost? Ako ti rješenje nije fer to nije problem. Ako ti je rješenje konceptualno krivo onda da, skidaju za to, čak i ako ti se čini da dobro radi. Npr. meni su prošle godine skinuli bod za jedan previd. Sve je to radilo ali je konceptualno bila greškica


« Prethodna stranica Sljedeća stranica »