Está en la página 1de 23

Captulo 3b

Concurrencia: interbloqueo e inanicin

1
Interbloqueo

Recurso
A

Proceso Proceso
P1 P2

Recurso
B

2
Interbloqueo
1. Definicin de interbloqueo
Bloqueo permanente de un conjunto de procesos que compiten por los
recursos o bien se comunican unos con otros.
No existe una solucin eficiente.
Suponen necesidades contradictorias de recursos por parte de dos o ms
procesos.
Proceso P Proceso Q
Paso Accin Paso Accin
p0 Solicitar (D) (D)
Solicitar q0 Solicitar (T)
p1 Bloquear (D) (D)
Bloquear q1 Bloquear (T)
Solicitar (D)
p2 Solicitar (T) (T)
Solicitar q2 Solicitar (D)
p3 Bloquear (T) (T)
Bloquear q3 Bloquear (D)
Realizar funcin q4 Realizar funcin
p4 Realizar funcin
Desbloquear (D) q5 Desbloquear (T)
p5 Desbloquear (D)
Desbloquear (T)
p6 Desbloquear (T) q6 Desbloquear (D)

3
Interbloqueo
2. Recursos: Tipos
Recurso:
Dispositivo hardware o informacin de la que los procesos solicitan su uso y acceden.
De cada recurso pueden existir varias copias.
El interbloqueo se produce si cada proceso retiene un recurso y solicita el otro.
Procesadores, canales de E/S, memoria principal y secundaria, archivos, bases de datos y
semforos.
Tipos:
Exclusivos: No admiten requisa sin causar problemas al objeto requisado.
No exclusivos.
Secuencia de acceso a un recurso:
Reserva + bloqueo.
Uso.
Liberacin.
Casos de acceso.
Caso A:
Los procesos que solicitan un recurso, si este no est libre, se bloquean en espera.
La liberacin del recurso puede despertar el proceso.
Caso B:
El S.O. Ejecuta los procesos en un orden determinado.
En caso de duda de seguridad (bloqueo) se suspende el proceso.
Necesaria prediccin de los sucesos.

4
Interbloqueo
3. Condiciones de interbloqueo
1. Exclusin mutua:
Slo un proceso puede usar un recurso cada vez.
2. Retencin y esperar:
Un proceso solicita todos los recursos que necesita a un mismo tiempo.
3. No apropiacin:
Si a un proceso que retiene ciertos recursos se le deniega una nueva solicitud, dicho proceso
deber liberar sus recursos anteriores.
Si un proceso solicita un recurso que actualmente est retenido por otro proceso, el sistema
operativo puede retener el segundo proceso y exigirle que libere sus recursos.
4. Crculo vicioso de espera:
Puede prevenirse definiendo una ordenacin lineal de los tipos de recursos.

Recurso
A

Proceso Proceso
P1 P2

Recurso
B 5
Interbloqueo
4. Introduccin. Soluciones.
Alternativas frente al problema.
1. Ignorar el problema.
Tras el bloqueo recuperacin.
Menos costoso que la prevencin.
2. Deteccin y recuperacin.
3. Distribucin cuidadosa de recursos.
4. Prevencin: Evitar alguna de las condiciones.

6
Interbloqueo
4.1 Interbloqueo. Deteccin.
Un recurso de cada tipo. A F
Seguimiento de las ramas del grafo de proceso-recurso.
Bucle implica bloqueo. R W
Recursos mltiples.
B X E

S V

C U D

7
Interbloqueo
4.2. Interbloqueo. Recuperacin
Procedimientos.
1. Abortar todos los procesos interbloqueados.
2. Retroceder cada proceso interbloqueado hasta algn punto de control definido
previamente y volver a ejecutar todos los procesos:
Puede repetirse el interbloqueo original.
Seleccin de vctima tendr en cuenta: tCPU invertido, recursos usados.
Tipos de retroceso: Rollback o Abort y reinicio.
3. Abortar sucesivamente procesos interbloqueados hasta que deje de haber interbloqueo.
Costoso por seleccin del proceso.
Posible inanicin.
4. Apropiarse de recursos sucesivamente hasta que deje de haber interbloqueo.

Seleccin econmica para procesos en una Seccin Crtica.


Retroceso: Rollback o Abort y reinicio.
Segn costo.
Prioridad. El menor nmero de lneas de salida producidas
Tiempo invertido en la CPU. hasta ahora.
Nmero y tipo de recursos utilizados. El mayor tiempo restante estimado.
Recursos por liberar. El menor nmero total de recursos asignados
Nmero de procesos a abortar. hasta ahora.
Tipo de proceso: Interactivo o por lotes.

8
Prevencin
4.3. Prediccin de interbloqueos
Muy costosa.
Luchar contra las condiciones que producen los interbloqueos.
Exclusin mutua.
Evitando el uso en exclusiva de los recursos.
Uso de spooling, demonios, etc.
Reservar y Tener.
Reserva de todos los recursos al comienzo de su ejecucin.
No uso ptimo de los recursos.
Casi nunca se conoce los recursos que se necesitan al comienzo.
No requisa.
Dificil.
Espera circular.
Un recurso cada vez.
Ordenar recursos.
Los recursos se adquieren en orden creciente.
Se han de liberar todos los recursos para adquirir uno inferior.

