Soluciones Por Software
Enviado por sthephania • 25 de Diciembre de 2013 • 295 Palabras (2 Páginas) • 384 Visitas
Soluciones por Software
Pueden desarrollarse soluciones de software para los procesos concurrentes tanto para sistemas de mono procesadores como para sistema multiprocesadores. Por lo general, en dichas soluciones existen, en teoría, una exclusión mutua elemental en el acceso a memoria.
Protocolo de entrada: antes de ejecutar las instrucciones de la sección critica se comprueba si se puede entrar a dicha sección atendiendo al problema de la exclusión mutua.
Protocolo de salida: deja al proceso en un estado de tal forma que cualquier otro proceso puede acceder a su sección critica, esto es, a la sección critica del proceso que quedo en este estado.
Soluciones por Hardware
1) Activacion – Desactivacion de interrupciones: si se desactivan las interrupciones no se presenta el problema de la exclusión mutua porque al hacerlo impedimos que ningun otro proceso pueda parar al que ya está.
Desventajas:
• Excluye a todos los procesos del sistema, no solo a los procesos que poseen las condiciones de competencia.
• Si existe un bloqueo en la sección crítica se para el sistema debido a que se han desactivado las interrupciones.
• Los mecanismos para implementar sincronización y comunicación son de bajo nivel.
• falla en sistemas multiprocesadores.
2) Instrucción test & set: cerradura inicialmente tiene asignado el valor falso.
• En este caso se dispone de una interrupción llamada TEST & SET que se ejecuta de forma indivisible, realizando la devolución de un valor booleano. Dado un parámetro, se actualiza devolviendo la variable objetivo y asignándole a esta el valor verdadero.
• Mientras TEST & SET sea “1” no se entra en la sección critica.
Ventajas: soluciona el problema de la exclusión mutua en sistemas multiprocesadores.
Inconvenientes:
• Si se bloquea en la sección crítica, se bloquean todos los procesos: interbloqueo.
• Utiliza la espera ocupada y se perderá eficiencia.
...