11
Concurrencia: interbloqueo e inanición Jhon Fredy Garcia Cumaco Sistemas Operativos Escuela Colombiana de Carreras Industriales

concurrenciainterbloqueoeinanicin-131114082819-phpapp02

Embed Size (px)

DESCRIPTION

base de datos concurrencia

Citation preview

  • Concurrencia:interbloqueo e inanicinJhon Fredy Garcia CumacoSistemas Operativos Escuela Colombiana de Carreras Industriales

  • PRINCIPIOS DEL INTERBLOQUEOEl 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 gestin concurrente de procesos, no existe una solucin eficiente para el caso general.

    Todos los interbloqueos suponen necesidades contradictorias de recursos por parte de dos o ms procesos.

  • Concurrencia: interbloqueo e inanicinSedefinecomoelbloqueopermanentedeunconjuntodeprocesosquecompitenpor losrecursosdelsistemaobiense comunicanunosconotros.

  • RECURSOSUn sistema se compone de un numero finito de recursos que se distribuyen entre varios tipos:- Fsicos: Ciclo de cpu, espacio en memoria, dispositivos de e/s (impresoras, unidades de cinta, etc.)- Lgicos: Ficheros, tablas del sistemas, semforos. Por lo general, una computadora tiene distintos recursos que pueden ser otorgados. Algunos recursos podrn tener varias instancias idnticas, como es el caso de tres unidades de cinta. Si se tienen disponibles varias copias de un recurso, cualquiera de ellas se pude utilizar para satisfacer cualquier solicitud del recurso. Un recurso es cualquier cosa que solo puede ser utilizada por un nico proceso en un instante dado.Los recursos son de dos tipos:- Apropiable- No apropiables

  • RECURSOSSi el recurso no esta disponible cuando se le solicita, el proceso solicitante debe esperar. En algunos sistemas operativos, el proceso se bloquea de manera automtica al fallar una solicitud de un recurso y se despierta cuando dicho recurso esta disponible. En otros sistemas la solicitud falla con un cdigo de error y el proceso solicitante debe esperar un poco e intentar de nuevo.

    Un proceso cuya solicitud de un recurso ha sido denegada entra por lo general en un ciclo, en el cual solicita el recurso, duerme e intenta de nuevo.

    Aunque este proceso no esta bloqueado, para todos los efectos esta como bloqueado, puesto que no puede hacer ninguna labor til.

  • CONDICIONES PARA PRODUCIR INTERBLOQUEO

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

    1- Condicin de exclusin mutua: Cada recurso esta asignado a un nico proceso o esta disponible.

    2- Condicin de posesin y espera: Los procesos que tienen, en un momento dado, recursos asignados con anterioridad, pueden solicitar nuevos recursos.

    3- Condicin de no apropiacin: Los recursos otorgados con anterioridad no pueden ser forzados a dejar un proceso. El proceso que los posee debe liberarlos en forma explicita.

  • CONDICIONES PARA PRODUCIR INTERBLOQUEO

    En la mayora de los casos, estas condiciones son bastantes necesarias. La exclusin mutua hace falta para asegurar la consistencia de resultados y la integridad de la base de datos.

    De forma similar, la apropiacin no se puede aplicar arbitrariamente y, cuando se encuentran involucrados recursos de datos, debe estar acompaada de un mecanismo de recuperacin y reanulacin, 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 condicin:

  • CONDICIONES PARA PRODUCIR INTERBLOQUEO

    4- Condicin de espera circular (o circulo vicioso de espera): Debe existir una cadena circular de dos o mas procesos, cada uno de los cuales espera un recurso posedo por el siguiente miembro de la cadena.

  • EJEMPLOInterbloqueo de trfico

    Cuatro coches llegan aproximadamente en el mismo instante a un cruce de cuatro caminos. Los cuatro cuadrantes de la interseccin son los recursos compartidos sobre los que se demanda control; por tanto, si los coches desean atravesar el cruce, las necesidades de recursos son las siguientes:

  • EJEMPLO

    El coche que va hacia el norte necesita los cuadrantes 1 y 2.El coche que va hacia el oeste necesita los cuadrantes 2 y 3.El coche que va hacia el sur necesita los cuadrantes 3 y 4.El coche que va hacia el este necesita los cuadrantes 4 y 1.

  • EJEMPLO

    La norma mas habitual en la carretera es que un coche en un cruce de cuatro caminos debe ceder el paso al coche que est a su derecha. Esta norma funciona si solo hay dos o tres coches en el cruce.

    Por ejemplo, si solo llegan al cruce los coches del norte y del oeste, el coche del norte esperar hasta que el del oeste pase. Sin embargo, si los cuatro coches llegan al mismo tiempo cada uno se abstendr de entrar en el cruce, provocando interbloqueo.

    Si todos los coches ignoran las normas y entran (con cuidado) en el cruce, cada coche obtendr un recurso (un cuadrante) pero no podr continuar porque el segundo recurso que necesita ya ha sido invadido por otro coche. De nuevo, se tiene interbloqueo.