Exclusion Mutua

Páginas: 9 (2048 palabras) Publicado: 13 de junio de 2012
Concepto de exclusión mutua.
* Consiste en que un solo proceso excluye temporalmente a todos los demás para usar un recurso compartido de forma que garantice la integridad del sistema.

Concepto de sección crítica.
* Es la parte del programa con un comienzo y un final claramente marcados que generalmente contiene la actualización de una o más variables compartidas.
* Para que unasolución al problema de la exclusión mutua sea válida, se tienen que cumplir una serie de condiciones:
* Hay que garantizar la exclusión mutua entre los diferentes procesos a la hora de acceder al recurso compartido. No puede haber en ningún momento dos procesos dentro de sus respectivas secciones críticas.
* No se deben hacer suposiciones en cuanto a la velocidad relativa de losprocesos en conflicto.
* Ningún proceso que esté fuera de su sección crítica debe interrumpir a otro para el acceso a la sección crítica.
* Cuando más de un proceso desee entrar en su sección crítica, se le debe conceder la entrada en un tiempo finito, es decir, que nunca se le tendrá esperando en un bucle que no tenga final.

Para solucionar el problema de la exclusión mutua vamos atener tres tipos de soluciones:
* Soluciones software.
* Soluciones hardware.
* Soluciones aportadas por el Sistema Operativo.

2. Soluciones hardware.
Las soluciones hardware se dividen en dos tipos:
* Optimistas.
* Consideran que lo mas probable es que no haya conflictos, y si los hay sea en número reducido, por lo que permiten cualquier acceso a la variable compartida.En caso de conflicto, mantienen la integridad del sistema descartando las actualizaciones.
* Pesimistas.
* Bloquean todo aquello que pueda interferir.
* Actualizan la variable.
* Desbloquean lo bloqueado al principio.

* Deshabilitar interrupciones y habilitar interrupciones (pesimista).
* Test and Set (Compartir y Fijar) (pesimista).
* Comparar e intercambiar(optimista).

3. Soluciones del Sistema Operativo.
3.1. Semáforos.
3.1.1. Semáforos binarios.
   Dijkstra dio en 1968 una solución elegante y sencilla al problema de la exclusión mutua con la introducción del concepto de semáforo binario. Esta técnica permite resolver la mayoría de los problemas de sincronización entre procesos y forma parte del diseño de muchos sistemas operativos y delenguajes de programación concurrentes.
   Un semáforo binario es un indicador de condición (S) que registra si un recurso está disponible o no. Un semáforo binario sólo puede tomar dos valores: O y 1. Si, para un semáforo binario. S=1 entonces el recurso está disponible y la tarea lo puede utilizar; si S=0 el recurso no está disponible y el proceso debe esperar.
   Los semáforos sólo permiten tresoperaciones sobre ellos:
      Espera.
      Señal.
      Inicializar.
wait (variable)
begin
   while (variable)>=0 do {esperar}
   variable=variable-1
end

signal (variable)
begin
   variable=variable+1
end

El wait y el signal son indivisibles y no se pueden interrumpir, es decir, no se pueden ejecutar ambas a la vez.
Los semáforos binarios los utilizaremos para recursos de unasola instancia, y para sincronización binaria.

3.1.2. Semáforos generales.
* El semáforo binario resulta adecuado cuando hay que proteger un recurso que pueden compartir varios procesos, pero cuando lo que hay que proteger es un conjunto de recursos similares, se puede usar una versión más general del concepto de semáforo que lleve la cuenta del numero de recursos disponibles. En este casoel semáforo se inicializa con el numero total de recursos disponibles (n) y las operaciones de espera y señal se diseñan de modo que se impida el acceso al recurso protegido por el semáforo cuando el valor de éste es menor o igual que cero.
* Cada vez que se solicita y obtiene un recurso, el semáforo se decrementa y se incrementa cuando se libera uno de ellos. Si la operación de espera se...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Exclusion mutua
  • exclusion mutua
  • Algoritmos de exclusion mutua
  • Concurrencia y exclusion mutua
  • Concurrencia Entre Procesos Y Exclusión Mutua
  • Soluciones Hardware
  • Algoritmo de exclusion mutua
  • Soluciones Hardware Para La Exclusión Mutua.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS