Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PROFESOR: ALUMNOS:
ANDRÉS CANIUMILLA BRICEÑO, KENDY
C.I. 19.534.700
FLORES, LUÍS
C.I. 17.113.654
Interbloqueo……………………………………………………………………… 3
Recursos…………………………………………………………………………. 4
Recursos Reutilizables………………………………………………….. 4
Recursos Consumibles………………………………………………….. 4
Recursos Compartidos………………………………………………….. 4
Recursos con único ejemplar o con múltiples…………………...... 5
Recursos expropiables o no………………………………………….... 5
Ejemplos gráficos………………………………………………………………. 5
2
M INTERBLOQUEO (INANICIÓN Ó DEADLOCK)
ABRAZO BLOQUEO
DEADLOCK MORTAL MUTUO
M RECURSOS
1.- Existes recursos después que un proceso las usas, que serían los
recursos reutilizables, o aquellos que desaparecen una vez utilizado.
2.- Asimismo, existen procesos que pueden compartir el uso de los
recursos usándolos de modo especial.
3.- De la misma forma hay ejemplar de cada recurso o múltiples, e
igualmente existe la posibilidad de expropiar el recurso que lo esta
utilizando.
3
- RECURSOS REUTILIZABLES: también llamados reutilizables, estos se
llaman así ya que en el momento en que un proceso los use, puede
quedar disponible para que otro proceso lo utilice, por lo que no hace
tomar en cuenta que la vida del recurso es independiente de su
utilización, es decir:
- Puede ser que exista desde el principio (en el caso de que sea
un recurso físico).
- De la misma forma puede ser que ya esté creado y se destruya
explícitamente (ejemplo de ello puede ser un fichero).
4
- RECURSOS CON UNICO EJEMPLAR O CON MULTIPLES: se puede
considerar que cada recurso es un es una entidad única. Pero en un
sistema pueden existir múltiples ejemplares de un determinado recurso.
Ejemplo de ello, podemos nombrar:
- Un sistema compuesto por cinco impresoras, cuando un
proceso solicita una impresora, se le podría asignar cualquier
unidad que esté disponible.
M EJEMPLO GRÁFICOS.
5
EJEMPLO 2: En la ilustración siguiente, la transacción T1 tiene una
dependencia de la transacción T2 para el recurso de bloqueo de la tabla
Part. Paralelamente, la transacción T2 tiene una dependencia de la
transacción T1 para el recurso de bloqueo de la tabla Supplier. Puesto que
estas dependencias forman un ciclo, hay un interbloqueo entre las
transacciones T1 y T2.
6
EJEMPLO 3: En la ilustración siguiente, nos muestra una grafica de
asignación y petición de recursos.
7
M GRAFO DE ASIGNACIÓN DE RECURSOS
Procesos.
• 2 tipos de nodos
Recursos
• 2 tipos de arcos
8
- Un arco de asignación parte desde un punto dentro del rectángulo y
señala hacia un círculo.
El arco de solicitud Pi → Rj se
Una instancia del recurso Rj se transforma
asigna al proceso Pi instantáneamente en arco de
asignación Rj → Pi
9
M CONDICIONES PARA EL INTERBLOQUEO
Puede no existir interbloqueo con solo estas tres condiciones. Para que
se produzca interbloqueo, se necesita una cuarta condición:
10
Las tres primeras condiciones son necesarias, pero no suficientes,
para que exista interbloqueo. La cuarta condición es, en realidad, una
consecuencia potencial de las tres primeras. Es decir, dado que se
producen las tres primeras condiciones, puede ocurrir una secuencia de
eventos que desemboque en un círculo vicioso de espera irresoluble. El
círculo de espera de la condición 4 es irresoluble porque se mantienen las
tres primeras condiciones. Las cuatro condiciones en conjunto constituyen
una condición necesaria y suficiente para el interbloqueo.
M POSIBILIDAD DE INTERBLOQUEO
Posibilidad 2:
11
- Pueden conducir a la postergación indefinida (o inanición) de algunos
procesos que solicitan recursos muy utilizados.
El S. O. realiza lo siguiente:
Ejemplo: sistema con 7 (siete) procesos (“A” a “G”) y 6 (seis) recursos (“R” a
“W”):
12
• El proceso D posee a U y desea a S y a T.
• El proceso E posee a T y desea a V.
• El proceso F posee a W y desea a S.
• El proceso G posee a V y desea a U.
• La pregunta es: ¿está bloqueado este sistema y, en tal caso, cuáles son
los procesos bloqueados?
13
6. Se ha llegado a un punto donde no se puede continuar:
• Se regresa al nodo anterior, es decir al que estaba activo antes
del actual.
• Se señala de nuevo como nodo activo.
• Se pasa al paso 3.
• Si este nodo era el nodo inicial, la gráfica no contiene ciclos y el
algoritmo termina.
14
Existencia de Bloqueos de Forma “Varios Recursos de Cada Tipo”
• E1 recursos de la clase 1.
• E2 recursos de la clase 2.
• Ei recursos de la clase “i” (1 menor o igual que “i” menor o igual que
“m”).
• “E” es el vector de recursos existentes.
Se utilizan:
15
El algoritmo de detección de bloqueos se basa en la comparación de vectores:
• Definimos que “A” es menor o igual que “B” si y solo si “Ai”es menor
o igual que “Bi” para “i” entre “0” y “m”, ambos inclusive.
Los pasos básicos del algoritmo de detección de bloqueos son los siguientes:
16
La matriz “R” indica las necesidades de recursos adicionales.
Una posibilidad es cada vez que se solicita un recurso, pero esto podría
sobrecargar al sistema.
17
Otro criterio es verificar cuando el uso de la CPU baje de cierto valor fijo:
• Cada proceso:
• Deberá pedir todos sus recursos requeridos de una sola vez.
• No podrá proceder hasta que le hayan sido asignados.
• Si a un proceso que mantiene ciertos recursos se le niega
una nueva petición, este proceso deberá:
• Liberar sus recursos originales.
• En caso necesario, pedirlos de nuevo junto con los recursos
adicionales.
• Se impondrá la ordenación lineal de los tipos de recursos en
todos los procesos:
• Si a un proceso le han sido asignados recursos de un tipo
dado, en lo sucesivo solo podrá pedir aquellos recursos de
los tipos que siguen en el ordenamiento.
18
Prevención de la Condición de Exclusión Mutua
Se debe:
Una forma es exigir a todos los procesos que soliciten todos los recursos
antes de iniciar su ejecución; si un proceso no puede disponer de todos los
recursos, deberá esperar, pero sin retener recursos afectados.
19
Otro criterio aplicable consiste en:
20
Prevención de la Condición de “espera circular”
21
M PREDICCIÓN DEL INTERBLOQUEO
disponibles.
22
2. Para todo k e i, Cki <= Ri: ningún proceso puede demandar más
Para todo k e i, Aki <= Cki: ningún proceso tiene asignados más
Con estas tres cantidades, se puede definir una política de predicción del
interbloqueo que rechace iniciar un nuevo proceso si sus exigencias de
recursos pueden conducir a un interbloqueo. Un nuevo proceso Pn+1
23
ALGORITMO DEL BANQUERO
24
seguro es un estado en el cual existe al menos una secuencia que no lleva
al interbloqueo ( es decir, todos los procesos pueden ejecutarse hasta el
final). Un estado inseguro es, naturalmente, un estado que no es seguro.
25
Estructura de datos globales
struct estado
if (seguro (nuevo_estado))
26
}
else
disponible_actual = disponible;
posible = true;
while (posible)
else
posible = falso;
27
}
Para romper el bloqueo de un sistema hay que anular una o más de las
condiciones necesarias para el bloque.
Los principales factores que dificultan la recuperación del bloqueo son los
siguientes:
28
• La sobrecarga de recuperación está en función de la magnitud del
bloqueo (algunos, decenas o centenas de procesos involucrados).
29
• Retirar una impresora de un proceso para dedicarla a otro proceso.
• Retomar luego el primer proceso reasignándola al mismo.
En los S. O. donde es posible que ocurran bloqueos se puede hacer que los
procesos sean verificados periódicamente:
30
Recuperación Mediante la Eliminación de Procesos
Trayectorias de Recursos
31
El ejemplo de modelo gráfico utilizado indica lo siguiente:
32
• Con un monoprocesador todas las trayectorias serán horizontales o
verticales (no diagonales).
• Cuando “A” cruza la línea “I1” en la trayectoria de “r” a “s”, solicita y se le
otorga la impresora.
• Cuando “B” alcanza el punto “t”, solicita el plotter.
• La región delimitada por “I 1”, “I 3”, “I6” e “I 8” representa que ambos
procesos poseen la impresora, pero esto es imposible y la regla de
exclusión mutua impide la entrada a esta región.
• La región delimitada por “I 2”, “I 4”, “I 5” e “I 7” representa que ambos
procesos poseen el plotter, lo que es imposible.
• Si el sistema ingresara a la región delimitada por “I 1”, “I 2”, “I 5” e “I 6”
se bloqueará en la intersección de “I 2” e “I 6”:
o Acá, “A” solicita el plotter y “B” la impresora, que ya están
asignados.
o Toda la región no es segura y no hay que entrar a ella:
En “t”, lo único seguro es ejecutar “A” hasta llegar a “I 4”.
Luego se puede utilizar cualquier trayectoria hasta “u”.
• En “t”, “B” solicita un recurso:
o El S. O. debe decidir si lo otorga o no.
o Si lo otorga, el sistema entrará a una región insegura y se
bloqueará en algún momento.
o Para evitar el bloqueo, hay que suspender a “B” hasta que “A”
haya solicitado y liberado el plotter.
En la analogía:
• Los clientes son los procesos, las unidades de crédito son los recursos
del sistema y el banquero es el S. O.
33
• El banquero sabe que no todos los clientes necesitaran su crédito
máximo otorgado en forma inmediata, por ello reserva menos unidades
(recursos) de las totales necesarias para dar servicio a los clientes.
34
Se dispone de:
35
Se permiten las condiciones de “exclusión mutua”, “espera por” y “no
apropiatividad”.
Los procesos mantienen los recursos mientras piden y esperan por otros
recursos adicionales, pero no pueden apropiarse de un proceso que mantenga
esos recursos.
• No está bloqueado.
36
• Existe una forma de satisfacer todas las solicitudes pendientes,
mediante la ejecución de los procesos en cierto orden.
Un estado inseguro:
37
La diferencia entre estado seguro e inseguro es que:
• Dado un estado actual seguro, ello no implica que vayan a ser seguros
todos los estados futuros.
38
M VENTAJAS Y DESVENTAJAS DE LAS DIFERENTES ESTRATEGIAS
39