Вы находитесь на странице: 1из 2

3.4. Deteccin de Bloqueos Irreversibles y Recuperacin Posterior: o El S. O.

no intenta evitar los bloqueos irreversibles o Intenta detectar cuando han ocurrido. o Acciona para recuperarse despus del hecho. 3.4.1. Deteccin de Bloqueos Irreversibles con Un Recurso de Cada Tipo No se dispone de ms de un objeto de cada clase de recurso. Si la grfica de recursos contuviera uno o ms ciclos, existira un bloqueo irreversible. Cualquier proceso que forme parte de un ciclo est bloqueado irreversible; si no existen ciclos, el sistema no est bloqueado. Ejemplo: Sistema con 7 (siete) procesos ( A a G ) y 6 (seis) recursos ( R a W ):  La posesin de los recursos es la siguiente: o El proceso A posee a R y desea a S. o El proceso B no posee recurso alguno y desea a T. o El proceso C no posee recurso alguno y desea a S. o El proceso D posee a U y desea a S y a T. o El proceso E posee a T y desea a V. o El proceso F posee a W y desea a S. o El proceso G posee a V y desea a U.  La pregunta es: Este sistema ah cado en un bloqueo irreversible? , en tal caso, cules procesos participan en l?  La respuesta se obtiene mediante la grfica de recursos: si la grfica presenta un ciclo significa procesos bloqueados

Ahora el proceso E posee a R y desea a V (ciclo extrado de a)

Se hace necesario un algoritmo formal para la deteccin de bloqueos que se pueda utilizar en los sistemas reales. Ejemplo de algoritmo aplicable a cada nodo N de la grfica: 1. Se considera a N como nodo inicial. 2. Se inicializan: o La estructura de datos L como una lista vaca. o Todos los arcos como no marcados. 3. Se aade el nodo activo al final de L y se verifica si el nodo aparece en L dos veces: o Si aparece dos veces existe un ciclo y el algoritmo termina. 4. Desde el nodo dado se verifica si existen arcos que salgan de dicho nodo y no estn marcados: o En caso afirmativo se va al paso 5. o En caso negativo se va al paso 6. 5. Se elige al azar un arco de salida no marcado y se le marca: o Luego se sigue este arco hasta el nuevo nodo activo y se regresa al paso 3. 6. Se ha llegado a un punto donde no se puede continuar: o Se regresa al nodo anterior, es decir al que estaba activo antes del actual. o Se seala de nuevo como nodo activo. o Se pasa al paso 3. o Si este nodo era el nodo inicial, la grfica no contiene ciclos y el algoritmo termina. La aplicacin del algoritmo precedente al ejemplo anterior de grfica dirigida es la siguiente: y Se parte de R y se inicializa L como la lista vaca. y Se aade R a la lista y se mueve a la nica posibilidad, A . y Se aade A a la lista: L= [R, A]. y Se pasa de A a S , quedando L= [R, A, S]. y S no tiene arcos que salgan de l, por lo que no se puede continuar y se regresa a A . y Ya que A no tiene arcos de salida no marcados se regresa a R , finalizando la inspeccin de R . y Se inicia nuevamente el algoritmo partiendo de A , siendo L otra vez la lista vaca. y La bsqueda termina rpidamente y se parte de B . y De B se siguen los arcos de salida hasta llegar a D , siendo L= [B, T, E, V, G, U, D]. y Se efecta una eleccin al azar. y Si se elige S llegamos a un punto sin salida y debemos regresar a D. y La segunda vez se elige T quedando L=[B,T,E,V,G,U,D,T] : o Se ha descubierto un ciclo y el algoritmo se detiene

Вам также может понравиться