Sistemas operativos
Introducción y ejemplos de bloqueo (o interbloqueo)
Un proceso dentro de un sistema de multiprogramación está en un estado de interbloqueo (o interbloqueado) si está esperando por un evento determinado que no ocurrirá.
Cuando los recursos son compartidos entre usuarios:
• Pueden producirse interbloqueos en los cuales los procesos de algunos usuarios nunca podrán llegar a sutérmino.
• Se debe considerar la prevención, evitación, detección y recuperación del interbloqueo y la postergación indefinida, que se da cuando un proceso, aunque no esté interbloqueado, puede estar esperando por un evento que probablemente nunca ocurrirá.
• En algunos casos:
o El precio de liberar interbloqueos en un sistema es demasiado alto.
o Permitir el interbloqueopodría resultar catastrófico.
Los sistemas de cómputos tienen muchos recursos que solo pueden ser utilizados por un proceso a la vez:
• Ej.: impresoras, unidades de cinta, espacio de la tabla de nodos-i.
• Los S. O. tienen la capacidad de otorgar temporalmente a un proceso el acceso exclusivo a ciertos recursos.
• Frecuentemente un proceso necesita el acceso exclusivo no solo a unrecurso, sino a varios.
Ej. de bloqueo (deadlock):
• Dos procesos desean imprimir grandes archivos en cinta.
• El proceso “a” solicita la impresora, que se le concede.
• El proceso “b” solicita la unidad de cinta, que se le concede.
• El proceso “a” solicita la unidad de cinta, pero se deniega la solicitud hasta que “b” la libera.
• El proceso “b” solicita la impresora yse produce el bloqueo (deadlock).
Ejemplo de interbloqueo de tráfico:
Tiene similitud con el congestionamiento del tránsito en las ciudades.
El tráfico puede detenerse completamente.
Es necesaria una intervención externa para poner orden y restablecer la normalidad.
Ejemplo de interbloqueo de un recurso simple:
Tiene su origen en la contención normal de los recursos dedicados oreutilizables en serie:
• Pueden ser utilizados por un solo usuario a la vez.
• Cada proceso está esperando por el otro para liberar uno de los recursos.
• El recurso retenido no será liberado hasta que el otro proceso usuario libere su recurso.
• Este último proceso usuario no liberará su recurso retenido hasta que el primer proceso usuario libere su recurso retenido.
• Se produceuna espera circular .
[pic]
Ejemplo de interbloqueo en sistemas de spool:
Un sistema de spool es utilizado para incrementar la capacidad de ejecución del sistema, al disasociar un programa de la lenta velocidad de los dispositivos (ej.: impresoras):
• Si un programa envía líneas a una impresora, en realidad son enviadas a un dispositivo más rápido (disco).
• Se almacenan temporalmentehasta ser impresas.
Varios trabajos en ejecución que generan líneas de spool pueden interbloquearse si el espacio disponible se llena antes de completarse alguno de estos trabajos:
• Se reduce la probabilidad de interbloqueos del spool:
o Proporcionando un espacio en disco considerablemente mayor que el necesario, preferentemente con asignación dinámica.
o Limitando losspoolers de entrada para que no lean más trabajos cuando los archivos de spool llegan a cierto nivel de saturación.
Un problema relacionado: postergación indefinida:
Es posible que un proceso sea postergado indefinidamente en tanto que otros reciben la atención del sistema:
• Se trata de la postergación indefinida.
• Cuando los recursos son planificados en función de prioridades, unproceso dado puede esperar indefinidamente, mientras sigan llegando procesos de prioridades mayores.
En algunos sistemas, la postergación indefinida se evita al permitir que la prioridad de un proceso aumente mientras espera por un recurso; a esto se llama envejecimiento.
Conceptos de Recursos
El S. O. es, sobre todo, un administrador de recursos .
Los recursos pueden ser “apropiativos”, como...
Regístrate para leer el documento completo.