lunes, 27 de octubre de 2008

2.4.2 Sincronización Procesos en SO

Según la investigación de Tanenbaum y Woodhull (1997) la sincronización es la transmisión y recepción de señales que tiene por objeto llevar a cabo el trabajo de un grupo de procesos cooperativos. Es la coordinación y cooperación de un conjunto de procesos para asegurar la comparación de recursos de cómputo. La sincronización entre procesos es necesaria para prevenir y/o corregir errores de sincronización debidos al acceso concurrente a recursos compartidos. La sincronización permite intercambiar señales de tiempo (arranque/parada entre procesos cooperantes para garantizar las relaciones específicas de precedencia impuestas por el problema que se resuelve. Sin una sincronización adecuada entre procesos, la actualización de variables compartidas puede inducir a errores de tiempo relacionados con la concurrencia que son con frecuencia difíciles de depurar.

Tanenbaum y Woodhull (1997) recalcan que para que los procesos puedan sincronizarse es necesario disponer de servicios que permitan bloquear o suspender bajo determinadas circunstancias la ejecución de un proceso. Los principales mecanismos de sincronización que ofrecen los sistemas operativos son:
  • Señales.
  • Tuberías.
  • Semáforos.
  • Mutex y variables condicionales.
  • Paso de mensajes.
  • Tuberías.

Tanenbaum y Woodhull (1997) plantean que una tubería es un mecanismo de comunicación y sincronización. Conceptualmente, cada proceso ve la tubería como un conducto con dos extremos, uno de los cuales se utiliza para escribir o insertar datos y el otro para extraer o leer datos de la tubería.

No hay comentarios: