Buenas. En openfing el profesor comentó que se puede implementar una sección crítica aplicando el algortimo de deckker. Mi duda es que ambos procesos están corriendo el mismo código. Como implementamos la logica de banderas y turnos si ambos procesos ejectuan las mismas instrucciones? Hay que tener dos procesos con sección de código independiente como en las diapositivas?
Re: Ejercicio 5 | Algoritmo de Dekker?
Re: Ejercicio 5 | Algoritmo de Dekker?
Eso lo entiendo. Mi duda es como hacer cuando se quiere implementar algoritmo de dekker en dos procesos que estan leyendo el mismo código. Es decir, hay dos procesos ejecutando:
procedure actividad is
begin for i in 1..12 loop
actividad_propia_del_proceso
unidades := unidades + 1;
if (unidades = 10) then
unidades := 0;
decenas := decenas + 1;
end if;
end loop;
end procedure;
Para implementar dekker, tengo necesariamente que escribir dos procesos actividadA y actividadB, con sus respectivas condiciones para entrar en la sección crítica?
Re: Ejercicio 5 | Algoritmo de Dekker?
Puede ser el mismo y llamar a una función entrar_dekker y salir_dekker. Si usas arreglos la única diferencia sería un parámetro que indica si es la función A o B que a su vez puede ser un parámetro del procedure actividad.