Está en la página 1de 2

Regiones Criticas.

Cmo evitar las condiciones de competencia? La clave para evitar los problemas en sta y otras situaciones relacionadas con la memoria compartida, archivos compartidos y cualquier otra cosa compartida, es determinar una forma de prohibir que ms de algn proceso lea o escriba en los datos compartidos a la vez. En otras palabras, lo que necesitamos es la exclusin mutua (una forma de garantizar que si un proceso utiliza una variable o archivos compartidos, los dems procesos no puedan utilizarlos). El problema de evitar las condiciones de competencia tambin se puede formular de manera abstracta. Durante cierta parte del tiempo, un proceso est ocupado realizando clculos internos y otras labores que no conducen a condiciones de competencia. Sin embargo, en algunas ocasiones un proceso puede tener acceso a la memoria compartida de archivos o realizando labores crticas que pueden llevar a conflictos. Esa parte del programa, en la cual se tiene acceso a la memoria compartida se llama la Seccin o Regin Crtica. Aunque esta condicin evita los conflictos, no es suficiente para que los procesos paralelos cooperen en forma correcta y usen de modo eficaz los datos compartidos. La exclusin mutua debe ponerse en prctica, slo cuando los procesos obtienen acceso a datos compartidos modificables; cuando los procesos realizan operaciones que no entran en conflictos con otras, deben permitirse que procedan concurrentemente. Cuando un proceso obtiene acceso a datos compartidos modificables, se dice que se encuentra en una seccin crtica. Para evitar alguna clase de problemas se debe asegurar que cuando un proceso se encuentre en una seccin crtica, los dems procesos no pueden entrar a sus propias secciones crticas. Seccin Critica

Si un proceso se encuentra en su seccin crtica, otros procesos pueden seguir ejecutndose fuera de sus secciones crticas. Cuando un proceso abandona su regin, otro proceso que esperaba entrar en su propia seccin podr hacerlo. El problema de la programacin concurrente est en que se cumpla la exclusin mutua. Cuando se encuentra en una regin crtica se est hablando de un estado especial que se concede a un proceso. El proceso tiene acceso

exclusivo a los datos compartidos y los dems procesos que requieren acceso a esos datos y en ese momento deben esperar; por esto las secciones crticas deben ejecutarse tan rpido como sea posible. Un proceso no se debe bloquear dentro de su propia seccin crtica y estas deben codificarse con mucho cuidado. Si un proceso de una seccin crtica termina, el S.O. al realizar su mantenimiento de terminaciones, debe liberar la exclusin mutua para que otros procesos puedan entrar en sus regiones crticas. Necesitamos 4 condiciones para poder obtener una buena solucin: 1. Dos procesos no deben encontrarse al mismo tiempo dentro de sus secciones crticas . No se deben hacer hiptesis sobre la velocidad o el nmero de UCP. Ninguno de los procesos que estn en ejecucin fuera de su seccin crtica puede bloquear a otros procesos. Ningn proceso debe esperar eternamente para entrar a su seccin crtica.

2.

3.

4.

También podría gustarte