ALGORITMO CENTRALIZADO
Con este algoritmo se elige a uno de los procesos como coordinador. Este proceso es el que se va a encargar de determinar si un proceso puede entrar a ejecutar dentro de la sección crítica. Cuando un proceso desea entrar a ejecutar dentro de la sección crítica envía un mensaje al coordinador solicitando la entrada. Si no existe ningún proceso dentro déla sección crítica, el coordinador envía un mensaje de respuesta permitiendo al proceso entrar en la sección. Si existe, sin embargo, un proceso dentro de la sección crítica, el coordinador no responde dejando bloqueado al proceso que desea entrar y la solicitud se almacena en una cola para su procesamiento posterior.
Cuando un proceso abandona la sección crítica envía un mensaje al coordinador indicándolo. El coordinador a continuación comprueba si existen procesos en la cola que esperan entrar en la sección crítica. En caso de que existan, elige al primero de ellos y le envía un mensaje permitiéndole entrar. Este mensaje de respuesta desbloquea al proceso que entra a continuación en la sección crítica.
El algoritmo descrito es relativamente sencillo; sin embargo, el hecho de utilizar un proceso coordinador hace que presente un único punto de fallo. En caso de que el proceso coordinador falle, el algoritmo deja de funcionar correctamente. Habría en este caso que elegir a un nuevo proceso coordinador.
No hay comentarios:
Publicar un comentario