[NOS] 1. laboratorijska vježba - 2021/2022
Jaster111
Posjeduje li netko neke razumljivije i bolje resurse za rješavanje ovog labosa za razliku od onih koje smo dobili? Pokušavam u C-u napravit prvi zadatak, ali nemam nikakav uvid jel to što radim uopće na dobrom tragu…
tomekbeli420
jesam li ja retardiran ili je ovaj pseudokod koji je dan uz zadatak s vrtuljkom rješenje sa raspodijeljenim centraliziranim protokolom, a nema veze sa protokolom sa putujućom značkom?
micho
tomekbeli420 Je, valjda zato što pola studenata ima taj zadatak, a pseudokod postoji barem otkad sam ja imao predmet, prije godinu i pol
viliml
tomekbeli420 Ozbiljno? Ja sam implementirao protokol s putujućom značkom paralelno uz to.
Kao, to se izvršava po tom pseudokodu i oni izmjenjuju te poruke, ali onda još imam u dijeljenoj memoriji brojač koliko je ljudi na vrtuljku i čitanje ili pisanje u tu varijablu se radi u kritičnom odsječku koji je implementiram putujućom značkom.
Možda sam ja to samo autistično prekomplicirao.
tomekbeli420
viliml dijeljena memorija bruh what kaj smijemo to imati? Što da su procesi na različitim računalima?
Kuzis kod ovog pseudokoda posjetitelji uopce ne komuniciraju jedan s drugim, samo sa vrtuljkom, a vrtuljak s njim i to je to
Retard00 " upute su dane za unix, a ako hoces na drugom os-u ili drugom jeziku mislim da smiješ al onda si prepušten sebi za proučavanje apija
Vonj
U prezentacijama, protokol s putujucom znackom je objasnjen jednako kao i centralizirani protkol, samo sto vamo centralni salje ‘znacku’, a u centraliziranom salje specificne poruke odgovor, a posjetitelj onda salje izlaz. U knjizi je protokol s znackom objasnjen potpuno drugacije i bez centralnog cvora. Sta pratiti od toga dvoje?
Nocna_smjena
Vonj ja sam isao na nacin da centralni cvor (tj vrtuljak) “nikad” nema znacku. Prilikom inicijaliziranja dadnem prvom posjetitelju znacku pa ju on dadne nekom drugom posjetitelju ak njemu ne treba odmah (tj. vrtuljak samo u pocetku ima znacku dok ne napravi prvog posjetitelja i nikad vise ne dobije znacku nazad). Kad 4 posjetitelja sjednu i krenu silazit sa vrtuljka cekam da se broj posjetitelja na vrtuljku prvo spusti na 0 pa onda dopustam ponovni ulazak na vrtuljak,
bodilyfluids
Vonj Na prezentacijama su opisane dvije vrste centralnog protokola, jedan s porukama a drugi sa značkom. Dodatno postoji i protokol s putujućom značkom.
Centralizirani protokol sa značkom je više manje isti kao i centralizirani protokol s porukama, ali kako ime kaže, u jednom se koristi red poruka a u drugom značka koji je priča za sebe.
Protokol s putujućom značkom nema centralni čvor već postoji neki predodređeni raspored kako se značka kreće od čvora do čvora.
Ako rješavaš zadatak centaliziranim protokolom vjerojatno možeš koristiti bilo koju varijantu s obzirom da su slične. Ako ti je zadan protokol s putujućom značkom moraš bez centralnog čvora.
Nocna_smjena
Jel neko pokusao ovaj labos rijesiti sa execve ili necim slicnim? Meni javlja gresku da imam vise main funkcija sto mi ima i smisla jer execve (i slicni) pozivaju main iz tog novog fajla. Ak ist znaci u istom direktoriju su fajlovi posjetitelj i vrtuljak. Gledao sam na net-u i vidim da ljudi imaju isto vise main funkcija kad barataju sa ovim execve i slicnim funkcijama. Kad upisem u google error multiple definition of ‘main’ ljudi govore da samo moram imat jedan main u cijelom projektu sto je kontradiktorno ovomu iz prosle recenice
viliml
Nocna_smjena Svaki program koji ima main() moraš kompajlirati zasebno, ne sve odjednom. Pretpostavljam da si pokušao nešto kao gcc prog1.c prog2.c prog3.c
Nocna_smjena
viliml men iskrenuo glupo kaj nema neko prakticnije rjesenje za ovo. Mogli su stavit opciju da ti odredis koji main je uistinu glavni main. Ovak mi se cini ko dupliciranje posla a i potencijalno teze debuggiranje
viliml
Nocna_smjena Sve je savršeno dobro i praktično dizajnirano, ti to samo pokušavaš krivo koristiti.
Ovdje je najbolje zaboraviti na exec i jednostavno koristiti obične funkcije unutar jednog programa.
Nocna_smjena
viliml I kaj. Tvoja solucija je da napravim vise projekata za u biti jedan projekt?
viliml
Nocna_smjena Ako baš inzistiraš na to da koristiš exec, da, tako to moraš raditi.
To je doslovno što exec radi: poziva drugi projekt.
Ali nitko te ne tjera da koristiš exec. Možeš to riješiti normalno u jednom projektu.
Retard00
Jel bi se ovaj labos trebo radit na UNIX/linux-u?
viliml
Retard00 Sve upute su napisane za Linux i profesor daje konzultacije za Linux, ali možeš to samoinicijativno iskemijati npr u Pythonu cross-platformno ako baš znaš i hoćeš.
viliml
steker
Mi moramo rijesiti oba zadatka? Cini mi se da je neko spominjo da dio studenata dobiva jedan a dio drugi, al ne mogu to nigdje nac
viliml
steker Ako misliš na vrtuljak i filozofe, svatko treba riješiti (jednu varijantu) svakog zadatka.
Varijante su “rješavaju studenti čija je (pred)zadnja znamenka JMBAG (ne)parna”