9
Interbloqueo
4.3. Prediccin de interbloqueos
La asignacin de los recursos a los procesos ha de ser realizada por el S.O. Con
cuidado.
Se decide dinmicamente si la peticin actual de asignacin de un recurso podra,
de concederse, llevar potencialmente a un interbloqueo.
Necesita conocer las peticiones futuras de recursos.

Situacin IDEAL
Se debe presentar la mxima demanda de recursos por anticipado.
Los procesos a considerar deben ser independientes, no hay condiciones
de sincronizacin.
Debe haber un nmero fijo de recursos a repartir.
Los procesos no pueden finalizar mientras retengan recursos.

4.3.1. Mtodo 1: Estudio de Trayectorias


No iniciar un proceso si sus demandas pueden llevar a interbloqueo: Trayectorias de
procesos.
1. La trayectoria de los procesos ha de eludir estados inseguros.
2. No conceder una solicitud de incrementar los recursos de un proceso si esta
asignacin puede llevar a interbloqueo: Algoritmo del Banquero.
10
Progreso
de Q

Liberacin
de A
PyQ
quieren a A
A es Libera-
necesario cin de
B
Obtencin
Interblo-
de A queo
B es inevitable
PyQ
necesario quieren a B
Obtencin
de B

Progreso de P

Obtencin de A Obtencin de B Liberacin Liberacin


de A de B
A es
necesario
B es
necesario

Figura 6.2. Ejemplo de interbloqueo [BACO98].


Progreso
de Q

Liberacin de
A

PyQ
A es Libera- quieren
necesario cin de aA
B
PyQ
Obtencin
quieren
de A aB
B es
necesario
Obtencin
de B

Progreso de P

Obtencin de Liberacin de Obtencin de B Liberacin de


B A B

A es B es
necesario necesario

Figura 6.3. Ejemplo de sin interbloqueo [BACO98].


Interbloqueo
4.3. Prevencin de bloqueos.
4.3.2. Mtodo 2: Algoritmo del Banquero.

Def.: Estado del sistema es la asignacin actual de recursos a los procesos.


Def. Estado seguro es un estado en el cual existe al menos una secuencia que no lleva al
interbloqueo.
Def. Estado inseguro es un estado que no es seguro.

Basado en clientes en un banco.


Peticin de dinero.
Entrega de dinero.
No simultaneas.
Mtodo:
Solo se asignan los recursos si lleva a un estado seguro.
Se hace uso de las matrices de asignacin y peticin. (C y R).

13
Estrategia: Banquero

Extracto Stallings
Interbloqueo
4.3. Prevencin de bloqueos. Algoritmo del Banquero.
Ejemplo: Un sistema formado por: 6 unidades de cinta, 3 plotters, 4
impresoras, 2 CD-ROM.

Proc. Vector A
4 2121
1 5132
5 5132
2 5232
3 6342

15
Determinacin de un estado

RIJ+CIJ CIJ RIJ

Caso 1.
P2 solicita (101)
Caso 2
P1 solicita (101)

16
Determinacin de un estado seguro: estado inicial (1/2)

Es este un estado seguro?

RIJ+CIJ CIJ RIJ

RIJ+CIJ CIJ
RIJ

17
Determinacin de un estado seguro: estado inicial (2/2)

RIJ+CIJ RIJ
CIJ

RIJ+CIJ CIJ

18
Determinacin de un estado inseguro (1/2)

RIJ+CIJ CIJ RIJ

P2 se solicita 101. El estado se evala y se ve que es seguro. P2 se apropia de los recursos 101, y se
restan de los futuros
RIJ+CIJ CIJ RIJ

Es un estado seguro.
19
Determinacin de un estado inseguro (2/2)

P1 solicita los recursos 101, asumimos que se le conceden y se evala el estado


RIJ+CIJ CIJ RIJ

20
Interbloqueo.

Crticas al mtodo.
La prediccin de Interbloqueo no es segura.
Solo existe certeza de tener un Estado Seguro.
Es posible que un estado Inseguro no tenga que conducir
necesariamente a un Interbloqueo.

21
Interbloqueo
4.4. Soluciones. Evitar el interbloqueo.
1. Cada proceso hace uso de un solo recurso en un momento dado.
No paralelismo.
2. Uso secuencial de la CPU.
No es un uso ptimo.
No esperas por I/O.
SJF mejor algoritmo.
3. Cerrojo de dos fases.
1 fase: Reserva de todos los recursos.
2 fase: Uso de todos los recursos.

Problema: Liberacin de todos los recursos.

22
Problemas asociados.

6. Inanicin es interbloqueo?
No existe bloqueo.
Un proceso no es planificado por la poltica del sistema.
Ej.: En sistemas SJF los trabajos largos no son planificados mientras
existan cortos.

24

También podría gustarte