Introducción - Departamento de Lenguajes y Sistemas Informáticos

Introducción - Departamento de Lenguajes y Sistemas Informáticos Introducción - Departamento de Lenguajes y Sistemas Informáticos

12.07.2015 Views

Programación Concurrente. I.T. Sistemas y Gestión. Relación de Problemas 6b) ¿Qué ocurriría si la instrucción primitiva EX fuese reemplazada por las 3 asignacionesanteriores?PROGRAM Intercambio; | BEGINVAR c:INTEGER; | c:=1;PROCEDURE P1; PROCEDURE P2; | COBEGINVAR l:INTEGER; VAR l:INTEGER; | P1;P2BEGIN BEGIN | COENDl:=0; l:=0; | END.REPEATREPEATREM1;REM2;REPEATREPEATEX(c,l);EX(c,l);UNTIL l=1;UNTIL l=1;CRIT1;CRIT2;EX(c,l);EX(c,l);FOREVER;FOREVER; END;END;END;

Programación Concurrente. I.T. Sistemas y Gestión. Relación de Problemas 724. Considerar el siguiente algoritmo de exclusión mutua para n procesos (algoritmo deKnuth):Proceso(i)c: ARRAY[0..n] OF (pasivo, solicitando, enS_C);c:= pasivo;Turno:= 0;. . .REPEATc[i]:= solicitando;j:= Turno;WHILE ji DOIF c[j]pasivo THEN j:=TurnoELSE j:=(j-1) MOD n ;c[i]:= en_SC;k:= 0;WHILE k= n;Turno:= i;(* SECCION CRITICA *)Turno:= (i-1) MOD n ;c[i]:= pasivo;Escribir un escenario en el que 2 procesos consiguen pasar el bucle de la instrucción (7),suponiendo que el turno lo tiene inicialmente el proceso P(0).25. Demostrar que en la generalización del algoritmo de Peterson para "n" procesos :REPEATFOR j:= 1 TO n-1 DOBEGINq[i]:=j;turno[j]:=i;WHILE (∃ki: q[k]>=j) AND (turno[j]=i) DO;END;.....SECCION CRITICA........q[i]:=0;UNTIL FALSE;cuando un proceso pasa a la etapa siguiente, se verifica una de estas dos condiciones:a) precede a todos los demásb) no estaba solo en la etapa que ha dejado

Programación Concurrente. I.T. <strong>Sistemas</strong> y Gestión. Relación <strong>de</strong> Problemas 724. Consi<strong>de</strong>rar el siguiente algoritmo <strong>de</strong> exclusión mutua para n procesos (algoritmo <strong>de</strong>Knuth):Proceso(i)c: ARRAY[0..n] OF (pasivo, solicitando, enS_C);c:= pasivo;Turno:= 0;. . .REPEATc[i]:= solicitando;j:= Turno;WHILE ji DOIF c[j]pasivo THEN j:=TurnoELSE j:=(j-1) MOD n ;c[i]:= en_SC;k:= 0;WHILE k= n;Turno:= i;(* SECCION CRITICA *)Turno:= (i-1) MOD n ;c[i]:= pasivo;Escribir un escenario en el que 2 procesos consiguen pasar el bucle <strong>de</strong> la instrucción (7),suponiendo que el turno lo tiene inicialmente el proceso P(0).25. Demostrar que en la generalización <strong>de</strong>l algoritmo <strong>de</strong> Peterson para "n" procesos :REPEATFOR j:= 1 TO n-1 DOBEGINq[i]:=j;turno[j]:=i;WHILE (∃ki: q[k]>=j) AND (turno[j]=i) DO;END;.....SECCION CRITICA........q[i]:=0;UNTIL FALSE;cuando un proceso pasa a la etapa siguiente, se verifica una <strong>de</strong> estas dos condiciones:a) prece<strong>de</strong> a todos los <strong>de</strong>másb) no estaba solo en la etapa que ha <strong>de</strong>jado

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!