Sincronización de Procesos

Slides:



Advertisements
Presentaciones similares
Capítulo II Capas del Software de E/S
Advertisements

GESTION DE PROCESOS.
Concurrencia Exclusión mutua y sincronización
Tabla de Contenido Concurrencia.
TEMA 1 Introducción a la Programación Concurrente
Mecanismo de semáforos
Concurrencia y Exclusión Mutua
UNIX COMP 240.
Estructuras de Decisión I IF - THEN - ELSE
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
T5-multithreading SO-Grado Q1.
INTERPROCESS COMMUNICATIONS-1 Cátedra: Sistemas Operativos UTN-FRSF
Daniel Morillo Jorge Boscán Gregory Carrasco
Conceptos de la clase anterior
Concurrencia en JAVA JAVA es un lenguaje que tiene soporte de concurrencia, mediante Threads. Un thread es un proceso “liviano” (lightweight process) que.
Programación Concurrente DAI - UNSAAC.
SISTEMAS OPERATIVOS UNIDAD 1..
UPV-EHU / ATC Arquitecturas Paralelas Sincronización de procesos en sistemas SMP - Introducción - Exclusión mutua - Sincronización mediante eventos.
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (apunts de l’assignatura en format transparència) Multithreading and.
Unidad 2: Comunicación entre Procesos (1ra parte)
7a.1 Silberschatz, Galvin y Gagne ©2003 Sistemas Operativos 6ª edición Capítulo 7: Sincronización de procesos parte a.
Sincronización de procesos
PROBLEMAS DE SINCRONISMO DISTRIBUIDO
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
Concurrencia: Exclusión Mútua y Sincronización
Capítulo 3 Concurrencia: exclusión mutua y sincronización. Comunicación entre procesos.
Conceptos generales: Concurrencia: Existencia simultánea de varios procesos en ejecución. IMPORTANTE: EXISTENCIA SIMULTÁNEA NO IMPLICA EJECUCIÓN SIMULTÁNEA.
1 Concurrencia Procesos y Programas. 2 Establecer Comunicación entre procesos (memoria común)
Sistemas Concurrentes: el problema de la exclusión mutua I.T. Informática de Sistemas Curso
Sincronización de Procesos Semáforos Emely Arráiz Ene-Mar 08.
Semáforos Cecilia Hernández
Unidad III Administración de procesos
Sistemas Concurrentes: programación concurrente
Sincronización de procesos Mariano Gómez Plaza.  Mariano Gómez Plaza Sincronización de procesos 2 Tipos de procesos IndependientesCooperantes.
IET110 Sistemas Operativos P04: Exclusión Mutua Prof. Jonathan MakucSlide: 1.
Sistemas en tiempo real (STR)
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
PROGRAMACION CONCURRENTE
 El acceso concurrente a datos compartidos puede dar pie a inconsistencia de datos  Mantener la consistencia de los datos requiere mecanismos para asegurar.
Sincronización de Procesos Conceptos Problema SC Soluciones Software Soluciones Hardware Emely Arráiz Ene-Mar 08.
Programación secuencial vs programación concurrente
Monitores Mecanismo sincronización de nivel más alto que semáforos Construcción a nivel de lenguaje de programación que controla el acceso a datos compartidos.
PROCESOS SISTEMAS OPERATIVOS. CONTENIDO Procesos Comunicación entre procesos Problemas clásicos Planificación de un proceso Organización de procesos en.
Sincronización de Procesos
Tema 9.6: Sincronización de Procesos
Monitores Cabudare, noviembre de 2010 Universidad Fermín Toro
Programación secuencial vs programación concurrente
Teoría de Sistemas Operativos Sincronización Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
INFORMATICA III ESCUELA DE INGENIERIA ELECTRONICA DEPARTAMENTO DE SISTEMAS E INFORMATICA.
Integrantes: Ma Carmen Zaragoza Santiago Leticia González Hernández Abraham Obispo Antonio Alexis González Ramírez Eduardo Hernández Tolentino.
Administrador de procesos
ICC243 Sistemas Operativos
Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz
Robiro A. Asuaje L.17/07/20151 Universidad Centro Occidental “Lisandro Alvarado“ Decanato de Ciencias COORDINACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS.
Informática III 2009 Ing. Estela D'Agostino 1 Programación secuencial vs programación concurrente Pascal, C, Fortran, Cobol Secuenciales único hilo de.
Teoría de Sistemas Operativos Sincronización Procesos
Tema 9: Gestión de Procesos. Tema 9: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Gestión de.
PROCESOS PROCESOS, HILOS, COMUNICACIÓN ENTRE PROCESOS Y PLANIFICACIÒN
UTFSM - Sistemas Operativos
INSTITUTO TÉCNICO INDUSTRIAL ÁREA DE INFORMÁTICA ALUMNO: CRISTIAN DAVID RODRÍGUEZ GÓMEZ GRADO:11-02.
Desarrollador Profesional de Juegos Programación III Unidad II Trabajando con bloqueo de datos.
Desarrollador Profesional de Juegos Programación III Unidad II introducción a Mutex Secciones críticas.
Procesos Un proceso es un programa en ejecución. Modelo de procesos secuenciales. Abstracción del SO.
Desventajas Poco eficiente: lectura y escritura en disco es lenta Necesita otro mecanismo de sincronización para acceder a los datos Son los procesos.
1 Tema 6: Concurrencia de Procesos Sistemas Operativos.
UNIVERSIDAD CENTROCCIDENTAL “LISANDRO ALVARADO” DECANATO DE CIENCIAS Y TECNOLOGÍA DEPARTAMENTO DE SISTEMAS Unidad III: “PROGRAMACIÓN CONCURRENTE Y CONTROL.
Resumen de Sistemas Operativos I Msc./Ing. Antonio Mena.
Semáforos y Comunicación entre Procesos
SISTEMAS OPERATIVOS Sección Crítica.
Jornadas técnicas del GUL
Transcripción de la presentación:

