Tema 5 El Interbloqueo

Documentos relacionados
Tema 6. Gestión de Interbloqueo

Sistemas Operativos Tema 11. Interbloqueo José Miguel Santos C. Rubén García - Alexis Quesada

Unidad 1: Gestión de Procesos

Sistemas operativos, 2ª edición

Sistemas operativos. Tema 6: Interbloqueo ( (deadlock)

Interbloqueo. Concurrencia: Interbloqueo e Inanición

Tarea #2 Interbloqueo e Inanición.

El problema del interbloqueo

Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur

Sistemas operativos: una visión aplicada. Capítulo 6 Interbloqueos

Concurrencia. Paso de Mensajes Control de Recursos Deadlock

Interbloqueos. Tema 5. Sistemas Operativos I. Tema 5: Interbloqueos. Equipo de Sistemas Operativos DISCA / DSIC UPV

Interbloqueos. Módulo 7. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

UNIDAD III BLOQUEOS IRREVERSIBLES (BI) Ing. Benito Sánchez Raya. Disponible en:

TEMA 2. El Interbloqueo. Contenido

CAPITULO 6. Control de Concurrencia y Recuperación

Capítulo 16: Control de la concurrencia

4.6.- Integridad: Control de concurrencia.

1 ( 3,5 puntos) Responda, justificando sus respuestas, a las siguientes cuestiones:

Sistemas Operativos (Parte 2)

UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA

Capítulo IV. INTERBLOQUEO E INANICIÓN

Tema II. Descripción y control de procesos. UNED Manuel Fernández Barcell. Blog:

ABRAZO MORTAL - DEADLOCK - INTERBLOQUEO

Sistemas Operativos ING. EN COMPUTACIÓN Tercer Examen Parcial

Resumen Tema 5: Proceso de transacciones

PROGRAMACION CONCURRENTE. I.4. Patologías en programas concurrentes

Transacciones, Recuperación y Control de Concurrencia

Tema 7. Entrada / Salida

GUÍA DE ESTUDIO SISTEMAS OPERATIVOS

Introducción a los Sistemas Operativos S.O.

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

Control de Concurrencia. Carlos A. Olarte BDII

Acceso coordinado a recursos compartidos

Sistemas Operativos II Junio 2006 Nombre:

TEMA 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS

Teoría de Sistemas Operativos Sincronización Procesos

Hilos Secciones Stallings:

Tema 3. Gestión de la memoria

Convivencia Gestión de Procesos

Puebla, Pue a 4 de Junio del Programación Concurrente y Paralela

Sistemas Operativos. Dr. Wenceslao Palma M.

Concurrencia de Procesos

Filósofos comensales

Tema 12: El sistema operativo y los procesos

Tema 1 Introducción a los Sistemas Operativos

Procesos Definición y Estados

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)

Administración del Procesador

seguridad y vivacidad/viveza

Concurrencia. Guillermo Román Díez

Nombre del estudiante: Gustavo Antonio González Morales. Nombre del trabajo: Tarea 2. Investigación sobre Paginación y Segmentacion.

Contenido. Qué es el interbloqueo? Cómo prevenirlo? Cómo evitarlo? Cómo detectarlo? Interbloqueo. Cruce en un Puente. Qué es?

1. Sistema Operativo Unix

Procesadores de lenguaje Tema 5 Comprobación de tipos

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA ELECTRÓNICA E INFORMÁTICA SÍLABO

Concurrencia. Primitivas IPC con bloqueo

Capítulo 3. Procesos concurrentes 3.1. Conceptos de programación concurrente La computación concurrente es la simultaneidad en la ejecución de

Clase Práctica - Scheduling

TEMA 3. OPERADORES Y EXPRESIONES.

PLANIFICACION DE LA CPU

Análisis de algoritmos

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas:

POLÍTICAS DE USO DEL EQUIPO DE CÓMPUTO DEL COLEGIO DE ESTUDIOS CIENTÍFICOS Y TECNOLÓGICOS DEL ESTADO DE GUANAJUATO I N D I C E

Introducción al tipo Vector Cómo guardar una colección de datos conceptualmente relacionados? - almacenar los 100 primeros números primos, - al

Lección 6: Ejemplos de programación con semáforos

Sistemas Operativos- Evolución Histórica

Control de concurrencia en bases de datos relacionales

Parte 5. Métodos iterativos para la resolución de sistemas de ecuaciones no lineales

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERIA EAP INGENIERIA INFORMATICA

