Felipe Molina Germán Castellanos Diana Cardona Paola Rodríguez Manuel Tibaduiza
Bloqueos de comunicación  Un proceso intenta enviar un mensaje a varios procesos (el proceso A envia un msj a B,C,A) Bloqueos de recursos ocurre cuando los procesos pelean por el acceso a los dispositivos de E/S.
El algoritmos es avestruz Ignorar el problema Detección Permitir que ocurran los bloqueos, detectarlos e intentar recuperarse de ellos Prevención Lograr estaticamente que los bloqueos sean imposibles desde el el punto de vista estructural Evitarlos Evitar los bloqueos mediante la asignacion de los recursos.
Cuando se detecta un bloqueo en un SO convencional, la forma de resolverlo es eliminar uno o mas procesos.
s c T DESEA CONSERVA Conserva A S R B DESEA CONSERVA A S R B c T A S R B c T
Cuando se detecta un bloqueo en un S. O. convencional se resuelve eliminando uno o más procesos.  Cuando se detecta un bloqueo en un sistema basado en transacciones atómicas se resuelve abortando una o más transacciones:  El sistema restaura el estado que tenía antes de iniciar la transacción.  La transacción puede volver a comenzar.  Las consecuencias de la eliminación de un proceso son mucho menos severas si se utilizan las transacciones que en caso de que no se utilicen.
Un algoritmo típico es el de Chandy-Misra-Haas.  Los procesos pueden solicitar varios recursos al mismo tiempo, en vez de uno cada vez.  Se permiten las solicitudes simultáneas de varios procesos Un proceso puede esperar a uno o más recursos simultáneamente.  Los recursos que espera un proceso pueden ser locales o remotos (de otra máquina).  Si el proceso “0” se bloquea debido al proceso “1”:  Se genera un mensaje de exploración que se envía al proceso (o procesos) que detienen los recursos necesarios.
El mensaje consta de tres números:  El proceso recién bloqueado, el proceso que envía el mensaje y el proceso al cual se envía.  Al llegar el mensaje el receptor verifica si él mismo espera a algunos procesos, en cuyo caso:  El mensaje se actualiza:  Se conserva el primer campo.  Se reemplaza el segundo por su propio número de proceso y el tercero por el número del proceso al cual espera.  El mensaje se envía al proceso debido al cual se bloquea:  Si se bloquea debido a varios procesos les envía mensajes (diferentes) a todos ellos.  Si un mensaje recorre todo el camino y regresa a su emisor original (el proceso en listado en el primer campo), entonces:  Existe un ciclo y el sistema está bloqueado.  Una forma de romper el bloqueo es que el proceso que inició la exploración se comprometa a suicidarse y, si varios procesos se bloquean al mismo tiempo e inician exploraciones, todos ellos se suicidarán.  Una variante es eliminar solo al proceso del ciclo que tiene el número más alto.
Permitir a los procesos que solo conserven un recurso a la vez Exigir a los procesos que soliciten todos sus recursos desde un principio . Un método es ordenar todos los recursos y exigir a los procesos que los adquieran en orden creciente.
Se puede asociar a cada transacción una marca de tiempo global al momento de su inicio.  No pueden haber parejas de transacciones con igual marca de tiempo asociada.  Se verifica cuál de ellos tiene la marca de tiempo mayor (es más joven).  Se puede permitir la espera solo si el proceso en estado de espera tiene una marca inferior (más viejo) que el otro Es más sabio dar prioridad a los procesos más viejos:  Se ha invertido tiempo de proceso en ellos.  Probablemente conservan más recursos.
Proceso Joven  20 Desea Recursos Proceso Antiguo  10 Conserva Recursos Muerte Desea Recursos Conserva Recursos Proceso Antiguo  10 Proceso Joven  20 Espera
Desea Recursos Conserva Recursos Proceso Antiguo  10 Proceso Joven  20 Derecho Prioridad Proceso Joven  20 Desea Recursos Proceso Antiguo  10 Conserva Recursos Espera

