ALGORITMO DE EXCLUSION MUTUA
Enviado por sirjack • 22 de Octubre de 2013 • 1.072 Palabras (5 Páginas) • 373 Visitas
Tópico de Investigación
El propósito de este trabajo es conocer los diferentes tipos de algoritmos de sincronización, operación y exclusión en los sistemas operativos, con la finalidad de conocer más sobre ellos y así tener un mayor comprendimiento del funcionamiento interno de la máquina y el cómo es que se realizan los procesos de qué manera y bajo que términos.
ALGORITMO DE EXCLUSION MUTUA
La exclusión mutua se usa cuando dos programas o requerimientos intentan hacer uso de un recurso que no puede ser usado por dos o más requerimientos al mismo tiempo, tal como el uso del procesador. La manera más fácil de hacer una exclusión mutua es con una bandera o inhabilitador esto sirve para llevar un control de que requerimiento hace uso del recurso, esto visto de manera más coloquial es un semáforo donde solo uno carro puede pasar a la vez. Esto es tarea diaria del procesador ya que para el usuario el multi-proceso es acto normal más a nivel procesador esto no ocurre sino que simplemente los requerimientos hacen uso del micro de manera ordenada que hace una alusión a un multi-proceso.
Ejemplos de tipos de algoritmo de exclusión:
El algoritmo de Dekker implementado por Edsger Dijkstra. Haciendo uso de una variable de turno es que el proceso se ejecuta en caso de que exista ya un proceso en ejecución el o los demás procesos tienen que esperar hasta que el proceso termine su ejecución y así el siguiente proceso puede ser ejecutado.
o Existen de este algoritmo 5 versiones más las primeras 4 presentan un tipo de falla en el hilo o la variable de turno fue hasta la quinta versión, que fue una mescla de otras versiones que el algoritmo funciono de manera más estable.
El algoritmo de Peterson o solución de Peterson este algoritmo en su principio fue concebido para dos procesos solamente y posteriormente se desarrolló la versión para N procesos. Estos fueron a su vez una simplificación del algoritmo de Dekker.
ALGORITMOS DE ELECCION
Los algoritmos de elección fueron creados para poder así tener una especie de ordenador o coordinador por así decirlo, el cual controle el flujo de los procesos. Por poner un ejemplo es bien sabido que los algoritmos de exclusión necesitan de un coordinador para asignar tiempos de proceso y orden de prioridades. El ejemplo más fácil de entender sobre este tipo de algoritmos de elección es el portero en algún bar, él es el encargado de decidir quién entra y quién no y de la manera que lo hace.
Existen varios tipos de algoritmos de elección entre los más conocidos está el algoritmo de anillo y el de tipo Bully.
Algoritmo de tipo Anillo
o Cada uno de los procesos tiene un conducto o medio de comunicación con el proceso siguiente a el en forma de anillo. Los mensajes son enviados en orden del sentido de las manecillas del reloj.
o El proceso disparador o el que inicia manda un mensaje de elección al proceso de a un lado.
o Cuando un proceso recibe un mensaje de elección este lo compara con su identificador
Si el identificador recibido es menor y el proceso no es participante reemplaza el identificador con el propio y manda un mensaje al proceso vecino marcándose como participante.
Si el identificador recibido es mayor se reenvía al proceso vecino y se marca como participante.
Si el identificador recibido es menor y es un participante, no se realiza ninguna acción.
Si el identificador recibido coincide con el propio ese proceso es el líder.
o El líder se marca como no participante y manda un mensaje elegido al proceso vecino.
o Cuando un proceso que no es líder recibe un mensaje este anota que proceso es el líder y reenvía el mensaje.
Algoritmo de tipo Bully
o Cuando un proceso quiere comenzar una elección
...