Interbloqueo. Concurrencia: Interbloqueo e Inanición

Documentos relacionados
Unidad 1: Gestión de Procesos

Tarea #2 Interbloqueo e Inanición.

Tema 6. Gestión de Interbloqueo

Sistemas operativos. Tema 6: Interbloqueo ( (deadlock)

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

Sistemas operativos: una visión aplicada. Capítulo 5 Comunicación y sincronización de procesos

Tema 5 El Interbloqueo

El problema del interbloqueo

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

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

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

Sistemas operativos, 2ª edición

Sistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria

Acceso coordinado a recursos compartidos

Concurrencia. Paso de Mensajes Control de Recursos Deadlock

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

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

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

seguridad y vivacidad/viveza

Sistemas Operativos (Parte 2)

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

Proceso. Threads, SMP, and Microkernels. Multithreading. Proceso

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

Tema 1: Programación Multiproceso. Curso

PROBLEMAS CLÁSICOS DE LA COMUNICACIÓN N ENTRE PROCESOS

Test SITR Temas: Planificación, Sincronización, Comunicación entre Procesos, Relojes, Señales, Temporizadores (TestSITR_T4 T9)

Sistemas Operativos II Junio 2006 Nombre:

Concurrencia de Procesos

CAPITULO 6. Control de Concurrencia y Recuperación

Sincronización de procesos

Unidad 1: Gestión de Procesos

INDICE Prologo Capitulo 0. Guía del lector Primera parte: antecedentes Capitulo 1. Introducción a los computadores

Hilos Secciones Stallings:

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

La cena de los filósofos.

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

Concurrencia, exclusión mutua y sincronización. Capítulo 5 HungriaBerbesi

Programación concurrente

SISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS. Procesos concurrentes y problemas en la comunicación y la sincronización

*** SOLUCIONES *** SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010

Convivencia Gestión de Procesos

Estados de un proceso

Prueba objetiva 2 - Clave a

Procesos Definición y Estados

Introducción a los Sistemas Operativos S.O.

Concurrencia y paralelismo

Capítulo 16: Control de la concurrencia

ABRAZO MORTAL - DEADLOCK - INTERBLOQUEO

1. Sistema Operativo Unix

Informática I Threads

1. Para qué sirve un Descriptor de Dispositivo? Qué funciones del sistema operativo acceden a ellos y para qué?

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

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

Concurrencia, exclusión mutua y sincronización.

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

Programación de Multitareas utilizando Hilos

Sistemas operativos. Comunicación y sincronización de procesos

DATOS DE IDENTIFICACIÓN DEL CURSO

Pontificia Universidad Católica del Ecuador

Procesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo)

Programación Concurrente Recopilación de teoría referente a la materia

Sistemas Operativos. Paso de Mensajes. Direccionamiento de Mensajes. Sincronización de mensajes. Mensajes permiten: Paso de Mensajes

Administración del Procesador

Tema 4 CURSO 2015/16 (PLAN 2009) PRIMER SEMESTRE. Internet

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERIA EAP INGENIERIA INFORMATICA

CONCURRENCIA. Sincronización. Sistemas Operativos y Distribuidos. Prof. Javier Echaiz 1. Material Adicional (SOSD Mod 4)

Apellidos: Nombre: Matrícula: UNIVERSIDAD POLITÉCNICA DE MADRID

1. INTRODUCCIÓN 1.1. Qué es un sistema operativo? El sistema operativo como máquina extendida El sistema operativo como gestor de

Threads, SMP y Microkernels. Proceso

Concurrencia Monitores. Guillermo Román Díez

Preguntas de autoevaluación tema 3

Teoría de Sistemas Operativos Sincronización Procesos

Concurrencia. Programación Concurrente. Espera ocupada. Primitivas IPC con bloqueo

Examen de Programación Concurrente - Clave: a Junio 2008 Departamento de Lenguajes, Sistemas Informáticos e Ingeniería del Software.

Transcripción:

Interbloqueo Concurrencia: Interbloqueo e Inanición Capítulo 6 Bloqueo permanente de un conjunto de procesos que compiten por recursos del sistema o por comunicación con los otros No existe una solución eficiente Implican a varios procesos cuyas necesidades por recursos entran en conflicto

