1 / 23

Concurrencia: interbloqueo e inanición

Concurrencia: interbloqueo e inanición. Capítulo 3b. Interbloqueo. Recurso A. Retenido por. Solicitado. Proceso P1. Proceso P2. Solicitado. Retenido por. Recurso B. Interbloqueo. Proceso P. Proceso Q. Paso. Acción. Paso. Acción. q 0 Solicitar (T) q 1 Bloquear (T)

emma-wood
Download Presentation

Concurrencia: interbloqueo e inanición

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Interbloqueo Recurso A Retenido por Solicitado Proceso P1 Proceso P2 Solicitado Retenido por Recurso B

  3. Interbloqueo Proceso P Proceso Q Paso Acción Paso Acción q0 Solicitar (T) q1 Bloquear (T) q2 Solicitar (D) q3 Bloquear (D) q4 Realizar función q5 Desbloquear (T) q6 Desbloquear (D) p0 Solicitar (D) p1 Bloquear (D) p2 Solicitar (T) p3 Bloquear (T) p4 Realizar función p5 Desbloquear (D) p6 Desbloquear (T) Solicitar (D) Bloquear (D) Solicitar (D) Solicitar (T) Bloquear (T) Realizar función Desbloquear (D) Desbloquear (T) 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.

  4. Interbloqueo 2. Recursos: Tipos • Recurso: • 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 Recurso A Retenido por Solicitado Proceso P1 Proceso P2 Solicitado Retenido por Recurso B 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.

  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 • Un recurso de cada tipo. • Seguimiento de las ramas del grafo de proceso-recurso. • Bucle implica bloqueo. • Recursos múltiples. R W X B E S V U C 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. 4.3.1. 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. 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 6.2. Ejemplo de interbloqueo [BACO98].

  12. 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 6.3. Ejemplo de sin interbloqueo [BACO98].

  13. Interbloqueo 4.3. Prevención de bloqueos. 4.3.2. 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 4 2121 1 5132 5 5132 2 5232 3 6342

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

  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) P1 solicita los recursos 101, asumimos que se le conceden y se evalúa el estado… RIJ RIJ+CIJ CIJ

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

More Related