lunes, 15 de abril de 2013

Interbloqueo

Existen ocaciones en que dos o mas procesos se "bloquearan mutuamente", creando un estancamiento.


a) Interbloque potencial: Puede ocurrir un interbloqueo
b) Interbloqueo real: Se ha producido un interbloqueo

El interbloqueo o deadlock es un problema que afecta a "procesos concurrentes" que usan recursos en un sistema.
Los procesos concurrentes son cargados en la memoria RAM; en sistemas multitareas o proceso. En sistemas monoproceso el interbloqueo NO TIENE SENTIDO

Los procesos solicitan recursos liberandolos cuando no los necesitan. Un recurso puede estar disponible o asignado a algún proceso

Ejemplares: Son la cantidad de "copias" de un mismo tipo de recurso, por ejemplo: varias impresoras
SI UN PROCESO SOLICITA UN RECURSO, SE LE CONCEDE CUALQUIER EJEMPLAR DISPONIBLE
SI UN PROCESO SOLICITA UN RECURSO SIN EJEMPLAR DISPONIBLE, ESTE QUEDA BLOQUEADO, ESPERANDO A QUE SE LE ASIGNE ALGÚN EJEMPLAR DISPONIBLE

Problema: Si varios procesos bloqueados, esperan un recurso retenido por otro proceso. NINGÚN PROCESO PUEDE AVANZAR. Es en ese momento donde se genera un intebloqueo, abrazo mortal, bloque mutuo o deadlock 





El interbloqueo no es responsabilidad de las aplicaciones, sino del sistema de gestión del sistema operativo

Ejemplo: Los procesos A y B se pueden interbloquear, aunque estén creados correctamente




No hay comentarios:

Publicar un comentario