Recursos Reutilizables Usado por un procesa cada vez y que no se agotan por el uso Los procesos obtienen los recursos que más tarde liberarán para que otros lo reusen Los procesadores, canales de E/S, memoria principal y secundaria, ficheros, bases de datos y semáforos Un interbloqueo ocurre si cada proceso mantiene un recurso y pide otro Ejemplo de Interbloqueo Otro Ejemplo de Interbloqueo Hay espacio disponible para almacenar 200K bytes, y ocurre la siguiente secuencia de eventos P1 Request 80K bytes; Request 60K bytes; P2 Request 70K bytes; Request 80K bytes; El interbloqueo ocurre si ambos procesos llegan a su segunda petición

Recursos Consumibles Creados (produced) y destruidos (consumed) por un proceso Interrupciones, señales, mensajes e información en buffers de E/S El interbloqueo puede ocurrir si un Receptor de un mensaje está bloqueado Una extraña combinación de eventos puede dar lugar a interbloqueo Ejemplo de Interbloqueo El interbloqueo ocurre si la recepción es bloqueante P1 Receive(P2); Send(P2, M1); P2 Receive(P1); Send(P1, M2); Condiciones para el Interbloqueo Exclusión mutua sólo un proceso puede usar un recurso cada vez Mantener-y-esperar Un proceso pide todos los recurso que necesita en un momento Condiciones para el Interbloqueo Sin expropiación (No preemption) Si a un proceso que mantiene ciertos recursos se le deniega una petición, dicho proceso debe liberar sus recursos originales Si un proceso pide un recurso que actualmente mantiene otro proceso, el sistema operativo puede expropiar el segundo proceso y pedirle que libere sus recursos

Condiciones para el Interbloqueo Espera circular Se previene definiendo un orden lineal de los tipos de recurso Evitación de Interbloqueo Se toma una decisión dinámicamente cuando la actual petición de asignación de recurso, si se concede, potencialmente dará lugar a un interbloqueo Requiere el conocimiento de las peticiones futuras del proceso Dos Enfoques para la Evitación de Interbloqueo No comenzar un proceso si sus demandas pueden dar lugar a un interbloqueo No conceder una petición de recurso incremental a un proceso si esta asignación puede dar lugar a interbloqueo Denegación de Asignación de Recurso Se le conoce como algoritmo de banquero El estado del sistema es la asignación actual de recursos a procesos Un estado seguro es donde hay al menos una secuencia que no da lugar a interbloqueo Un estado de riesgo es un estado que no es seguro

Determinación de un Estado Seguro Estado Inicial Determinación de un Estado Seguro P2 se ejecuta hasta la finalización Determinación de un Estado Seguro P1 se ejecuta hasta la finalización Determinación de un Estado Seguro P3 se ejecuta hasta la finalización

Determinación de un Estado de Riesgo Determinación de un Estado de Riesgo Evitación de Interbloqueo Detección de Interbloqueo La máxima necesidad de recurso debe ser indicada de antemano Los procesos bajo consideración deben ser independientes; sin necesidad de sincronización Habrá un número fijo de recursos que asignar Ningún proceso puede salir manteniendo recursos

Estrategias una vez Detectado un Interbloqueo Abortar todos los procesos en interbloqueo Recuperar cada proceso bloqueado a algún checkpoint previamente definido y reiniciar todos los procesos puede volver a ocurrir el mismo interbloqueo Abortar sucesivamente los procesos bloqueados hasta que desaparece el interbloqueo Expropiar sucesivamente los recursos hasta que desaparece el interbloqueo Criterios de Selección de Procesos en Interbloqueo Menor cantidad de tiempo del procesador consumida hasta el momento Menor número de líneas de salida producidas hasta el momento Mayor tiempo restante estimado Menor número de recursos asignados hasta el momento Menor prioridad El Problema de la Cena de los Filósofos Mecanismos de Concurrencia en UNIX Pipes (encaminadores) Mensajes Memoria compartida Semáforos Señales (signals)

Primitivas de Sincronización de los Threads de Solaris Locks de Exclusión mutua (mutex) Semáforos Locks de múltiples lectores, único escritor (readers/writer) Variables de condición Mecanismos de Concurrencia de Windows 2000 Proceso Thread Fichero Entrada de consola Notificación de cambio en fichero Mutex Semáforo Evento Temporizador de espera