Asignacion de Recursos

September 13, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Asignacion de Recursos...

Description

 

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).

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF