test 2-b 1)pomoci monitoru (semaforu) udrelat bezpecnte pricitani program race; var x: integer := 0; S: SEMAPHORE := 1; procedure a; var i: integer; begin for i:=1 to 50 do !!! begin P(S); x:=x+1; V(S); end; !!!! end; begin cobegin a; a coend; writeln('x=', x) end. 2) momoci semaforu osetrit problem producen konzument pro buffer o velikosti 1 // nejsem si jistej program ProducentKonzument; var buffer: char; { vyrovnavaci pamet } e:SEMAPHORE := 0; f:SEMAPHORE := 1; procedure Producent; var konec:bool; begin repeat !!! P(f); bufer := NACTI(); // vypise na obrazovku konec := JePosledi(buffer); // zjisti zda skoncit !!! V(E); until konec end; procedure Konzument; var konec:bool; begin repeat !!! P(E); write (buffer,', '); // vypise na obrazovku konec := JePosledi(buffer); // zjisti zda skoncit !!! P(F); until konec end; begin cobegin Producent; Konzument coend; writeln end. 3) rozdil mezi blokujicim a neblokujicim receive blokujici - pozastavi beh programu neblokujici - jede dal 4) proc je u RR (cyklicky ???) nevhodne kratke casove kvantum hodne casu je pouzito pro prepinani mezi procesy misto pro vypocet 5) filozove. Ceka na levou vidlicku, kdyz muze tak ji zvedne a ceka na pravou. Pak ji. a) muze dojit k uviznuti - !!! ANO - kdyz levou zvednou vsichni tak vsichni cekaji az nekdo vidlicku polozi b) muze dojik k vyhladoveni - !!! NE - vzdy filozof postupuje k tomu aby se najedl nebo ceka odpoved zduvodnete