Está en la página 1de 4

PROCESAMIENTO PARALELO E INTERBLOQUEO DENTRO DE UN SISTEMA OPERATIVO

CONCURRENCIA E INTERBLOQUEO (DEADLOCK)

Los procesos no son ejecutados constantemente desde que se inician hasta que son finalizados.

Un proceso puede estar identificado con tres estados diferentes: leyendo ,ejecutando o
bloqueado . En el estado de lectura, un proceso está parado, concediendo que otro proceso sea
ejecutado; en el estado de ejecución, un proceso está utilizando algún recurso; y en el estado de
bloqueo, el proceso está parado y no se ejecutará mientras algo lo restaure.

Una condición común no deseable es descripta como deadlock, que es cuando dos procesos están
en un estado de ejecución, y requieren intercambiar recursos entre sí para continuar. Ambos
procesos están esperando por la liberación del recurso requerido, que nunca será realizada; como
no hay ningún resultado, tomará un camino que llevará a un estado de deadlock.

Se dice que dos procesos se encuentran en estado de deadlock (interbloqueo, bloqueo mutuo o
abrazo mortal) cuando están esperando por condiciones que nunca se van a cumplir. Se podría
hablar de deadlock como el estado permanente de bloqueo de un conjunto de procesos que están
compitiendo por recursos del sistema.

PRINCIPIOS DEL INTERBLOQUEO

El interbloqueo se puede definir como el bloqueo permanente de un conjunto de procesos que


compiten por los recursos del sistema o bien se comunican unos con otros. A diferencia de otros
problemas de la gestión concurrente de procesos, no existe una solución eficiente para el caso
general.

Todos los interbloqueos suponen necesidades contradictorias de recursos por parte de dos o más
procesos.

ACCIONES A REALIZAR ANTE UN INTERBLOQUEO. PREVENCION, DETECCION PREDICCION Y


EVITAR CONDICIONES PARA PRODUCIR INTERBLOQUEO

En la política del sistema operativo, deben darse tres condiciones para que pueda producirse un
interbloqueo:

1- Condición de exclusión mutua: Cada recurso está asignado a un único proceso o está disponible.

2- Condición de posesión y espera: Los procesos que tienen, en un momento dado, recursos
asignados con anterioridad, pueden solicitar nuevos recursos.

3- Condición de no apropiación: Los recursos otorgados con anterioridad no pueden ser forzados a
dejar un proceso. El proceso que los posee debe liberarlos en forma explícita.

En la mayoría de los casos, estas condiciones son bastantes necesarias. La exclusión mutua hace
falta para asegurar la consistencia de resultados y la integridad de la base de datos. De forma
similar, la apropiación no se puede aplicar arbitrariamente y, cuando se encuentran involucrados
recursos de datos, debe estar acompañada de un mecanismo de recuperación y reanudación, que
devuelva un proceso y sus recursos a un estado previo adecuado, desde el que el proceso puede
finalmente repetir sus acciones.

Puede no existir interbloqueo con solo estas tres condiciones. Para que se produzca interbloqueo,
se necesita una cuarta condición:

4- Condición de espera circular (o círculo vicioso de espera): Debe existir una cadena circular de
dos o más procesos, cada uno de los cuales espera un recurso poseído por el siguiente miembro
de la cadena.

PREVENCIÓN DEL INTERBLOQUEO

La estrategia básica de la prevención del interbloqueo consiste, a grandes rasgos, en diseñar su


sistema de manera que esté excluida, a priori, la posibilidad de interbloqueo.

Los métodos para prevenir el interbloqueo son de dos tipos:

- Los métodos indirectos que consisten en impedir la aparición de alguna de las tres condiciones
necesarias para que se de el interbloqueo.

- Los métodos directos que consisten en evitar la aparición del círculo vicioso de espera.

PREDICCIÓN DEL INTERBLOQUEO

Una forma de resolver el problema del interbloqueo, que se diferencia sutilmente de la


