Concurrencia: interbloqueo e inanición

Slides:



Advertisements
Presentaciones similares
Construcción de Sistemas Distribuidos “Transacciones Distribuidas”
Advertisements

TEMA 1 Introducción a la Programación Concurrente
Administración de procesos Lic. Orlando Zamora Rdz.
Planificación de Monoprocesadores
GESTION DE DISPOSITIVOS
III - Gestión de memoria
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Administración de procesos y del procesador.
Uno de los conceptos mas importantes que gira entorno a un sistema operativo es el de proceso. Un proceso es un programa en ejecución junto con el entorno.
Unidad 6 Interbloqueos (Dead Lock)
TRABAJO DE SISTEMAS OPERATIVOS
Contenido Introducción Tipos de recursos Modelo del sistema
Inter bloqueo DeadLock.
SISTEMAS OPERATIVOS UNIDAD 1..
Introducción a los Sistemas de Bases de Datos Distribuidos
TRABAJO DE LUIS VIRACOCHA
Deadlocks Caracterización de deadlock Métodos para manejar deadlock Prevenir, Predecir, detección Recuperación de deadlock Emely Arráiz Ene-Mar 08.
Concurrencia: Deadlock e Inhanición
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Bloqueos Mortales Cecilia Hernández Bloqueos Mortales Definición Un proceso/hebra esta bloqueada cuando esta esperando por un evento que nunca ocurrirá.
Deadlocks Abrazo Mortal Bloqueos mutuos
Unidad 4 Interbloqueos (Dead Lock)
Sistemas Operativos Procesos.
Conceptos generales: Concurrencia: Existencia simultánea de varios procesos en ejecución. IMPORTANTE: EXISTENCIA SIMULTÁNEA NO IMPLICA EJECUCIÓN SIMULTÁNEA.
Unidad 7 Entrada/Salida
Unidad III Administración de procesos
Profesor: Rodrigo Sanhueza Figueroa
Sistemas Concurrentes: programación concurrente
Capítulo 6: Planificación del CPU – Parte a
INSTITUTO TECNOLOGICO SUPERIOR DE TAMAZUNCHALE INTEGRANTES: MAXIMO HERNANDEZ BAUTISTA CLAUDIA JIMENEZ PROCOPIO ANA LUZ RODRIGUEZ JONGUITUD LEONEL AQUINO.
PROGRAMACION CONCURRENTE
Hilos En La Computación. (THREADS).
Características de un sistema operativo
Sebastián Sánchez Prieto
Planificación de Procesos
Planificación y Gestión de procesos
 El acceso concurrente a datos compartidos puede dar pie a inconsistencia de datos  Mantener la consistencia de los datos requiere mecanismos para asegurar.
Introducción a los Sistemas Operativos
Gestión de Procesos Gestión de Procesos Procesos Planificación CPU
Gestión de procesos Sistemas Operativos Edwin Morales
El interbloqueo Situación en la que se encuentran un conjunto de procesos, (al menos dos), tal que cada proceso del conjunto espera la ocurrencia de un.
Teoría de Sistemas Operativos Sincronización Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
Planificación. Visión General El planificador del SO se construye a partir de un mecanismo para la conmutación de contexto y una política que determina.
Administrador de procesos
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz
SISTEMAS OPERATIVOS DEADLOCK ABRAZO MORTAL BLOQUEO MUTUO.
ABRAZO MORTAL - DEADLOCK - INTERBLOQUEO
Teoría de Sistemas Operativos Sincronización Procesos
Unidad 2 – Gestión de Procesos
LSI. Freddy Veloz Sistemas Operativos
La estrategia de prevención del interbloqueo consiste, a grandes rasgos, en diseñar un sistema de manera que esté excluida, a priori, la posibilidad de.
2.1 DEFINICIONES CARACTERÍSTICAS Y SUPOSICIONES.
INTERRUPCIONES – ABRAZO MORTAL
3.2.1 Administración de almacenamiento
Funciones principales!
También es conocido como proceso ligero. Es una entidad básica de utilización de CPU y esta formado por un contador de programa, algunos registros y una.
TIPOS DE SISTEMAS OPERATIVOS.  Que es un sistema operativo??  Es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar,
Historia de los sistemas operativos. Los Sistemas Operativos han sufrido una serie de cambios revolucionarios llamados generaciones. Hay cuatro generaciones:
Planificación de uso del procesador Rina Arauz. Planificación de CPU 2 UNAN-Leon La ejecución de un trabajo se compone de secuencias de procesador y de.
SOFTWARE DE COMPUTADORAS
Tema 4: Planificación de Procesos
Gestión de Memoria – Parte 2
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
Bloqueos Mutuos Modelo del Sistema Caracterización de Deadlock Métodos de manejo de Deadlocks Prevención de Deadlocks Evitación de Deadlocks Detección.
Sistemas Operativos Tema 9: Interbloqueo.
1 Tema 6: Concurrencia de Procesos Sistemas Operativos.
El principal trabajo del procesador es ejecutar las instrucciones de máquina que se encuentran en memoria principal. Estas instrucciones se encuentran.
Transcripción de la presentación:

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

Interbloqueo Recurso A B Solicitado Retenido por Proceso P1 P2

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)

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.

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

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.

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

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.

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.

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.

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 6.2. Ejemplo de interbloqueo [BACO98].

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

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

Estrategia: Banquero Extracto Stallings

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

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

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

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

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.

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…

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.

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.

Detección del interbloqueo

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.