Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SANDRA RODRIGUEZ AVILA
CONTENIDO
• INTRODUCCION
• MODELO DEL SISTEMA
• PRINCIPIOS DE BLOQUEO MUTUO
• GRAFO DE ASIGNACIÓN DE RECURSOS
• MÉTODOS PARA MANEJAR BLOQUEOS MUTUOS
• PREVENCIÓN DE BLOQUEOS MUTUOS
• EVITACIÓN DE BLOQUEOS MUTUOS
• DETECCIÓN DE BLOQUEOS MUTUOS
• RECUPERACIÓN DE UN ESTADO DE BLOQUEO MUTUO
Ing. Sandra Rodríguez Avila ‐ SISTEMAS ‐ UNC 2
INTRODUCCION
• Multiprogramación: varios procesos pueden
competir por un número finito de recursos.
• Un proceso solicita recursos y si no están
disponibles, el proceso entra en espera.
• Si los procesos en espera nunca cambian de
estado es porque los recursos que se solicitan
están en poder de otros procesos, también en
espera.
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
MODELO DEL SISTEMA
• Un sistema se compone de un número finito de
recursos que se distribuyen entre varios
procesos.
• Los recursos se dividen en varios tipos. Cada uno
de los tipos tiene uno o varios ejemplares. Ejm:
el recurso CPU tiene 2 ejemplares, el recurso
impresora tiene 1 ejemplar.
• Tipos: recursos físicos y recursos lógicos.
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
MODELO DEL SISTEMA
• Otra clasificación:
Expropiable: se puede quitar a un proceso sin
haber efectos adversos. Ejm: la memoria
No expropiable: no se puede quitar sin hacer
que se produzcan fallas. Ejm: la impresora
• Generalmente, en los bloqueos mutuos
intervienen recursos no expropiables.
• En una operación normal, un proceso sólo puede
utilizar un recurso en la secuencia siguiente:
1. Solicitud: Si no se puede atender de inmediato,
entonces el proceso solicitante debe esperar
hasta que pueda adquirir el recurso.
2. Utilización: El proceso puede trabajar con el
recurso.
3. Liberación: El proceso libera el recurso.
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
MODELO DEL SISTEMA
• La solicitud y liberación de recursos son llamadas al
sistema.
• La solicitud y liberación de algunos recursos
también pueden utilizarse a través de las
operaciones: espera (wait) y señal (signal).
• En cada utilización , el S.O. verifica que el proceso
que dispone del recurso, lo haya solicitado y se le
haya asignado previamente.
P1 S P1
P2
R P2
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
PRINCIPIOS DE BLOQUEO MUTUO
• Un conjunto de procesos está en bloqueo mutuo si
cada proceso del conjunto está esperando un evento
que sólo otro proceso del conjunto puede causar.
Condiciones para el bloqueo mutuo:
1. Exclusión mutua: Cada recurso está asignado
únicamente a un solo proceso o esta disponible.
2. Retención y espera: Debe haber un proceso que
retenga por lo menos un recurso y espere
• •
• •
R2 •
Ing. Sandra Rodríguez Avila
R4
SISTEMAS OPERATIVOS
GRAFO DE ASIGNACIÓN DE RECURSOS
• Si el grafo no contiene ciclos, entonces ningún
proceso del sistema está en bloqueo mutuo.
• Si contiene un ciclo, puede haber un bloqueo
mutuo, si cada tipo de recurso sólo tiene un
ejemplar.
• Ejemplo: para el gráfico anterior suponga que el
proceso P3 solicita un ejemplar del tipo recurso
R2 el cual no está disponible, generándose 2
ciclos.
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
GRAFO DE R1 R3
• •
ASIGNACIÓN
DE RECURSOS
P1 P2 P3
.
. .
• .
R2
R4
P1 R1 P2 R3 P3 R2 P1
P2 R3 P3 R2 P2
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
GRAFO DE • En el grafo siguiente, hay un ciclo,
pero no existe bloqueo mutuo ya que
ASIGNACIÓN P4 puede liberar al ejemplar de R2,
DE RECURSOS siendo posible la asignación a P3.
P2
R1
•
• P3
P1 R2
•
• P4
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
GRAFO DE • En el grafo siguiente, hay un ciclo,
pero no existe bloqueo mutuo ya que
ASIGNACIÓN P4 puede liberar al ejemplar de R2,
DE RECURSOS siendo posible la asignación a P3.
R1
•
•
Secuencia segura de ejecución:
P2 – P1 – P4 – P3
R2 P4‐P2‐P1‐P3
• P4‐P3 – P2 – P1
•
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
GRAFO DE • En el grafo siguiente, hay un ciclo,
pero no existe bloqueo mutuo ya que
ASIGNACIÓN P4 puede liberar al ejemplar de R2,
DE RECURSOS siendo posible la asignación a P3.
R1
•
• P2 – P1 – P4 – P3
P4 – P2 ‐
R2
•
•
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
GRAFO DE • En el grafo siguiente, hay un ciclo,
pero no existe bloqueo mutuo ya que
ASIGNACIÓN P4 puede liberar al ejemplar de R2,
DE RECURSOS siendo posible la asignación a P3.
R1
•
• Secuencia de terminación de ejecución:
SECUENCIA SEGURA
P2‐ P4 – P1 – P3
R2 P4 ‐ P2 ‐ P3 ‐ P1
•
•
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
MÉTODOS PARA MANEJAR BLOQUEOS
MUTUOS
• Dos métodos principales:
1. Protocolo para asegurar que el sistema nunca
entre en un estado de bloqueo mutuo.
2. Permitir que el sistema entre en un bloqueo
mutuo y luego se recupere.
• Sean R={R1, R2, ..., Rm}, conjunto de tipos de recursos
• Se define una función inyectiva:
F: R N, N es el conjunto de números naturales
F(unidad cinta)=1
F(unidad disco)=5
F(impresora) =12
• Requerir información adicional acerca de como se
solicitarán y liberarán los recursos. Cada solicitud
requiere que el sistema considere los recursos
disponibles en ese momento, los actualmente
asignados a cada proceso y las futuras solicitudes y
liberaciones de cada proceso, para decidir si puede
satisfacer la solicitud presente o debe esperar para
evitar un posible B.M.
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
EVITACIÓN DE BLOQUEOS MUTUOS
Algoritmo sencillo: Cada proceso debe declarar el
número máximo de recursos de cada tipo que pueda
necesitar.
• Un algoritmo de evitación de B.M. examina
dinámicamente el estado de asignación de recursos
para evitar la espera circular
• El estado de asignación de recursos: número de
recursos disponibles y asignados, y por la demanda
máxima de los procesos.
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
EVITACIÓN DE BLOQUEOS MUTUOS
• Un estado es seguro si el sistema puede asignar
recursos a cada proceso hasta el máximo siguiendo
un orden o secuencia segura.
• Una secuencia <P1, P2,...,Pn> es segura para el
estado actual de asignaciones, si para cada Pi, los
recursos que aún pueda solicitar Pi pueden
satisfacerse con los recursos retenidos por todos los
Pj, donde j<i; de lo contrario Pi debe esperar hasta
SEGURO
• Si el estado de asignación es seguro se efectúa la
transacción y los recursos se asignan a Pi, sino Pi debe
esperar.
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
EVITACIÓN DE BLOQUEOS MUTUOS
Algoritmo de Seguridad: Procedimiento
1. Sean Trabajo y Fin, vectores de longitud m y n.
Trabajo=Disponible y Fin[i]=falso para todo i.
2. Encontrar un i tal que se cumplan con:
a. Fin[i]=falso
b. Necesidadi<=Trabajo
Si no existe i, continuar con paso 4.
3. Trabajo = Trabajo +Asignacióni.
Fin[i]=verdadero, continuar con paso 2
4. Si Fin[i]=verdadero, el sistema está en estado seguro.
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
EVITACIÓN DE BLOQUEOS MUTUOS
Ejemplo del algoritmo de Seguridad
• 5 procesos P0 hasta P4 y 3 tipos de recursos:
A (10ejemplares), B (5ejemplares), and C (7 ejemplares).
• Situación en el instante T0:
ASIGNACION MAX DISPONIBLE
A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2
P1 2 0 0 3 2 2
P2 3 0 2 9 0 2
P3 2 1 1 2 2 2
P4 0 0 2 4 3 3
Ing. Sandra Rodríguez Avila
SISTEMAS OPERATIVOS
EVITACIÓN DE BLOQUEOS MUTUOS
• Necesidad: Max – Asignación.
Necesidad
A B C
P0 7 4 3
P1 1 2 2
P2 6 0 0
P3 0 1 1
P4 4 3 1
El Sistema se encuentra en estado seguro y la
secuencia segura es < P1, P3, P4, P2, P0>.
4. Si Fin[i]=falso, para algún i, 1<=i<=n,
entonces el sistema esta en estado de
bloqueo mutuo. Si Fin[i]=falso, entonces el
proceso i está bloqueado
Solicitud
A B C
P0 0 0 0
P1 2 0 1
P2 0 0 1
P3 1 0 0
P4 0 0 2
• ¿Cual es el estado del sistema?