Site hosted by Angelfire.com: Build your free website today!
     
 



Administrador de Procesos y del Procesador

2.4.2 Sincronizaicon de Procesos

 

En muchos casos, los procesos se reunen para realizar tareas en conjunto, a este tipo de relacion se le llama procesos cooperativos. Para lograr la comunicacion, los procesos deben sincronizarse, de no ser asi pueden ocurrir problemas no deseados. La sincronizacion es la transmision y recepcion de senales que tiene por objeto llevar a cabo el trabajo de un grupo de procesos cooperativos.

Es la coordinacion y cooperacion de un conjunto de procesos para asegurar la comparacion de recursos de computo. La sincronizacion entre procesos es necesaria para prevenir y/o corregir errores de sincronizacion debidos al acceso concurrente a recursos compartidos, tales como estructuras de datos o dispositivos de E/S, de procesos contendientes. La sincronizacion entre procesos tambien permite intercambiar senales de tiempo (ARRANQUE/PARADA) entre procesos cooperantes para garantizar las relaciones especificas de precedencia impuestas por el problema que se resuelve.

Sin una sincronizacion adecuada entre procesos, la actualizacion de variables compartidas puede inducir a errores de tiempo relacionados con la concurrencia que son con frecuencia dificiles de depurar. Una de las causas principales de este problema es que procesos concurrentes puedan observar valores temporalmente inconsistentes de una variable compartida mientras se actualizan. una aproximacion para resolver este problema es realizar actualizaciones de variables compartidas de manera mutuamente exclusiva. Se pueden mejorar permitiendo que a lo mas un proceso entre a la vez en la seccion critica de codigo en la que se actualiza una variable compartida o estructura de datos en particular.

Para que los procesos puedan sincronizarse es necesario disponer de servicios que permitan bloquear o suspender bajo determinadas circunstancias la ejecucion de un proceso. Los principales mecanismos de sincronizacion que ofrecen los sistemas operativos son:

  • Senales
  • Tuberias
  • Semaforos
  • Mutex y variables condicionales
  • Paso de mensajes
2.4.1 Exclusion mutua de Seccion Critica 2.4.2 Sincronizacion de Procesos 2.4.2.1 Mecanismos de Semaforos 2.4.2.2 Mecanismos de Monitoreo 2.4.3 Interbloqueo Evaluacion ->Regresar al Indice