La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Concurrencia: interbloqueo e inanición

Presentaciones similares


Presentación del tema: "Concurrencia: interbloqueo e inanición"— Transcripción de la presentación:

1 Concurrencia: interbloqueo e inanición
Capítulo 3b Concurrencia: interbloqueo e inanición

2 Interbloqueo Recurso A B Solicitado Retenido por Proceso P1 P2

3 Interbloqueo 1. Definición de interbloqueo
Bloqueo permanente de un conjunto de procesos que compiten por los recursos o bien se comunican unos con otros. No existe una solución eficiente. Suponen necesidades contradictorias de recursos por parte de dos o más procesos. Solicitar (D) Bloquear (D) Solicitar (T) Bloquear (T) Realizar función Desbloquear (D) Desbloquear (T) Proceso P Proceso Q Paso Acción p0 Solicitar (D) p1 Bloquear (D) p2 Solicitar (T) p3 Bloquear (T) p4 Realizar función p5 Desbloquear (D) p6 Desbloquear (T) q0 Solicitar (T) q1 Bloquear (T) q2 Solicitar (D) q3 Bloquear (D) q4 Realizar función q5 Desbloquear (T) q6 Desbloquear (D)

4 Interbloqueo 2. Recursos: Tipos Recurso: Tipos:
Dispositivo hardware o información 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 semáforos. Tipos: Exclusivos: No admiten requisa sin causar problemas al objeto requisado. No exclusivos. Secuencia de acceso a un recurso: Reserva + bloqueo. Uso. Liberación. Casos de acceso. Caso A: Los procesos que solicitan un recurso, si este no está libre, se bloquean en espera. La liberación 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 predicción de los sucesos.

5 Interbloqueo 3. Condiciones de interbloqueo Exclusión mutua:
Sólo un proceso puede usar un recurso cada vez. Retención y esperar: Un proceso solicita todos los recursos que necesita a un mismo tiempo. No apropiación: 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. Círculo vicioso de espera: Puede prevenirse definiendo una ordenación lineal de los tipos de recursos. Recurso A B Solicitado Retenido por Proceso P1 P2

6 Interbloqueo 4. Introducción. Soluciones.
Alternativas frente al problema. Ignorar el problema. Tras el bloqueo  recuperación. Menos costoso que la prevención. Detección y recuperación. Distribución cuidadosa de recursos. Prevención: Evitar alguna de las condiciones.

7 Interbloqueo 4.1 Interbloqueo. Detección. A F R W B X E S V C U D
Un recurso de cada tipo. Seguimiento de las ramas del grafo de proceso-recurso. Bucle implica bloqueo. Recursos múltiples. R W B X E S V C U D

8 Interbloqueo 4.2. Interbloqueo. Recuperación Procedimientos.
Abortar todos los procesos interbloqueados. Retroceder cada proceso interbloqueado hasta algún punto de control definido previamente y volver a ejecutar todos los procesos: Puede repetirse el interbloqueo original. Selección de víctima tendrá en cuenta: tCPU invertido, recursos usados. Tipos de retroceso: Rollback o “Abort y reinicio”. Abortar sucesivamente procesos interbloqueados hasta que deje de haber interbloqueo. Costoso por selección del proceso. Posible inanición. Apropiarse de recursos sucesivamente hasta que deje de haber interbloqueo. Selección económica para procesos en una Sección Crítica. Retroceso: Rollback o “Abort y reinicio”. Según costo. Prioridad. Tiempo invertido en la CPU. Número y tipo de recursos utilizados. Recursos por liberar. Número de procesos a abortar. Tipo de proceso: Interactivo o por lotes. El menor número de líneas de salida producidas hasta ahora. El mayor tiempo restante estimado. El menor número total de recursos asignados hasta ahora.

9 Prevención 4.3. Predicción de interbloqueos Muy costosa.
Luchar contra las condiciones que producen los interbloqueos. Exclusión 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 ejecución. 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.

10 Interbloqueo 4.3. Predicción de interbloqueos
La asignación de los recursos a los procesos ha de ser realizada por el S.O. Con cuidado. Se decide dinámicamente si la petición actual de asignación de un recurso podría, de concederse, llevar potencialmente a un interbloqueo. Necesita conocer las peticiones futuras de recursos. Método 1: Estudio de Trayectorias No iniciar un proceso si sus demandas pueden llevar a interbloqueo: Trayectorias de procesos. La trayectoria de los procesos ha de eludir estados inseguros. No conceder una solicitud de incrementar los recursos de un proceso si esta asignación puede llevar a interbloqueo: Algoritmo del Banquero. Situación IDEAL Se debe presentar la máxima demanda de recursos por anticipado. Los procesos a considerar deben ser independientes, no hay condiciones de sincronización. Debe haber un número fijo de recursos a repartir. Los procesos no pueden finalizar mientras retengan recursos.

11 Interblo-queo inevitable
Progreso de Q Liberación de A P y Q quieren a A A es necesario A es necesario Libera- ción de B Obtención de A Interblo-queo inevitable P y Q quieren a B B es necesario Obtención de B Progreso de P Obtención de A Obtención de B Liberación de A Liberación de B A es necesario B es necesario Figura Ejemplo de interbloqueo [BACO98].

12 Figura 6.3. Ejemplo de sin interbloqueo [BACO98].
Progreso de Q Liberación de A P y Q quieren a A A es necesario Libera-ción de B P y Q quieren a B Obtención de A B es necesario Obtención de B Progreso de P Obtención de B Liberación de A Obtención de B Liberación de B A es necesario B es necesario Figura Ejemplo de sin interbloqueo [BACO98].

13 Interbloqueo 4.3. Prevención de bloqueos Método 2: Algoritmo del Banquero. Def.: Estado del sistema es la asignación 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. Petición de dinero. Entrega de dinero. No simultaneas. Método: Solo se asignan los recursos si lleva a un estado seguro. Se hace uso de las matrices de asignación y petición. (C y R).

14 Estrategia: Banquero Extracto Stallings

15 Interbloqueo 4.3. Prevención de bloqueos. Algoritmo del Banquero. Ejemplo: Un sistema formado por: 6 unidades de cinta, 3 plotters, 4 impresoras, 2 CD-ROM. Proc. Vector A

16 Determinación de un estado
RIJ+CIJ CIJ RIJ Caso 1. P2 solicita (101) Caso 2 P1 solicita (101)

17 Determinación de un estado seguro: estado inicial (1/2)
¿Es este un estado seguro? RIJ+CIJ CIJ RIJ RIJ+CIJ CIJ RIJ

18 Determinación de un estado seguro: estado inicial (2/2)
RIJ+CIJ RIJ CIJ RIJ+CIJ CIJ

19 Determinación de un estado inseguro (1/2)
RIJ+CIJ CIJ RIJ P2 se solicita 101. El estado se evalúa 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.

20 Determinación de un estado inseguro (2/2)
RIJ+CIJ CIJ RIJ P1 solicita los recursos 101, asumimos que se le conceden y se evalúa el estado…

21 Interbloqueo. Críticas al método.
La predicción 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.

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

23 Detección del interbloqueo

24 Problemas asociados. 6. Inanición es interbloqueo? No existe bloqueo.
Un proceso no es planificado por la política del sistema. Ej.: En sistemas SJF los trabajos largos no son planificados mientras existan cortos.


Descargar ppt "Concurrencia: interbloqueo e inanición"

Presentaciones similares


Anuncios Google