Concurrente

Páginas: 11 (2677 palabras) Publicado: 17 de julio de 2012
SECCIONES CRÍTICA
La exclusión mutua necesita ser aplicada solo cuando un proceso acceda a datos compartidos; cuando los procesos ejecutan operaciones que no estén en conflicto entre si, debe permitirse les proceder de forma concurrente. Cuando un proceso esta desacotando datos se dice que el proceso se encuentra en su sección critica ( o región critica).
Mientras un proceso se encuentre en susección critica, los demás procesos pueden continuar su ejecución fuera de su secciones criticas. Cuando un proceso abandona su sección critica, entonces debe permitirse le proceder a otros procesos que esperan entrar en su propia sección critica ( si hubiera un proceso en espera). La aplicación de la exclusión mutua es uno de los problemas clave de la programación. concurrente. Se han diseñadomuchas soluciones para esto: algunas de software y algunas de hardware, mas de bajo nivel y otras de alto nivel; algunas que requieren de cooperación voluntaria, y algunas que demandan una adherencia rígida a protocolos estrictos.
Estar dentro de una sección critica es un estado muy especial asignado a un estado. El proceso tiene acceso exclusivo a los datos compartidos, y todos los demás procesosque necesitan accesar a esos datos permanecen en espera. Por tanto, las secciones criticas deben ser ejecutadas lo mas rápido posible, un programa no debe bloquearse dentro de su sección critica, y las secciones criticas deben ser codificadas con todo cuidado.
Si un proceso dentro de una sección critica termina, tanto de forma voluntaria como involuntaria, entonces, al realizar su limpieza determinación, el sistema operativo debe liberar la exclusión mutua para que otros procesos puedan entrar en sus secciones criticas

Así para garantizar la exclusión mutua tenemos las siguientes opciones:

1.-Desactivar las interrupciones: Consiste en desactivar todas las interrupciones del proceso antes de entrar a al región critica, con lo que se evita su desalojo de la CPU, y volverlas activar ala salida de la sección critica. Esta solución no es buena, pues la desactivación de las interrupciones deja a todo el sistema en manos de la voluntad del proceso unitario, sin que exista garantía de reactivación de las interrupciones.

2.-Emplear variables de cerradura: Consiste en poner una variable compartida, una cerradura, a 1 cuando se va a entrar en la región critica, y devolverla alvalor 0 a la salida. Esta solución en si misma no es valida porque la propia cerradura es una variable critica. La cerradura puede estar a 0 y ser comprobada por un proceso A, este ser suspendido, mientras un proceso B chequea la cerradura, la pone a 1 y puede entrar a su región critica; a continuación A la pone a 1 también, y tanto A como B pueden encontrar en su sección critica al mismo tiempo.Existen muchos intentos de la solución a este problema:

- -El algoritmo de Dekker
- -El algoritmo de Peterson
- -La instrucción hardware TSL : Test & Set Lock

Las soluciones de Dekker , Peterson y TSL son correctas pero emplean espera ocupada. Básicamente lo que realizan es que cuando un proceso desea entrar en su sección critica comprueba si esta permitida la entrada o no. Si no estapermitida, el proceso se queda en un bucle de espera hasta que se consigue el permiso de acceso.
Esto produce un gran desperdicio de tiempo de CPU, pero pueden aparecer otros problemas como la espera indefinida.

SEMÁFOROS

Son componentes pasivos de bajo nivel de abstracción que sirven para arbitrar el acceso a un recurso compartido.

DEFINICIÓN DE SEMÁFORO.
Un semáforo es un tipo dedatos.
Como cualquier tipo de datos, queda definido por:

Conjunto de valores que se le pueden asignar.
Conjunto de operaciones que se le pueden aplicar.

Un semáforo tiene asociada una lista de procesos, en la que se incluyen los procesos suspendidos a la espera de su cambio de estado.

VALORES DE UN SEMÁFORO.

En función del rango de valores que puede tomar, los semáforos se...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Concurrencia
  • Concurrente
  • concurrencia
  • Concurrencia
  • Concurrente
  • Concurrencia
  • CONCURRENCIA
  • Concurrencia

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS