TEMA 4: ASIGNACIÓN DE RECURSOS 1. Introducción Por las situaciones ya vistas en la ejecución concurrente de procesos, es necesario bloquear procesos. En concreto, en el acceso a recursos no compartibles por parte de varios procesos proces os se debe ut utilizar ilizar eell bloqueo: 1) SOLICITAR RECURSO 2) UTILIZAR RECURSO 3) LIBERAR RECURSO
2. Interbloqueos Situación que se produce cuando ningún proceso puede continuar su ejecución ni liberar recursos.
2.1 Modelo de interbloqueo Holt indicó una forma de modelar la asignación de recursos mediante gráficas dirigidas (Gráficas de recursos). A
S
R
B
PROCESO RECURSO RECURSO S SOLICITADO RECURSO R ASIGNADO POR EL E L PROCESO B (BLOQUEADO AL PROCESO A EN ESPERA DEL MISMO)
Situación de interbloqueo: D T
U C
Ejemplo de aplicación de la gráfica de recursos (ver transparencia anexa).
2.2. Estrategias para enfrentarse a los interbloqueos •
Ignorar el problema (algoritmo del avestruz: debido a que la ocurrencia de un bloqueo es ocasional, no se plantea ninguna solución al problema).
•
Detección y recuperación de interbloqueos: se basa en detectar cuando ocurre un interbloqueo y después realizar una acción para recuperar la situación.
Detecc Det ección ión: Se representa la gráfica de recursos
Recuperación Recuper ación:
•
Mediante
apropiación:
∃ ciclo
- Interbloqueo
no ∃ ciclo - No interbloqueo Consiste
en
arrebatarle
temporalmente un recurso a un proceso y, posteriormente, reasignárselo. Problemas: Esta acción depende de la naturaleza del recurso, la elección del proceso a suspender depende de los recursos y la recuperación es muy difícil. •
Mediante rollback: Se basa en la verificación periódica de los procesos (recursos asignados a cada uno). Cuando se alcanza una situación de interbloqueo se vuelve a una configuración anterior, y se evita la asignación del mismo recurso al mismo proceso.
•
Mediante eliminación de procesos: Se basa en eliminar un proceso conflic conflictivo tivo (bien del cicl ciclo o o bien que posea recursos necesarios para otro proceso). Problema: La eliminación de un proceso a mitad de su ejecución para su posterior posteri or ejecuci ejecución ón completa, completa, puede conducir a resultados resultados incorrectos (ej. un proceso que incrementa en 1 el valor de un campo de un registro de una base de datos).
•
Evitar los interbloqueos: Se basa en asignar los recursos de forma cuidadosa. Los algoritmos que evitan los interbloqueos se basan en el concepto de estado seguro.
Trayectorias de recursos: Muestran de forma gráfica la seguridad de los estados en la ejecución concurrente de procesos. Ejemplo: 2 procesos y 2 recursos.
B u
I8
I m p r e s o r a
P l o t t e r
Región Inalcanzable
Región Segura
I7
Región Segura
I6 Región Insegura
Región Segura
I5
t r p
Región Segura
s q
I1
Región Segura
I2
I3
A
I4
Impresora Plotter
Definición de estado seguro: Un estado es seguro si no está bloqueado y existe una forma de satisfacer todas las solicitudes pendientes, mediante la ejecución de los procesos en cierto orden. Ejemplos para 1 tipo de recurso: •
Estado seguro: Asig Máx Má x
Asig Máx Má x
Asig Máx Má x
Asig Máx Máx
Asig Máx Má x
A
3
9
A
3
9
A
3
9
A
3
9
A
3
9
B
2
4
B
4
4
B
0
-
B
0
-
B
0
-
C
2
7
C
2
7
C
2
7
C
7
7
C
0
-
Libres : 3
Libres : 1
Libres : 5
Libres : 0
Libres : 7
•
Estado inseguro: Asig Máx Má x
Asig Máx Má x
Asig Máx Má x
Asig Máx Máx
Ningú Nin gún n pro proces ceso o
A
3
9
A
4
9
A
4
9
A
4
9
puede pu ede avanz avanzar ar su
B
2
4
B
2
4
B
4
4
B
0
-
ejecución hasta
C
2
7
C
2
7
C
2
7
C
2
7
terminar, a no ser
Libres : 3
Libres : 2
Libres : 0
Libres : 4
que alguno libere
Un estado inseguro no es estado de interbloqueo, pero puede conducir a éste. Diferencia entre estado seguro e inseguro: •
A partir de un estado seguro, el sistema puede garantizar la conclusión de todos los procesos.
•
A partir de un estado inseguro, no se puede garantizar.
Algoritmo del banquero: El banquero tiene créditos disponibles y los reparte entre sus clientes de forma que siempre pueda satisfacer todos los créditos de, al menos, uno de ellos. o
Para un tipo de recurso: Asig Máx Má x A
0
6
B
0
5
C
0
4
D
0
7
Asig Máx Má x
Libres: 10
Est. Seguro
o
A
1
6
B
1
5
C
2
4
D
4
7
Asig Máx Má x
Libres: 2
A
1
9
B
2
-
C
2
D
4
Est. Est . Seguro
Libres: 1
7
Est. Inseguro
Para varios tipos de recursos:
Proc. Un. Cinta Plotter Impres. CDCD-RO ROM M
Proc. Un. Cinta Plotter Impres. CDCD-RO ROM M
Re Rec. c. Existentes
A
3
0
1
1
A
1
1
0
0
E = (6 3 4 2)
B
0
1
0
0
B
0
1
1
2
Rec. Asignados
C
1
1
1
0
C
3
1
0
0
A = (5 3 2 2)
D
1
1
0
1
D
0
0
1
0
Rec. Disponibles
E
0
0
0
0
E
2
1
1
0
D = (1 0 2 0)
Recursos asignados
Recursos necesarios
Algoritmo: 1) Buscar una fila cuyos recurso recursoss necesarios sean inferiores o igual iguales es que el vector de disponibles. Si no existe, se producirá interbloqueo.
2) Suponemos que el proceso elegido solicita todos los recursos necesarios y termina (libera todos y se añaden al vector de disponibles). 3) Repetir 1 y 2 hasta que todos los proces procesos os se señalen como concluidos (estado inicial seguro) u ocurra un interbloqueo (estado inicial inseguro).
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.