<aside> ✏️

Este enunciado lo mandó un compañero por el grupo de wpp, se observa que algunos ejercicios se repiten de exámenes anteriores.

</aside>

Ejercicio 1

Explicar y comparar busy wait, deadlock, race condition y starvation.

Ejercicio 2

Motivacion del modelo de actores, definir las caracteristicas de los actores y el ciclo de vida en el framework que usamos (actix).

Ejercicio 3

Explicar el sistema de deadlocks distribuido, graficar un ejemplo (y una cosa mas)

image.png

En este ejemplo el proceso 1 necesita el recurso B, por lo tanto envía el siguiente mensaje:

{id_bloqueado: 1, id_envia: 1, id_recibe: 2}

Pero el proceso 2 necesita el recurso C, por lo tanto envía el siguiente mensaje:

{id_bloqueado: 1, id_envia: 2, id_recibe: 3}

Al mismo tiempo el proceso 3 necesita el recurso A que posee el proceso 1 y envía el siguiente mensaje:

{id_bloqueado: 1, id_envia: 3, id_recibe: 1}

Al llegar el mensaje al proceso 1 se detecta el ciclo en el grafo de uso de recursos y por ende encontramos el deadlock.