Implementa con hilos POSIX, con hilos Java o con Python (al menos uno en cada lenguaje), los siguientes algoritmos vistos en clase que utilizan la espera ocupada para la exclusión mutua:
Algoritmo de Dekker
Algoritmo de Peterson
Algoritmo de Hyman
Algoritmo de Lamport
Según la ejecución de cada uno de los algoritmos, anota en tu memoria si son correctos o incorrectos, y si son incorrectos qué propiedades no están cumpliendo. Si no observas la salida esperada prueba a modificar los tiempos de respuesta de tus hilos para obtenerla si fuera posible.
A la hora de estudiar el comportamiento de los hilos en la sección crítica ten en cuenta que p.e.;
En Java, las asignaciones de tipos primitivos se realiza de forma atómica.
En Python existe el llamado GIL (global interpreter lock).
Debes ejecutar tu programa con el comando taskset1 para que tu ordenador trabaje en modo monoprocesador. Hazlo así: taskset -c 0 proceso.
Puedes cambiar el 0 por el número de núcleo que ejecutará la tarea
Se realiza en pracdlsi en las fechas allí indicadas. Puedes entregar tantas veces como quieras, solo se corrige la ultima entrega.
Crea una carpeta llamada p4 y dentro de ella estarán el código y archivos de texto o PDF donde contestas a las preguntas. Esta carpeta la comprimes en un archivo llamado p4.tgz p.e. así usando el terminal: tar cfz p4.tgz p4