utilizados para preservar la integridad y consistencia del sistema cuando varios procesos concurrentes comparten recursos que son reutilizables en serie Sincronización entre Procesos La sincronización entre procesos puede definirse como la necesidad que tienen algunos procesos de bloquearse en determinadas circunstancias y ser despertados cuando ocurren ciertos eventos. Un caso típico en el cual se requiere sincronización ocurre cuando un proceso inicia una lectura y va a utilizar en la siguiente instrucción la información leida. En este caso se debe esperar a que la operación de E/S termine para poder continuar la ejecución. Necesidades de Sincronización entre Procesos El uso de variables compartidas es una forma sencilla y habitual de comunicación entre procesos cooperativos. Cuando un conjunto de procesos tienen acceso a un espacio común de direcciones, puede usar variables compartidas para una serie de cometidos. Exclusión Mutua
Método alternativo que proporciona la
metodología y las herramientas necesarias para tratar con problemas de sincronización entre procesos.La actualización de una variable compartida puede ser considerada como una sección crítica. Sección Crítica
Es una secuencia de instrucciones con un
comienzo y un final claramente marcados, que generalmente delimita la actualización de una o más variables compartidas.Sólo el proceso que ejecuta la sección crítica tiene permitido el acceso a la variable compartida; los restantes procesos deberían tenerlo prohibido hasta la terminación de la Sección Crítica. El problema de la Sección Crítica • n procesos compitiendo para utilizar algún dato compartido. • Cada proceso tiene un segmento de código, llamado sección crítica, en el que se accede al dato compartido. • Problema – asegurarse de que cuando un proceso esta ejecutandose en su sección crítica, a ningún otro proceso se le permite ejecutar la suya. Exclusión Mútua
Si un proceso P i esta ejecutandose en
su sección crítica,entonces ninguno de los otros procesos puede estar en su sección crítica. Solución al Problema de Exclusión Mutua Acceder al Recurso compartido Protegido. No hacer suposiciones con respecto a las velocidades. Garantizar el aborto o terminación de cualquier proceso fuera de su S.C. No afecte la capacidad de los restantes Cuando más de un proceso desee entrar a la S.C. Concederle la entrada a uno de ellos en tiempo finito. Progreso
Si ningún proceso esta ejecutándose
en su sección crítica y existen procesos que quieren entrar en su sección crítica, entonces la selección del próximo proceso que entrará a la sección crítica no puede ser pospuesta indefinidamente Espera limitada.
Debe existir un límite del número de veces
que se les permite a otros procesos entrar en sus secciones críticas en el intervalo entre que un proceso ha hecho un requerimiento para entrar en su sección crítica y que se le concede el permiso. Se supone que cada proceso se ejecuta a velocidad distinta de cero. Ninguna suposición respecto a la velocidad relativa de los n procesos.