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

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

Rene

Nekoliko pitanja za putujuću značku:
Jel’ značka kruži samo između visitora, vrtuljak je nezavisan i samo čeka poruke “Želim na vrtuljak”?
Jel’ uredu za ključeve reda poruka koristit npr index visitora, tako da je jednostavno dohvatit red poruka nekog visitora?
Kako bi vrtuljak trebao znat od kojeg visitora mu je došao zahtjev za sjest, jel to napišem u poruci pa vadim iz charova ili preko tipa poruke?


carrieb

Rene
ja sam u potpunosti zanemarila vrtuljak, nema bas neku svrhu ako koristimo putujucu znacku, eventualno da mu proces koji zadnji sjedne na vrtuljak posalje poruku da su svi spremni (ako bas zelis po uputama napraviti i proces vrtuljak)

mislim da si otezavas stvar npotrebno na druge nacine, samo salji znacku kroz posjetitelje


flicka

može neko pojasniti kako koristit cjevovod u zadatku s filozofima i kao radit prema protokolu Ricarta i Agrawala


SuperSjajan3

Jel imao neko problem da mu msgrcv ne zablokira proces? Dok vrtuljak radi, ostali procesi mi se samo izvrte dalje u for petlji i zavrse bez da su bile uopce na vrtuljku. msgflag mi je postavljen na 0.


bodilyfluids

Koja je razlika između key-a i identifikatora prilikom inicijalizacije reda poruka?
Jel key označava konkretan red poruka, a identifikator je pristupna točka tom redu?


steker

znaci filozofe bi isto smjeli rijesiti preko reda poruka


Lyras

steker ja sam rješio pomoću cjevovoda tako da i-ti filozof ima svoj read otvor i write otvore (i + 1)-og i (i-1)-og filozofa. Piše na te otvore, a poruke mu dolaze na njegov otvor. Imam “direction” zastavicu u poruci da se zna je li neku pojedinu poruku primio od lijevog ili od desnog filozofa. Deadlock sam rješio tako da ako filozof nema oba štapića, on briše obje svoje poruke iz 2 priority queua (lijeva i desna ruka) i šalje poruku izlazak(i, Ti), iako nije jeo. Samo ako su mu obje njegove zahtjev(i,Ti) poruke na vrhu priority queuea on jede.

Da, želim počiniti suicid nakon ovog labosa, hvala na pitanju.


flicka

Lyras je li lakse s imenovanim ili neimenovanim cjevovodima?


flicka

Lyras Kak provjeris dal su oba njegova zahtjeva na vrhu? i kak brises obje poruke iz 2 priority queua?


Me1

Lyras jesi siguran da se može to tako, kaj nije da ovako fiksiraš svakog filozofa na jedno mjesto za stolom?


Lyras

Lyras kolega, lamport zapravo uistinu rješava deadlock. Ne trebaju nikakvi random sleepovi. Ako slijediš ispravno algoritam, doći ćeš do toga da će svi recimo imati u svom desnom redu svoju poruku na prvom mjestu, no razlika će se dogoditi upravo između 0. i 4. (ili 1. i 5., ovisi odakle započinješ brojanje) filozofa. Naime, oni će si međusobno poslati zahtjeve (istovremeno, po njihovim satovima), no prevladati će 0. filozof, jer on ima manji id, (odnosno i). Napraviš while petlju koja će biti istinita sve dok se oba zahtjeva filozofa ne pojave na vrhu njegovog reda. On čita poruke svojih susjeda sve dok se taj uvjet u while petlji ne ispuni. Ako uđe u lock u readu, nema veze, jer će zasigurno primiti poruku izlazak svojeg susjeda eventualno. Postupak jedenja se dogodi tek onda kada ima oba štapića na raspolaganju i isključivo samo tada.


Lyras

flicka ja sam napravio s neimenovanim. Mislim da nebi bilo lakše s imenovanim.


bodilyfluids

3 sata briješ da ti rješenje ne radi, razbijaš glavu sa svim mogućim fixevima, i onda skužiš da nisi obriso redove poruka nakon prvog pokretanja.

Sad radi

😃


Bucc

kakav vam je izlaz s vrtuljkom sa značkom? meni idu uvijek po redu 0, 1, 2, 3 pa 4, 5, 6, 7 i tak tri puta. nisam siguran jel treba nekad preskočit nekog il ne


Ardura

Olive Oil I meni, tako treba


viliml

Olive Oil Daeyarn Ja bih dodao neki random sleep na početku da ne budu uvijek baš po redu


viliml

Daeyarn M̵̧̩͑̀͝î̶͍̉ć̴̝̾́̀o̶̺̟̣͂̽
Čak I ako su svi povezani sa svima, gotovo uvijek je dovoljno N redova.
Svatko čita iz svojeg i piše u onaj koji pripada onom komu šalje.


Retard00

Kakva pitanja pitaju u terminima labosa?


Rene

Može pomoć s Ricart-Agrawalom? Kako vam izgledaju poruke koje šaljete u cjevovod? Ne kužim baš kako samo preko string poruka ovo ostvarit bez da bude užasno naporno


viliml

Rene Možeš poruke scanfati iz tekstualnog cjevovoda, ili možeš imati binarni cjevovod pa njime slati podatake koje hoćeš. Samo bi neke flagove trebalo namjestiti. Ili je možda čak po defaultu read i write preko file descriptora uvijek binarni i tek kad se opena i radi preko FILE pointera onda je tekstualni ili binarni? Nisam siguran.


Lyras

flicka koristio sam C++. Napravio sam klasu Message i definirao operatore <, > i == nad tom klasom. Onda sam iskoristio std::set za dodavanje u pojedini red (metoda seta “begin” daje min, odnosno “rbegin” daje max vrijednost unutar seta). Onda sam koristio metodu seta “erase” da izbrišem pojedini element.


Daeyarn

Maddy
ovo je ok izlaz onda za putujucu znacku?


Lyras

Me I da i ne. To se može realno i protumačiti kao “Došao je nepoznati filozof na mjesto i i jede”, a kada ode može se protumačiti kao “Otišao je neki nepoznati filozof x i sada misli”.


Rene

Lyras
Me
Zar i ne bi trebali bit fiksirani da susjedi ne mogu istovremeno jest?


« Prethodna stranica Sljedeća stranica »