viernes, 15 de octubre de 2010

UNIDAD 2 Gestión del procesador, comunicación y sincronización de datos. (PARTE II)

Diferencia entre concurrencia y paralelismo

Según el diccionario, concurrencia es: coincidir en el espacio o en el tiempo dos o más personas o cosas. En Informática, se habla de concurrencia cuando existen simultaneamente varios procesos, cada uno independiente de los otros.

En cambio, el parelismo supone la ejecución simultanea de varios procesos. Para implementar el paralelismo, se necesita el hardware acecuado (se necesitan varios proccesdores)

El paralelismo indica una ejecución simultanea, por lo tanto es un caso concreto de concurrencia. Sin embargo, concurrencia no implica paralelismo.




Sección critica

El problema de la sección crítica es uno de los problemas que con mayor frecuencia aparece cuando se ejecutan procesos concurrentes.
Cada proceso tiene un segmento de codigo, llamado sección crítica, (en el cual el proceso puede estar modificando variables comunes, actualizando una tabla, escribiendo en un archivo, etc.) La principal caracteristica del sistema es que, cuando un proceso se ejecuta en su sección crítica, no se permite que ningún otro proceso se ejecute en su sección. De esta manera, la ejecución de las secciones críticas de los procesos es mutuamente excluyente en el tiempo. El problema de la sección crítica consiste en diseñar un protocolo que los procesos puedan usar para cooperar.

Una solución para el problema de la sección crítica debe cumplir estos 3 requisitos:

• Exclusión mutua: Si un proceso está ejecutando código de la sección crítica, ningún otro proceso lo podrá hacer.

• Progreso: Si ningún proceso está ejecutando dentro de la sección crítica, la decisión de qué proceso entra en la sección se hará sobre los procesos que desean ingresar

 Espera acotada: Debe haber un límite en el número de veces que se permite que los demás procesos entren a ejecutar codigo de laseccion critica después de que un proceso haya efectuado una solicitud de entrada y antes de que se conceda la suya. 




Semáforos

Es un sistema de sincronizacion que suele utilizarse para tratar el problema de la sección critica

Las operaciones P y V fueron inventadas en 1965 por E. W. Dijkastra. Dijkastra llamó al argumento de una operación P y V semáforo en analogía con la luz de tráfico del ferrocarril, el cual indica que si un tren entra a la línea el semáforo cambia de color la luz para asegurar que ningún otro tren ingrese a la línea. La operación P(S) produce que el sistema operativo bloquee la entrada a la sección S y permite la entrada sólo al proceso que ejecutó la operación. La operación V(S) desbloquea la sección para dejar el acceso disponible para cualquier proceso que lo solicite.

Monitores

Un monitor es un conjunto de procedimientos que proporciona el acceso con exclusión mutua a un recurso o conjunto de recursos compartidos por un grupo de procesos. Los procedimientos van encapsulados dentro de un módulo que tiene la propiedad especial de que sólo un proceso puede estar activo cada vez para ejecutar un procedimiento del monitor.