prevención, es la predicción del interbloqueo. En la prevención de interbloqueo, se obligaba a las
solicitudes de recursos a impedir que sucediera, por lo menos, alguna de las cuatro condiciones de
interbloqueo. Esto se hace indirectamente, impidiendo la aparición de una de las tres condiciones
necesarias (exclusión mutua, retención y espera, no apropiación) o directamente, impidiendo la
aparición de un círculo vicioso de espera. Se llega así a un uso ineficiente de los recursos y una
ejecución ineficiente de los procesos. Con predicción del interbloqueo, por otro lado, se pueden
alcanzar las tres condiciones necesarias, pero se realizan elecciones acertadas para asegurar que
nunca se llega al punto de interbloqueo. La predicción, por lo tanto, permite más concurrencia que
la prevención. Con predicción del interbloqueo, se decide dinámicamente si la petición actual de
asignación de un recurso podría, de concederse, llevar potencialmente a un interbloqueo. La
predicción del interbloqueo necesita, por lo tanto, conocer las peticiones futuras de recursos.
Enfoques para la predicción del interbloqueo: No iniciar un proceso si sus demandas pueden llevar
a interbloqueo. No conceder una solicitud de incrementar los recursos de un proceso si esta
asignación puede llevar a interbloqueo.

DETECCIÓN DEL INTERBLOQUEO

Las estrategias de prevención de interbloqueo son muy conservadoras; resuelven el problema


limitando el acceso a recursos e imponiendo restricciones sobre los procesos. En cambio, las
estrategias de detección de interbloqueo, no limitan el acceso a recursos ni restringen las acciones
del proceso. Con la detección del interbloqueo, se concederán los recursos que los procesos
necesiten siempre que sea posible. Periódicamente, el S. O. ejecuta un algoritmo que permite
detectar la condición de círculo vicioso de espera. - La detección del interbloqueo es el proceso de
determinar si realmente existe un interbloqueo e identificar los procesos y recursos implicados en
él. Una posibilidad detectar un interbloqueo es monitorear cada cierto tiempo el estado de los
recursos. Cada vez que se solicita o se devuelve un recurso, se actualiza el estado de los recursos y
se hace una verificación para observar si existe algún ciclo. - Este método está basado en suponer
que un interbloqueo no se presente y que los recursos del sistema que han sido asignados, se
liberarán en el momento que otro proceso lo requiera.

PROCESAMIENTO PARALELO

Este se basa en el procesamiento concurrente de datos para conseguir un menor tiempo de


ejecución, consiste en un grupo de técnicas que se utilizan para proporcionar tareas simultaneas
de procesamiento de datos con la finalidad de aumentar la velocidad computacional de un
sistema de computadores

Este implica

 Sucesos paralelos: ocurren en múltiples recursos durante el mismo intervalo de tiempo


 Sucesos simultáneos: ocurren en el mismo instante.
 Sucesos pipeline: ocurre en lapsos superpuestos

Su principal beneficio es que la escalabilidad puede se difícil de alcanzar aun permitiendo ejecutar
procesos en donde cada procesador se encarga de uno u otro y aceleran de esta forma el calculo,
permite sobrellevar algunas dificultades mas que todo en lo que respecta a la velocidad de
procesamiento de E/S mediante la utilización de la CPU y discos en paralelo logrando asi realizar
varias tareas simultáneamente

Cuenta con los siguientes diseños

 Multiprocesamiento simétrico SMP: diseño simple y efectivo es una tecnología no


escalable
 Procesamiento masivamente paralelo / MPP: sirve para evitar los cuellos de botella en el
bus de memoria no utiliza memoria compartida y usa tecnología altamente escalable
 Procesamiento paralelo escalable SPP: utiliza una memoria jerarquica de dos niveles para
alcanzar la escalabilidad es hibrido de SMP y MPP
http://phxntom.blogspot.com.co/2012/09/unidad-ii-administracion-de-procesos.html

También podría gustarte