Interbloqueos

Solo disponible en BuenasTareas
  • Páginas : 10 (2408 palabras )
  • Descarga(s) : 0
  • Publicado : 25 de marzo de 2011
Leer documento completo
Vista previa del texto
INTERBLOQUEO
Introducción
Un proceso solicita recursos y si los recursos no están disponibles en ese momento el proceso pasa al estado de espera. Es posible que algunas veces un proceso en espera no pueda nunca cambiar de estado, porque los recursos que ha solicitado estén ocupados por otros procesos que a su vez estén esperando otros recursos. Cuando se produce una situación como esta sedice que ha ocurrido un interbloqueo.
Los problemas de interbloqueo cada vez van a ser más habituales dadas las tendencias actuales: el gran numero de procesos, el uso de programas multi hebra, la asistencia de muchos más recursos dentro de un sistema y la preferencia por servidores de archivos y base de datos con transacciones de larga duración.
Modelo de sistema
Un sistema consta de un númerofinito de recursos, que se distribuyen entre una serie de procesos en competición. Los recursos se dividen en varios tipos, constando cada uno de ellos de un cierto número de instancias.
Ejemplos de tipos de recursos
*El espacio de memoria, los ciclos de CPU, los archivos y dispositivos de entrada y de salida.
Un proceso debe solicitar cada recurso antes de utilizarlo y debe liberarlo después deusarlo. Un proceso puede solicitar tantos recursos como necesite para llevar a cabo las tareas que tenga asignadas. El número de recursos solicitados no puede exceder el total de recursos disponibles en el sistema.
Un proceso puede emplear un recurso solo siguiendo esta secuencia:
1) Solicitud: Si la solicitud no puede ser concedida inmediatamente entonces el proceso solicitante tendrá queesperar hasta que pueda adquirir el recurso.
2) Uso: El proceso puede operar sobre el recurso.
3) Liberación: El proceso libera el recurso.
La solicitud y liberación de los recursos son llamadas al sistema, cada vez que un proceso emplea un recurso el sistema operativo comprueba que el proceso ha solicitado el recurso y que este ha sido asignado; para cada recurso asignado actualmente.Condiciones Necesarias
Una situación de interbloqueo puede surgir si se dan simultáneamente las cuatro condiciones siguientes en un sistema:
1. Exclusión mutua: Cada recurso está asignado únicamente a un solo proceso o está disponible.
2. Retención y espera: Los procesos que actualmente tienen recursos que les fueron otorgados previamente pueden solicitar nuevos recursos.
3. Sin desalojo: Noes posible quitarle por la fuerza a un proceso los recursos que le fueron otorgados previamente. El proceso que los tiene debe liberarlos explícitamente.
4. Espera circular: Debe haber una cadena circular de dos o más procesos, cada uno de los cuales está esperando un recurso retenido por el siguiente miembro de la cadena.
Deben estar presentes estas cuatro condiciones para que ocurra unbloqueo mutuo. Si una o más de estas condiciones están ausentes, no puede haber bloqueo mutuo.
Grafo De Asignación De Recursos
Este grafo consta de un conjunto de vértices V y de un conjunto de aristas El conjunto de vértices V se divide en dos tipos diferentes de nodos: p= {p1, p2….pn}, el conjunto formado por todos los procesos activos del sistema, y R= {R1, R2…… RM}, el conjunto formado portodos los tipos de recursos del sistema.
Gráficamente representamos cada proceso pi con un círculo y cada tipo de recursos Rj con un rectángulo. Puesto que el tipo de recursos Rj puede tener más de una instancia, representamos cada instancia mediante un punto dentro del rectángulo.
Dada la definición de un grafo de asignación de recursos, podemos demostrar que, si el grafo no contiene ningúnciclo, entonces ningún proceso del sistema esta interbloqueado. Si el grafo contiene un ciclo, entonces puede existir un interbloqueo.
Si cada tipo de recurso tiene exactamente una instancia, entonces la existencia de un ciclo implica necesariamente que se ha producido un interbloqueo. Además aunque haya tipos de recursos con más de una instancia si el ciclo implica solo a un determinado conjunto...
tracking img