Sincronización de Procesos 1. Formas de pasaje de información 2. Actividades críticas protejidas (p. ej. actualización de información compartida) 3. Secuenciamiento adecuado en caso de dependencias 2 y 3 aplica también a threads.

Condiciones de Competencia Dos procesos quieren acceder a memoria compartida al mismo tiempo. El resultado final depende de cuando ejecuta cada uno.

Regiones Críticas (1) Parte del programa donde se accede a la memoria compartida. Se deben dar 4 condiciones para proveer una comunicación correcta y eficiente: 1. Exclusión Mutua: ningún par de procesos puede estar e la región crítica en forma simultánea. 2. No se debe hacer ninguna asunción acerca de la velocidad o número de CPUs. 3. Avance: ningún proceso ejecutando fuera de su sección crítica puede ser bloqueado por otro proceso. 4. Fairness: ningún proceso debe esperar por siempre para entrar a su sección crítica.

Exclusión mutua usando regiones críticas.

Exclusión Mutua Usando Espera Activa 1. Desabilitano las interrupciones. (Sólo el kernel) 2. Variables de Lock => race condition 3. Alternancia estricta usando spin locks – viola la condición 3. 4. Solución de Peterson 5. Test-and-set locks (TSL)

Alternancia Estricta Solución propuesta para el problema de la región crítica (a) Proceso 0. (b) Proceso 1.

Solución de Peterson Interested(process)= False => el proceso no ingresó y no quiere ingresar a la sección crítica. Si ambos están interesados, un proceso sólo puede entrar si es el turno del otro.

Test-and-set lock Entrando y saliendo de la sección crítica usando la instrucción TSL. Instrucciones atómicas, implementadas en hardware.

Productor-Consumidor problema de condición de competencia. Sleep y Wakeup Productor-Consumidor problema de condición de competencia.

Semáforos Variable entera con 2 operaciones atómicas: down: if 0, then go to sleep; if >0, then decrementar valor up: incrementar valor y dejar a un proceso dormido ejecutar un down Implementado deshabilitando todas las interrupciones por el kernel.

Problema del productor-consumidor usando semáforos.

Mutexes Implementación de mutex_lock y mutex_unlock para sincronización threads en espacio de usuario

Monitores (1) Ejemplo de monitor – sólo un proceso puede estar dentro del monitor a al vez

Monitors (2) Ejemplo del problema del productor-consumidor con monitores Sólo un procedimiento del monitor puede estar activo a la vez El buffer tiene N entradas Variables de condition con wait and signal

Problema del productor-consumidor con N mensajes Pasaje de Mensajes Problema del productor-consumidor con N mensajes

Barreras Uso de una barrera Procesos acercándose a la barrera Todos los procesos menos uno esperando en la barrera El último proceso llega, se deja pasar a todos

Cena de los Filósofos Filósofos comen/piensan Para comer necesitan 2 tenedores Toman un tenedor a la vez

Problema de los Filósofos

Solución sin Deadlock para los Filósofos (1)

Solución sin Deadlock para los Filósofos (2)

Lectores y Escritores

El Barbero Dormilón

Solución al Barbero Dormilón