Algoritmos de exclusion mutua

Solo disponible en BuenasTareas
  • Páginas : 5 (1023 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de noviembre de 2010
Leer documento completo
Vista previa del texto
ITSJ

MATERIA: SISTEMAS OPERATIVOS

PROFESOR: L.I. MIGUEL MENDEZ MARTINEZ

ALUMNO: BRENDA ELIZABETH CARRILLO GARCIA

NUM. CONTROL: 06070012

TAREA: ALGORITMOS DE EXCLUSION MUTUA

GRUPO: 9º ISC.

FECHA: 03/09/10

JEREZ, ZAC.

ALGORITMOS DE EXCLUSION MUTUA
Uno de los objetivos del sistema operativo es la representación de los procesos y el soporte de los cambios de contextoentre procesos, que posibilitan la compartición del recurso CPU. El acceso a otros recursos compartidos y la comunicación entre procesos relacionados (por ejemplo, de una misma aplicación) hacen necesaria la utilización de mecanismos de sincronización dentro del sistema operativo. Los algoritmos de exclusión mutua (comúnmente abreviada como mutex por mutual exclusión) se usan en programaciónconcurrente para evitar que fragmentos de código conocidos como secciones críticas accedan al mismo tiempo a recursos que no deben ser compartidos. La mayor parte de estos recursos son las señales, contadores, colas y otros datos que se emplean en la comunicación entre el código que se ejecuta cuando se da servicio a una interrupción y el código que se ejecuta el resto del tiempo. Se trata de un problemade vital importancia porque, si no se toman las precauciones debidas, una interrupción puede ocurrir entre dos instrucciones cualesquiera del código normal y esto puede provocar graves fallos. La técnica que se emplea por lo común para conseguir la exclusión mutua es inhabilitar las interrupciones durante el conjunto de instrucciones más pequeño que impedirá la corrupción de la estructuracompartida (la sección crítica). Esto impide que el código de la interrupción se ejecute en mitad de la sección crítica. Existen las soluciones del software y del hardware para hacer cumplir la exclusión mutua. Las diversas soluciones se presentan abajo.

Soluciones del hardware En uniprocessor el sistema la manera común de alcanzar la exclusión mutua es inhabilitar interrupciones para el número posiblemás pequeño de las instrucciones que prevendrán la corrupción de la estructura de datos compartida, sección crítica. Esto evita que el código de la interrupción funcione en la sección crítica. En una computadora en la cual varios procesadores comparten memoria, un indivisible prueba-y-fije de la bandera se utiliza en un lazo apretado esperar hasta que el otro procesador despeja la bandera.Prueba-y-fije realiza ambas operaciones sin lanzar el autobús de la memoria a otro procesador. Cuando el código sale de la sección crítica, despeja la bandera. Esto se llama “spinlock“o”ocupado-espere."

Algunas computadoras tienen instrucciones indivisibles similares de la múltipleoperación, e.g., comparar-y-intercambie, para manipular listas encadenadas utilizado para las coletas y otra delacontecimiento estructuras de datos de uso general adentro sistemas operativos.

Soluciones del software Se utilizan los siguientes algoritmos: ALGORITMO DE PETERSON El algoritmo de Peterson, también conocido como solución de Peterson, es un algoritmo de programación concurrente para exclusión mutua, que permite a dos o más procesos o hilos de ejecución compartir un recurso sin conflictos, utilizandosólo memoria compartida para la comunicación. Más simple que el de Dekker, garantiza la exclusión mutua: •Cada proceso tiene un turno para entrar en la sección crítica. •Si un proceso desea entrar en la sección crítica, debe activar su señal y puede que tenga que esperar a que llegue su turno. Impide el interbloqueo ya que si un proceso se encuentra esperando en el “while”, entonces la señal y elturno del otro proceso están activadas. El proceso que está esperando entrará en su sección crítica cuando la señal o el turno del otro se desactiven.

Peterson desarrolló el primer algoritmo (1981) para dos procesos que fue una simplificación del algoritmo de Dekker para dos procesos. Posteriormente este algoritmo fue generalizado para N procesos. ALGORITMO PARA DOS PROCESOS:

Los procesos...
tracking img