Bloqueos En Sistemas Distribuidos

  • 1.
    Felipe Molina GermánCastellanos Diana Cardona Paola Rodríguez Manuel Tibaduiza
  • 2.
    Bloqueos de comunicación Un proceso intenta enviar un mensaje a varios procesos (el proceso A envia un msj a B,C,A) Bloqueos de recursos ocurre cuando los procesos pelean por el acceso a los dispositivos de E/S.
  • 3.
    El algoritmos esavestruz Ignorar el problema Detección Permitir que ocurran los bloqueos, detectarlos e intentar recuperarse de ellos Prevención Lograr estaticamente que los bloqueos sean imposibles desde el el punto de vista estructural Evitarlos Evitar los bloqueos mediante la asignacion de los recursos.
  • 4.
    Cuando se detectaun bloqueo en un SO convencional, la forma de resolverlo es eliminar uno o mas procesos.
  • 5.
    s c TDESEA CONSERVA Conserva A S R B DESEA CONSERVA A S R B c T A S R B c T
  • 6.
    Cuando se detectaun bloqueo en un S. O. convencional se resuelve eliminando uno o más procesos. Cuando se detecta un bloqueo en un sistema basado en transacciones atómicas se resuelve abortando una o más transacciones: El sistema restaura el estado que tenía antes de iniciar la transacción. La transacción puede volver a comenzar. Las consecuencias de la eliminación de un proceso son mucho menos severas si se utilizan las transacciones que en caso de que no se utilicen.
  • 7.
    Un algoritmo típicoes el de Chandy-Misra-Haas. Los procesos pueden solicitar varios recursos al mismo tiempo, en vez de uno cada vez. Se permiten las solicitudes simultáneas de varios procesos Un proceso puede esperar a uno o más recursos simultáneamente. Los recursos que espera un proceso pueden ser locales o remotos (de otra máquina). Si el proceso “0” se bloquea debido al proceso “1”: Se genera un mensaje de exploración que se envía al proceso (o procesos) que detienen los recursos necesarios.
  • 8.
    El mensaje constade tres números: El proceso recién bloqueado, el proceso que envía el mensaje y el proceso al cual se envía. Al llegar el mensaje el receptor verifica si él mismo espera a algunos procesos, en cuyo caso: El mensaje se actualiza: Se conserva el primer campo. Se reemplaza el segundo por su propio número de proceso y el tercero por el número del proceso al cual espera. El mensaje se envía al proceso debido al cual se bloquea: Si se bloquea debido a varios procesos les envía mensajes (diferentes) a todos ellos. Si un mensaje recorre todo el camino y regresa a su emisor original (el proceso en listado en el primer campo), entonces: Existe un ciclo y el sistema está bloqueado. Una forma de romper el bloqueo es que el proceso que inició la exploración se comprometa a suicidarse y, si varios procesos se bloquean al mismo tiempo e inician exploraciones, todos ellos se suicidarán. Una variante es eliminar solo al proceso del ciclo que tiene el número más alto.
  • 9.
    Permitir a losprocesos que solo conserven un recurso a la vez Exigir a los procesos que soliciten todos sus recursos desde un principio . Un método es ordenar todos los recursos y exigir a los procesos que los adquieran en orden creciente.
  • 10.
    Se puede asociara cada transacción una marca de tiempo global al momento de su inicio. No pueden haber parejas de transacciones con igual marca de tiempo asociada. Se verifica cuál de ellos tiene la marca de tiempo mayor (es más joven). Se puede permitir la espera solo si el proceso en estado de espera tiene una marca inferior (más viejo) que el otro Es más sabio dar prioridad a los procesos más viejos: Se ha invertido tiempo de proceso en ellos. Probablemente conservan más recursos.
  • 11.
    Proceso Joven 20 Desea Recursos Proceso Antiguo 10 Conserva Recursos Muerte Desea Recursos Conserva Recursos Proceso Antiguo 10 Proceso Joven 20 Espera
  • 12.
    Desea Recursos ConservaRecursos Proceso Antiguo 10 Proceso Joven 20 Derecho Prioridad Proceso Joven 20 Desea Recursos Proceso Antiguo 10 Conserva Recursos Espera