TEMA III. Unidad de entrada salida

UNIDAD II. Software del Computador. Ing. Yesika Medina Ing. Yesika Medina

SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009

Gestión de Memoria. Gestión de Memoria. Requisitos de Gestión de Memoria

Bases de Datos Distribuidas. Carlos A. Olarte BDII

SISTEMAS OPERATIVOS (Código: ) Septiembre 2018

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos

Sistemas de Tiempo Real Planificación de Sistemas de Tiempo Real

Transcripción:

Tema 5 El Interbloqueo 5.1. Introducción 5.2. Condiciones para que se produzca 5.3. Métodos para el tratamiento 5.3.1. Prevención 5.3.2. Evitación 5.3.3. Detección y recuperación 5.3.4. Estrategias combinadas José Luis Triviño Rodriguez 1

Introducción Una de las principales tareas del SO es la administración de recursos Muchos recursos no pueden ser utilizados simultáneamente por más de un proceso. Ej: Impresora, CPU, Tarjeta de sonido, etc. Es necesario que el SO disponga de un mecanismo que permita acceder de forma exclusiva a un recurso José Luis Triviño Rodriguez 2

Introducción Cuando los procesos utilizan varios recursos en exclusividad puede darse la situación de que un proceso espere recursos que tiene reservado otro proceso y viceversa A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. José Luis Triviño Rodriguez 3

Introducción Se puede definir una situación de interbloqueo como: Un conjunto de procesos se encuentra en estado de interbloqueo cuando cada uno de ellos espera un suceso que sólo puede originar otro proceso del mismo conjunto José Luis Triviño Rodriguez 4

Condiciones para que se produzca interbloque Exclusión mútua Retención y espera No expropiación Espera circular José Luis Triviño Rodriguez 5

Métodos para el tratamiento del interbloqueo Ignorar el problema (estrategia del avestruz) Prevención Evitación Detección y recuperación Estrategias combinadas José Luis Triviño Rodriguez 6

Prevención del interbloqueo Este método previene el interbloqueo eliminando una de sus cuatro causas Exclusión mútua No siempre es posible En algunos recursos se puede conseguir utilizando spooling y demonios. José Luis Triviño Rodriguez 7

Prevención del interbloqueo Retención y espera Se puede eliminar haciendo que los procesos liberen los recursos que tienen cuando realizan una solicitud de un recurso no disponible Dos estrategias: 1. Los recursos de solicitan al comienzo de la ejecución 2.Los recursos se solicitan de forma incremental pero son liberados cuando se deniega una solicitud José Luis Triviño Rodriguez 8

Prevención del interbloqueo No expropiación Se puede eliminar permitiendo la expropiación El SO debe ser capaz de restaurar el estado de los recursos Se adecúa muy bien a cierto tipo de recursos como CPU y memoria. José Luis Triviño Rodriguez 9

Prevención del interbloqueo Espera circular Se elimina ordenando los recursos Los recursos sólo pueden ser solicitados en el orden establecido No aprovecha adecuadamente los recursos José Luis Triviño Rodriguez 10

Evitación del interbloqueo Las peticiones de recursos sólo se conceden si se garantiza que no conducirán a un interbloqueo Dos inconvenientes: Desaprovechamiento de los recursos Mayor coste computacional al evaluar las peticiones de recursos José Luis Triviño Rodriguez 11

Evitación del interbloqueo Un algoritmo analiza cada petición de recursos antes de su concesión para comprobar que no llevará a un estado de interbloqueo Estos algoritmos se basan en el concepto de estado seguro Un estado es seguro si el sistema puede asignar recursos a cada proceso hasta alcanzar el máximo de sus necesidades siguiendo algún orden arbitrario y aun así evitar el interbloqueo José Luis Triviño Rodriguez 12

Evitación del interbloqueo Existen diferentes modelos para determinar si un estado es inseguro. Dos de ellos son: Trayectoria de recursos. Utiliza una representación gráfica de la evolución del sistema Algoritmo del banquero. Algoritmo desarrollado por Dijkstra José Luis Triviño Rodriguez 13

Trayectoria de recursos P2 Impresora Plotter Región insegura Impresora P1 Plotter José Luis Triviño Rodriguez 14

Algoritmo del banquero Este algoritmo se ejecutará cada vez que un proceso solicite un recurso y decidirá si la petición se concede (no conduce a un estado inseguro) Datos de entrada: Solicitud: ARRAY [1..m] DE NATURAL; Representa el número de unidades de cada recurso solicitadas (m es el número de tipos de recursos diferentes en el sistema). José Luis Triviño Rodriguez 15

Algoritmo del banquero Datos internos: Disponible: ARRAY [1..m] DE NATURAL; Número de recursos disponibles de cada tipo Maximo: ARRAY [1..n][1..m] DE NATURAL; Matriz que indica la cantidad máxima de cada recurso que puede necesitar un proceso (n es el número de procesos) Asignacion: ARRAY [1..n][1..m] DE NATURAL; Matriz que indica la cantidad de cada recurso asignados a cada proceso Necesidad: ARRAY [1..n][1..m] DE NATURAL; Necesidad = Maximo Asignacion José Luis Triviño Rodriguez 16

Algoritmo del banquero 1. SI i, Solicitud[i] Necesidad[p][i] ENTONCES denegar solicitud // El proceso ha excedido su demanda máxima 2. SI i, Solicitud[i] > Disponible[i] ENTONCES denegar solicitud // No hay recursos suficientes 3. Calcular nuevo estado: 1. Disponible [i] := Disponible[i] - Solicitud[i], para 1 i m 2. Asignacion [p][i] := Asignacion[p][i] + Solicitud[i], para 1 i m // p es el identificador del proceso que realiza la rerserva 3. Necesidad [p][i] := Necesidad[p][i] - Solicitud[i], para 1 i m 4. SI estadoseguro( Disponible, Asignacion, Necesidad ) ENTONCES aceptar solicitud de recursos, EN OTRO CASO denegar la solicitud José Luis Triviño Rodriguez 17

Algoritmo estadoseguro Variables Trabajo: ARRAY [1..m] DE NATURAL; Fin: ARRAY [1..n] DE LOGICO; Algoritmo 1. Fin[i] := FALSO, para 1 i n 2. Trabajo[i] := Disponible[i], para 1 i m 3. MIENTRAS p, Fin[p] ( i, Necesidad[p][i] Trabajo[i]) 4. Trabajo[i] := Trabajo[i] + Asignacion[p][i], para 1 i m 5. Fin[p] := CIERTO 6. SI i, Fin[i] ENTONCES el estado es seguro, EN OTRO CASO el estado es inseguro José Luis Triviño Rodriguez 18

Detección y Recuperación Esta estrategia de tratamiento del interbloqueo se basa en dejar que este ocurra, detectarlo y realizar un proceso de recuperación del interbloqueo Para el proceso de detección se utiliza el algoritmo estadoseguro José Luis Triviño Rodriguez 19

Detección y Recuperación Dos aspectos fundamentales para la aplicación de esta estrategia: 1. Con que frecuencia se utiliza el algoritmo de detección de interbloqueo 2. Como se recupera el interbloqueo José Luis Triviño Rodriguez 20

Detección del interbloqueo El algoritmo de detección puede utilizarse cada vez que se solicita un recurso o de forma periódica Si se ejecuta con mucha frecuencia implica con consumo excesivo de computo Si se ejecuta con poca frecuencia se desaprovechan recursos bloqueados por los procesos en interbloqueo José Luis Triviño Rodriguez 21

Recuperación del interbloqueo Aviso al operador Terminación de procesos. Alternativas: Abortar todos los procesos interbloqueados Abortar los procesos de uno en uno hasta que desaparezca el interbloqueo Expropiación de recursos. Problemas: Selección de la víctima Retroceso Postergación indefinida José Luis Triviño Rodriguez 22

Terminación de procesos Factores que influyen en la elección del proceso a eliminar: Prioridad Tiempo de ejecución consumido y previsto Recursos usados y tipo Necesidades futuras de recursos Número de procesos Tipo de procesos José Luis Triviño Rodriguez 23

Estrategias combinadas Basa su funcionamiento en utilizar la mejor estrategia de tratamiento de interbloqueo para cada recurso en función de las características del recurso Los recursos se agrupan en 4 categorías dependiendo se sus características José Luis Triviño Rodriguez 24

Categorías de recursos Recursos internos (recursos del sistema, ej. tablas de procesos). Prevención mediante ordenación de recursos Memoria principal y CPU. Prevención mediante expropiación Recursos usados por los procesos. Evitación, prevención mediante ordenación de recursos. prevención de la exclusión mutua mediante spooling. Espacio de intercambio. Prevención mediante adquisición anticipada José Luis Triviño Rodriguez 25