Concurrencia. Guillermo Román Díez
|
|
- Mercedes Díaz
- hace 5 años
- Vistas:
Transcripción
1 Concurrencia Semáforos Guillermo Román Díez Universidad Politécnica de Madrid Curso Guillermo Román, UPM CC: Semáforos 1/11
2 Problemas de la espera activa Los algoritmos de espera activa pueden garantizar la exclusión mutua, pero... : Son difíciles de implementar Son difíciles de probar su corrección Malgastan CPU Dependen de la arquitectura donde ejecutan Son difíciles de escalar a diferentes tipos de procesos... Es necesario encontrar una solución mejor para implementar la exclusión mutua Guillermo Román, UPM CC: Semáforos 2/11
3 Semáforos Semáforo es un tipo abstracto de datos que permite detener o dejar pasar un proceso dependiendo del valor de su contador interno Detiene los threads (no hace espera activa) Permite desbloquear uno de los hilos que se encuentren bloqueados Se basa en test and set Es de más alto nivel que la espera activa simplifica los protocolos de entrada y salida en la sección crítica Resuelve fácilmente la exclusión mutua Permite verificar más fácilmente la corrección de las soluciones propuestas Guillermo Román, UPM CC: Semáforos 3/11
4 Semáforos Podríamos ver cierta analogía con un semáforo de tráfico (un poco lejana... ) Si está abierto permite el paso del thread Si está cerrado detiene el thread Tiene 1 atributo contador de tipo entero Se usa para decidir si un proceso puede pasar o no El valor del contador se inicializa en el constructor Se puede inicializar a cualquier valor mayor o igual que 0 Tiene 2 operaciones: P() (await, acquire) V() (signal, release) Guillermo Román, UPM CC: Semáforos 4/11
5 Operación await Semaphore s... void await (){ if( s. contador >0) s. contador --; else block (); // Duerme el thread actual } Cuando el contador tiene un valor mayor que 0, únicamente se decrementa el contador Cuando el contador vale 0 entonces el proceso se queda bloqueado Guillermo Román, UPM CC: Semáforos 5/11
6 Operación signal Semaphore s... void signal (){ if (! procesos_ bloqueados ) s. contador ++; else unblock ( t); // Despierta un thread t // que estuviera bloqueado // (no - determinista ) } Cuando no hay procesos bloqueados se incrementa el contador Cuando hay procesos bloqueados se desbloquea uno de esos procesos Guillermo Román, UPM CC: Semáforos 6/11
7 Justicia La decisión del thread que se despierta en un semáforo es no-determinista Por esto, a nivel teórico podría darse el caso de que un thread sufra inanición En las implementaciones se suele hacer en orden de llegada La implementación de Java tiene un flag para garantizar justicia Nuestra implementación de cclib es justa Para razonar sobre el comportamiento del semáforo debemos suponer que cualquier hilo que esté bloqueado puede ser desbloqueado en un signal Guillermo Román, UPM CC: Semáforos 7/11
8 Verdadero o falso? Un semáforo se puede inicializar con un valor del contador negativo Guillermo Román, UPM CC: Semáforos 8/11
9 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo Guillermo Román, UPM CC: Semáforos 8/11
10 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Guillermo Román, UPM CC: Semáforos 8/11
11 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo X Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Guillermo Román, UPM CC: Semáforos 8/11
12 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo X Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Si hay un thread bloqueado, entonces s.contador == 0 Guillermo Román, UPM CC: Semáforos 8/11
13 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo X Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Si hay un thread bloqueado, entonces s.contador == 0 Guillermo Román, UPM CC: Semáforos 8/11
14 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo X Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Si hay un thread bloqueado, entonces s.contador == 0 Si s.contador == 0 implica que hay un thread bloqueado Guillermo Román, UPM CC: Semáforos 8/11
15 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo X Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Si hay un thread bloqueado, entonces s.contador == 0 X Si s.contador == 0 implica que hay un thread bloqueado Guillermo Román, UPM CC: Semáforos 8/11
16 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo X Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Si hay un thread bloqueado, entonces s.contador == 0 X Si s.contador == 0 implica que hay un thread bloqueado Si s.contador > 0 implica que no hay threads bloqueados Guillermo Román, UPM CC: Semáforos 8/11
17 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo X Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Si hay un thread bloqueado, entonces s.contador == 0 X Si s.contador == 0 implica que hay un thread bloqueado Si s.contador > 0 implica que no hay threads bloqueados Guillermo Román, UPM CC: Semáforos 8/11
18 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo X Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Si hay un thread bloqueado, entonces s.contador == 0 X Si s.contador == 0 implica que hay un thread bloqueado Si s.contador > 0 implica que no hay threads bloqueados A través de un semáforo se puede bloquear un thread distinto al que está ejecutando Guillermo Román, UPM CC: Semáforos 8/11
19 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo X Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Si hay un thread bloqueado, entonces s.contador == 0 X Si s.contador == 0 implica que hay un thread bloqueado Si s.contador > 0 implica que no hay threads bloqueados X A través de un semáforo se puede bloquear un thread distinto al que está ejecutando Guillermo Román, UPM CC: Semáforos 8/11
20 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo X Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Si hay un thread bloqueado, entonces s.contador == 0 X Si s.contador == 0 implica que hay un thread bloqueado Si s.contador > 0 implica que no hay threads bloqueados X A través de un semáforo se puede bloquear un thread distinto al que está ejecutando A través de un semáforo se puede desbloquear un thread distinto al que está ejecutando Guillermo Román, UPM CC: Semáforos 8/11
21 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo X Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Si hay un thread bloqueado, entonces s.contador == 0 X Si s.contador == 0 implica que hay un thread bloqueado Si s.contador > 0 implica que no hay threads bloqueados X A través de un semáforo se puede bloquear un thread distinto al que está ejecutando A través de un semáforo se puede desbloquear un thread distinto al que está ejecutando Guillermo Román, UPM CC: Semáforos 8/11
22 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo X Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Si hay un thread bloqueado, entonces s.contador == 0 X Si s.contador == 0 implica que hay un thread bloqueado Si s.contador > 0 implica que no hay threads bloqueados X A través de un semáforo se puede bloquear un thread distinto al que está ejecutando A través de un semáforo se puede desbloquear un thread distinto al que está ejecutando El valor máximo de s.contador no está acotado Guillermo Román, UPM CC: Semáforos 8/11
23 Verdadero o falso? X Un semáforo se puede inicializar con un valor del contador negativo X Un semáforo incializado con un valor mayor que 0 puede tener s.contador < 0 Si hay un thread bloqueado, entonces s.contador == 0 X Si s.contador == 0 implica que hay un thread bloqueado Si s.contador > 0 implica que no hay threads bloqueados X A través de un semáforo se puede bloquear un thread distinto al que está ejecutando A través de un semáforo se puede desbloquear un thread distinto al que está ejecutando El valor máximo de s.contador no está acotado Guillermo Román, UPM CC: Semáforos 8/11
24 Interbloqueo (Deadlock) Deadlock Describe una situación en la cual hay dos o más procesos bloqueados esperándose entre sí indefinidamente Hay más de un proceso compitiendo por el mismo recurso y ambos están esperando a que el otro termine con el recurso, y ninguno de ellos lo hace Guillermo Román, UPM CC: Semáforos 9/11
25 Interbloqueo (Deadlock) Se pueden intentar detectar mediante un grafo donde: Los recursos y los procesos son nodos Cuando un proceso adquiere un recurso arista del recurso al proceso Cuando un proceso solicita un recurso arista del proceso al recurso Guillermo Román, UPM CC: Semáforos 10/11
26 Interbloqueo (Deadlock) Se pueden intentar detectar mediante un grafo donde: Los recursos y los procesos son nodos Cuando un proceso adquiere un recurso arista del recurso al proceso Cuando un proceso solicita un recurso arista del proceso al recurso R 2 P 2 P 1 R 1 Guillermo Román, UPM CC: Semáforos 10/11
27 Interbloqueo (Deadlock) Se pueden intentar detectar mediante un grafo donde: Los recursos y los procesos son nodos Cuando un proceso adquiere un recurso arista del recurso al proceso Cuando un proceso solicita un recurso arista del proceso al recurso R 2 P 2 1) P 1 adquiere R1 P 1 R 1 Guillermo Román, UPM CC: Semáforos 10/11
28 Interbloqueo (Deadlock) Se pueden intentar detectar mediante un grafo donde: Los recursos y los procesos son nodos Cuando un proceso adquiere un recurso arista del recurso al proceso Cuando un proceso solicita un recurso arista del proceso al recurso R 2 P 2 1) P 1 adquiere R1 2) P 2 adquiere R 2 P 1 R 1 Guillermo Román, UPM CC: Semáforos 10/11
29 Interbloqueo (Deadlock) Se pueden intentar detectar mediante un grafo donde: Los recursos y los procesos son nodos Cuando un proceso adquiere un recurso arista del recurso al proceso Cuando un proceso solicita un recurso arista del proceso al recurso R 2 P 2 1) P 1 adquiere R1 2) P 2 adquiere R 2 3) P 1 solicita R 2 P 1 R 1 Guillermo Román, UPM CC: Semáforos 10/11
30 Interbloqueo (Deadlock) Se pueden intentar detectar mediante un grafo donde: Los recursos y los procesos son nodos Cuando un proceso adquiere un recurso arista del recurso al proceso Cuando un proceso solicita un recurso arista del proceso al recurso R 2 P 2 1) P 1 adquiere R1 2) P 2 adquiere R 2 3) P 1 solicita R 2 4) P 2 solicita R 1 P 1 R 1 Guillermo Román, UPM CC: Semáforos 10/11
31 Filo sofos Cenando (dining philosophers) Guillermo Roma n, UPM CC: Sema foros 11/11
32 Filósofos Cenando (dining philosophers) F 1 R 5 R 1 F 5 F 2 R 4 R 2 F 4 F 3 R 3 Guillermo Román, UPM CC: Semáforos 11/11
33 Filósofos Cenando (dining philosophers) F 1 R 5 R 1 F 5 F 2 R 4 R 2 F 4 F 3 R 3 Guillermo Román, UPM CC: Semáforos 11/11
34 Filósofos Cenando (dining philosophers) F 1 R 5 R 1 F 5 F 2 R 4 R 2 F 4 F 3 R 3 Guillermo Román, UPM CC: Semáforos 11/11
Concurrencia Monitores. Guillermo Román Díez
Concurrencia Monitores Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Monitores 1/25 Recursos Compartidos Pregunta La especificación de
Más detallesConcurrencia Condiciones de Carrera. Guillermo Román Díez
Concurrencia Condiciones de Carrera Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Condiciones de Carrera 1/20 Condiciones de carrera Condición
Más detallesSincronización de Procesos
Sincronización de Procesos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Sincronización de Procesos Fundamentos El Problema de la Sección Crítica Solución a la sección
Más detallesISO Tema 8,
ISO Tema 8, 2017-2018 Pablo González Nalda Depto. de Lenguajes y Sistemas Informáticos 13 de abril de 2018 Modificado el 27 de abril de 2018 de la presentación 1 2 3 4 5 6 7 2 / 32 1 2 3 4 5 6 7 3 / 32
Más detallesAcceso coordinado a recursos compartidos
Programación Concurrente en Linux Acceso coordinado a recursos compartidos Alberto Lafuente, Dep. KAT/ATC de la UPV/EHU, bajo Licencia Creative Commons 1 Contenido 1. Recursos compartidos 2. Mecanismos
Más detallesConcurrencia Espera Activa. Guillermo Román Díez
Concurrencia Espera Activa Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2017-2018 Guillermo Román, UPM CC: Espera Activa 1/9 Espera Activa Espera Activa (busy-waiting)
Más detallesApellidos: Nombre: Matrícula: UNIVERSIDAD POLITÉCNICA DE MADRID
Apellidos: Nombre: Matrícula: Concurrencia (parte 2)/clave: a Curso 2014/2015-2 o semestre (junio 2015) Grado en Ingeniería Informática / Grado en Matemáticas e Informática UNIVERSIDAD POLITÉCNICA DE MADRID
Más detallesSistemas operativos: una visión aplicada. Capítulo 5 Comunicación y sincronización de procesos
Sistemas operativos: una visión aplicada Capítulo 5 Comunicación y sincronización de procesos Sistema multiprogramado con un una CPU Proceso A Proceso B Proceso C Tiempo Sistemas operativos: una visión
Más detallesJava Threads. Sistemas Distribuidos Rodrigo Santamaría
Java Threads Sistemas Distribuidos Rodrigo Santamaría Java Threads Hilos Sincronización Ejercicios FAQ 2 3 Hilos Un hilo (Thread) es un proceso en ejecución dentro de un programa java main Thread t t.start()
Más detallesApellidos: Nombre: Matrícula:
Apellidos: Nombre: Matrícula: Concurrencia (parte 2)/clave: a Curso 2016 2017 - Convocatoria Extraordinaria (Julio 2017) Grado en Ingeniería Informática / Grado en Matemáticas e Informática UNIVERSIDAD
Más detallesSecciones críticas y exclusión mutua
Secciones críticas y exclusión mutua Lecturas: Andrews, secciones 3.1, 3.2, 3.3, 3.4 Ben-Ari, sección 2.2 Manuel Carro Universidad Politécnica de Madrid Este texto se distribuye bajo los términos de la
Más detallesBENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN
BENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN PROGRAMACIÓN CONCURRENTE Y PARALELA PRACTICA 8 MONITORES BASADOS EN SEMÁFOROS
Más detallesSistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria
Sistemas operativos UPCO ICAI Departamento de Electrónica y Automática 1 Hasta ahora hemos visto Relación programa-sistema operativo Gestión de memoria Reserva para la ejecución Pilas, heap, memoria de
Más detallesConcurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
Más detallesSistemas operativos. Comunicación y sincronización de procesos
Sistemas operativos Comunicación y sincronización de procesos Comunicación y sincronización de procesos Contenido 1. Introducción 2. Comunicación por memoria común 3. El problema de la sección crítica
Más detallesConcurrencia, exclusión mutua y sincronización. Capítulo 5 HungriaBerbesi
Concurrencia, exclusión mutua y sincronización Capítulo 5 HungriaBerbesi 1 Concurrencia Múltiples aplicaciones Aplicaciones estructuradas Estructura del sistema operativo 2 Concurrencia 3 Sección Crítica:
Más detallesSISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS. Procesos concurrentes y problemas en la comunicación y la sincronización
SISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS Procesos concurrentes y problemas en la comunicación y la sincronización Contenido 2 Concurrencia. Condiciones de carrera. Exclusión mutua
Más detallesInformática I Threads
Informática I Threads 28 de Setiembre 2010 1 Concepto de programación paralela. 2. 3 Concurrencia => Race Conditions. 4. 5 Funciones Concepto de Programación Paralela Computación paralela Técnica de programación
Más detallesSISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009
SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 4. (2 p) Dos procesos A y B se ejecutan concurrentemente en un determinado sistema. El proceso A ejecuta unas tareas ( Tareas
Más detallesGuillermo Román Díez
Concurrencia Creación de Procesos en Java Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Creación de Procesos en Java 1/18 Concurrencia
Más detallesUso de recursos compartidos
Uso de recursos compartidos Cada proceso o hebra se ejecuta de forma independiente. Sin embargo, cuando varias hebras (o procesos) han de acceder a un mismo recurso, se ha de coordinar el acceso a ese
Más detallesUnidad 1: Gestión de Procesos
Unidad 1: Gestión de Procesos Tema 2, Concurrencia: Interbloqueo e inanición. 2.1 Caracterización del interbloqueo y grafo de asignación de recursos. 2.2 Estrategias de tratamiento del interbloqueo: -
Más detallesLa cena de los filósofos.
La cena de los filósofos. Es posible encontrar diferentes soluciones para el problema de los filósofos que cenan. Para las siguientes explicaciones supondremos cinco filósofos, aunque las soluciones deberían
Más detallesSistemas Operativos Tema 6. Concurrencia
Contenidos Sistemas Operativos Tema 6. Concurrencia Sistemas concurrentes El problema de la sección crítica Semáforos Monitores 1998-2008 José Miguel Santos Alexis Quesada Francisco Santana 1 2 Bibliografía
Más detallesSincronización de Threads
Funciones POSIX III Funciones POSIX III Sincronización Sincronización Procesos Procesos Semáforos Semáforos (sem_t) (sem_t) Sincronización Sincronización Threads Threads Mutex Mutex (pthread_mutex_t) (pthread_mutex_t)
Más detallesModelo de Cómputo. Programación concurrente
Programa concurrente Programa concurrente: conjunto finito de procesos (secuenciales). Un proceso secuencial está escrito con un conjunto finito de acciones atómicas. Ejecución: una secuencia de acciones
Más detallesEstados de un proceso
Semáforos Estados de un proceso Inactivo Listo Ejecutando Completo Escribimos p.state := ready p. state := running Bloqueado Para indicar que un proceso cambia de estado Semáforo Es un tipo de dato abstracto
Más detallesPrueba objetiva 2 (4F1M) - Clave a
Apellidos: Nombre: Matrícula: Normas Prueba objetiva 2 (4F1M) - Clave a Concurrencia 2010-2011 - Segundo semestre Dpto. de Lenguajes, Sistemas Informáticos e Ingeniería de Software Este es un cuestionario
Más detallesSISTEMAS OPERATIVOS:
SISTEMAS OPERATIVOS: Lección 7: Hilos y mecanismos de comunicación y sincronización Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García Blas José Manuel Pérez
Más detallesSincronización de Procesos. Módulo 6. Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur. Sincronización de Procesos
Sincronización de Procesos Módulo 6 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Sincronización de Procesos Fundamentos El Problema de la Sección Crítica La Solución
Más detallesExamen de Programación Concurrente - Clave: a Junio 2008 Departamento de Lenguajes, Sistemas Informáticos e Ingeniería del Software.
Junio 2008 Programación Concurrente 1/6 Normas Examen de Programación Concurrente - Clave: a Junio 2008 Departamento de Lenguajes, Sistemas Informáticos e Ingeniería del Software Este examen es un cuestionario
Más detallesLecturas: Ben-Ari, secciones 4.1, 4.2, 4.3, 4.6 Andrews, intro. cap. 4 y sección 4.1. Exclusión mutua con semáforos
Lecturas: Ben-Ari, secciones 4.1, 4.2, 4.3, 4.6 Andrews, intro. cap. 4 y sección 4.1 Manuel Carro Universidad Politécnica de Madrid Este texto se distribuye bajo los términos de la Creative Commons License
Más detallesSincronización de procesos
Sincronización de procesos Contenido Procesos concurrentes. El problema de la seccion critica Problemas clásicos de comunicación y sincronización. Mecanismos de comunicación y sincronización. DSO 2014
Más detalles*** SOLUCIONES *** SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010
Calificación SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010 1 2 3 4 Nombre *** SOLUCIONES *** Titulación Dispone de tres horas para realizar el examen 1 (5 puntos) Test. En cada uno de los siguientes
Más detallesMaterial Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización. Slides de Samuel Oporto Díaz
Material Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización Slides de Samuel Oporto Díaz CONCURRENCIA 2 Concurrencia La concurrencia es la simultaneidad de hechos. Un programa concurrente
Más detallesSistemas Operativos Tema 3. Concurrencia Conceptos generales Sincronización con semáforos
Sistemas Operativos Tema 3. Concurrencia Conceptos generales Sincronización con semáforos 1998-2015 José Miguel Santos Alexis Quesada Francisco Santana 1 Contenidos n Sistemas concurrentes n El problema
Más detallesGrafo acíclico orientado cuyos nodos corresponden a sentencias individuales.
GRAFOS DE PRECEDENCIA Grafo acíclico orientado cuyos nodos corresponden a sentencias individuales. Un arco de un nodo Si al nodo Sj significa que la sentencia Sj puede ejecutarse sólo cuando ha acabado
Más detallesUnidad 2: Gestión de Procesos
Unidad 2: Gestión de Procesos Tema 6, Concurrencia: Exclusión mutua y sincronización. 6.1 Principios generales de concurrencia. 6.2 EM: Soluciones software (Algoritmos de Dekker y Peterson). 6.3 EM: Soluciones
Más detallesCAPÍTULO 3. PROCESOS VS. HILOS
CAPÍTULO 3. PROCESOS VS. HILOS 3.1 Primitivas de sincronización en Java Java no tiene semáforos como primitivas de sincronización. Sin embargo, proporciona otras primitivas diferentes con las cuales sí
Más detallesSISTEMAS OPERATIVOS:
SISTEMAS OPERATIVOS: Lección 6: Procesos concurrentes y problemas en la comunicación y la sincronización Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García
Más detallesSistemas Operativos Tema 11. Interbloqueo José Miguel Santos C. Rubén García - Alexis Quesada
Sistemas Operativos Tema 11. Interbloqueo 1998-2008 José Miguel Santos C. Rubén García - Alexis Quesada 1 Contenidos Caracterización del interbloqueo Estrategias de tratamiento del interbloqueo Métodos
Más detallesConcurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia
Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia
Más detallesCONCURRENCIA. Sincronización. Sistemas Operativos y Distribuidos. Prof. Javier Echaiz 1. Material Adicional (SOSD Mod 4)
Material Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización CONCURRENCIA Slides de Samuel Oporto Díaz 2 Concurrencia La concurrencia es la simultaneidad de hechos. Un programa concurrente
Más detallesCada examen debe superarse con al menos un 4 para hacer media.
Concurrencia Pau Arlandis Martinez Sobre las normas Profesores Angel Herranz 2309 Julio Mariño 2308 Cada lunes se entregará un problema que debe resolverse antes del jueves. Únicamente sirven para practicar
Más detallesdit UPM Tema 3: Concurrencia /threads (python) Análisis y diseño de software José A. Mañas
Análisis y diseño de software dit UPM Tema 3: Concurrencia /threads (python) José A. Mañas 11.2.2017 referencias Concurrent execution https://docs.python.org/3/library/concurrency.html concurrencia 2 índice
Más detallesSistemas Operativos Ingeniería de telecomunicaciones Sesión 3: Concurrencia
Sistemas Operativos Ingeniería de telecomunicaciones Sesión 3: Concurrencia Calendario Comienzo: Lunes 2 de noviembre y miércoles 4 de noviembre. Entrega: 16 de noviembre y 18 de noviembre. 1. Requisitos
Más detallesTest SITR Temas: Planificación, Sincronización, Comunicación entre Procesos, Relojes, Señales, Temporizadores (TestSITR_T4 T9)
Test SITR Temas: Planificación, Sincronización, Comunicación entre Procesos, Relojes, Señales, Temporizadores (TestSITR_T4 T9) Temas: Planificación Sincronización y Comunicación entre Procesos Funciones
Más detallesTema 6. Threads: programas multitarea
Tema 6. Threads: programas multitarea Procesos e hilos Creación de threads Ciclo de vida de un thread Sincronización Prioridades Grupos de threads Relación de métodos Ejemplo sincronización 1 Procesos
Más detallesConcurrencia. Programación Concurrente Procesos Comunicación entre Procesos
Concurrencia Programación Concurrente Procesos Comunicación entre Procesos Introducción a Procesos Todas las computadoras moderas realizan varias cosas al mismo tiempo. En cada instante la CPU ejecuta
Más detallesSOLUCIONES. DURACIÓN: Dispone de dos horas para realizar el examen. Lea las instrucciones para el test en la hoja correspondiente.
1 2 3 test extra NOTA Fundamentos de los Sistemas Operativos Examen parcial 10 de abril de 2015 Nombre y apellidos SOLUCIONES DURACIÓN: Dispone de dos horas para realizar el examen. Lea las instrucciones
Más detallesUNIDAD 3 MEMORIA COMÚN. El problema de exclusión mutua
UNIDAD 3 MEMORIA COMÚN El problema de exclusión mutua Exclusión mutua Exclusión mutua significa asegurar que un recurso compartido (variable, estructura de datos, etc.) sea accedida por un solo hilo a
Más detallesHP - UX. Qué es HP UX?
HP - UX Integrantes: Cisneros Pedraza Christian. Jiménez Nieves José Manuel. Villanueva Armenta Fernando. Qué es HP UX? Hp UX es una variante de Unix creada por los desarrolladores de software de HP. Provee
Más detallesPARICON - Paralelismo y Concurrencia
Unidad responsable: 840 - EUPMT - Escuela Universitaria Politécnica de Mataró Unidad que imparte: 840 - EUPMT - Escuela Universitaria Politécnica de Mataró Curso: Titulación: 2016 GRADO EN INGENIERÍA INFORMÁTICA
Más detallesProgramación concurrente
23 de Marzo de 2017 Condiciones generales Docente: Hernán Melgrati (hmelgra@...) Horario: Teóricas: Jueves de 14 a 17 Prácticas: Martes de 14 a 17 Evaluaciones: Un parcial (mediados de mayo) Un trabajo
Más detallesHoja de ejercicios cortos Concurrencia Segundo semestre
Hoja de ejercicios cortos Concurrencia Segundo semestre 2011-2012 Ángel Herranz Julio Mariño Versión 935. Última actualización: 2012-03-08 06:34:48Z. Este documento contiene los enunciados de los ejercicios
Más detallesSistemas operativos, 2ª edición
Sistemas operativos 2ª edición Capítulo 7 Interbloqueos (extracto de las transparencias del libro Contenido Introducción Modelo general del sistema Definición y tratamiento del interbloqueo Detección y
Más detallesSISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009
SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 4. (2 p) Dos procesos A y B se ejecutan concurrentemente en un determinado sistema. El proceso A ejecuta unas tareas ( Tareas
Más detalles1. Interfaz de llamadas a la librería de fluxes
1. Interfaz de llamadas a la librería de fluxes Se presenta a continuación un interfaz de threads de usuario construido sobre los PThreads de OSF/1 (sistema operativo de alabi/alaba). El motivo de no utilizar
Más detallesConcurrencia. Programación Concurrente Procesos Comunicación entre Procesos
Concurrencia Programación Concurrente Procesos Comunicación entre Procesos Introducción a Procesos Todas las computadoras moderas realizan varias cosas al mismo tiempo. En cada instante la CPU ejecuta
Más detallesSistemas multiprogramados
dit UPM Sistemas multiprogramados Juan Antonio de la Puente DIT/UPM Objetivos Veremos cómo realizar sistemas de tiempo real con arquitectura asíncrona tareas como hebras de sistema operativo no todas las
Más detallesS.O.: Concurrencia 2
Gorka Guardiola Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC 17 de febrero de 2010 (cc) 2008 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este trabajo se entrega
Más detallesEjemplo. class SiNoThread extends Thread { private String SiNo; static int Contador = 0; public SiNoThread(String s) { super(); SiNo = s; }
Qué son los threads? Todos los programadores conocen lo que es un proceso, la mayoría diría que es un programa en ejecución: tiene un principio, una secuencia de instrucciones y tiene un final. Un thread
Más detallesSISTEMAS OPERATIVOS, 10 de septiembre de 2009 Examen Convocatoria Extraordinaria
Calificación 1 2 3 SISTEMAS OPERATIVOS, 10 de septiembre de 2009 Examen Convocatoria Extraordinaria Nombre Titulación Dispone de dos horas para realizar el examen 1 (6 puntos) Test. En cada uno de los
Más detallesPrueba objetiva 2 - Clave a
Apellidos: Nombre: Matrícula: Normas Prueba objetiva 2 - Clave a Concurrencia 2010-2011 - Primer semestre Lenguajes, Sistemas Informáticos e Ingeniería de Software Este es un cuestionario que consta de
Más detallesTema 3: Planificación de recursos
ema 3: Planificación de recursos 1. aracterización del interbloqueo 2. Modelación del interbloqueo 3. Métodos para tratar el interbloqueo istemas Operativos II Dpto. Languajes y istemas Informáticos. Universidad
Más detallesSistemas Operativos (Parte 2)
Sistemas Operativos (Parte 2) M. en C. Mario Farias-Elinos e-mail: elinos@ci.ulsa.mx web: http://www.ci.ulsa.mx/~elinos Maestría en Tecnologías de Información Contenido Proceso Scheduller Thread Sincronización
Más detallesSemáforos. Lecturas: Ben-Ari, secciones 4.1, 4.2, 4.3, 4.6 Andrews, intro. cap. 4 y sección 4.1. Exclusión mutua con semáforos
Lecturas: Ben-Ari, secciones 4.1, 4.2, 4.3, 4.6 Andrews, intro. cap. 4 y sección 4.1 Manuel Carro Universidad Politécnica de Madrid Este texto se distribuye bajo los términos de la Creative Commons License
Más detallesLecturas: Ben-Ari, secciones 4.1, 4.2, 4.3, 4.6 Andrews, intro. cap. 4 y sección 4.1
Semáforos Lecturas: Ben-Ari, secciones 4.1, 4.2, 4.3, 4.6 Andrews, intro. cap. 4 y sección 4.1 Manuel Carro Universidad Politécnica de Madrid Este texto se distribuye bajo los términos de la Creative Commons
Más detallesCuadernillo de ejercicios cortos Concurrencia. Curso
Cuadernillo de ejercicios cortos Concurrencia. Curso 2016 2017 Ángel Herranz Julio Mariño Versión 1638. Última actualización: 2017-02-07 12:39:10Z. Este documento contiene los enunciados de los ejercicios
Más detallesConcurrencia de Procesos
Concurrencia de Procesos Dos o mas procesos, se dice que son concurrentes o paralelos, cuando se ejecutan al mismo tiempo. Esta concurrencia puede darse en un sistema con un solo procesador (pseudo paralelismo)
Más detallesSistemas operativos. Tema 6: Interbloqueo ( (deadlock)
Sistemas operativos Tema 6: Interbloqueo ( (deadlock) Concurrencia de procesos Conceptos de concurrencia y exclusión mutua. Herramientas de sincronización. n. Comunicación n entre procesos. Interbloqueo.
Más detallesCAPITULO 6. Control de Concurrencia y Recuperación
CAPITULO 6 Control de Concurrencia y Recuperación 6.1 Protocolos de Bloqueo Un protocolo de bloqueo nace de la necesidad creada cuando una transacción solicita un bloqueo de un modo particular sobre un
Más detallesProgramación concurrente en Java. Breve introducción. Miguel Ángel LATRE Dept. de Informática e Ingeniería de Sistemas
Programación concurrente en Java. Breve introducción Miguel Ángel LATRE Dept. de Informática e Ingeniería de Sistemas Concurrencia en Java Hilos de ejecución Clase Thread e interfaz Runnable Pausas Interrupciones
Más detallesDepartamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur
Interbloqueos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Interbloqueos Modelo de Sistema Caracterización de Interbloqueos Métodos para el Manejo de Interbloqueos
Más detallesSISTEMAS OPERATIVOS (Código: ) Septiembre 2018
SISTEMAS OPERATIVOS (Código: 71902048) Septiembre 2018 Material permitido: Solo calculadora no programable Tiempo: 2 horas N 1. Conteste razonadamente a las siguientes preguntas: Aviso 1: Todas las respuestas
Más detallesMECANISMOS PARA SINCRONIZACIÓN. Semáforos
MECANISMOS PARA SINCRONIZACIÓN Semáforos Mecanismos para sincronización Una vez discutidos los principales problemas a enfrentar para coordinar procesos/hilos que comparten espacio de direccionamiento,
Más detallesSOLUCIONES. DURACIÓN: Dispones de dos horas para realizar el examen. Lee las instrucciones para el test en la hoja correspondiente.
1 2 3 4 test extra NOTA Fundamentos de los Sistemas Operativos Examen parcial 3 de abril de 2017 Nombre y apellidos DNI/NIE SOLUCIONES DURACIÓN: Dispones de dos horas para realizar el examen. Lee las instrucciones
Más detallesSistemas Operativos. Concurrencia. Concurrencia de procesos. Concurrencia de procesos. Ejecución simultánea de procesos.
Sistemas Operativos Concurrencia Mario Medina (mariomedina@udec.cl) Everybody understands what concurrency means? Two lies at once. Todos entienden qué significa concurrencia? Dos mentiras a la vez. Luis
Más detallesUNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE INGENIERIA E.A.P. INGENIARIA EN INFORAMTICA Y SISTEMAS MONITORES: "PROBLEMA DE SANTA CLAUS
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE INGENIERIA E.A.P. INGENIARIA EN INFORAMTICA Y SISTEMAS MONITORES: "PROBLEMA DE SANTA CLAUS PRESENTADO POR: Uriel Jonatan Villaca Paco CODIGO 2013-39111
Más detallesEXCLUSIÓN MUTUA ENTRE HILOS. TEMA 5: Control de la Concurrencia en Java (API Estándar) Sintaxis para Bloques de Código Sincronizado
TEMA 5: Control de la Concurrencia en Java (API Estándar) CONTENIDO Exclusión Mutua con código synchronized. Exclusión Mutua con métodos synchronized. Protocolos de Control de la Exclusión Mutua. Interbloqueos
Más detallesEspecificando interacción con recursos compartidos
Especificando interacción con recursos compartidos (en construcción, no imprimir) Julio Mariño Concurrencia GRADO EN INGENIERÍA INFORMÁTICA/ GRADO EN MATEMÁTICAS E INFORMÁTICA/ DOBLE GRADO EN ING. INFORMÁTICA
Más detallesConcurrencia. Programación Concurrente. Espera ocupada. Primitivas IPC con bloqueo
Concurrencia Programación Concurrente Espera ocupada. Primitivas IPC con bloqueo Programación concurrente Los lenguajes concurrentes tienen elementos para: Crear procesos Sincronizar procesos Comunicar
Más detallesPor ejemplo, el siguiente error conduce inmediatamente a un deadlock:
Monitores Los semáforos, son el equivalente a las instrucciones goto y el manejo de apuntadores en los lenguajes de programación imperativos: son muy susceptibles a errores. Su utilización exige disciplina.
Más detallesJava y JVM: programación concurrente. Adolfo López Díaz
Java y JVM: programación concurrente Adolfo López Díaz JVM Máquina virtual Ambiente de programación virtualizado Permite la ejecución de programas Java ejecutables multiplataforma Programación concurrente
Más detallesSEMAFOROS. if hay procesos suspendidos en este semáforo then despertar a uno de ellos else S = S + 1
1 de 21 22/12/2007 21:48 SEMAFOROS 1. DEFINICIONES 1.1. Semáforo general 1.2. Semáforo binario 1.3. Semáforo con cola de procesos bloqueados 1.4. Semáforo con espera activa (busy-wait) 1.5. Consecuencias
Más detallesPRIMITIVAS DE SINCRONIZACIÓN BASADAS EN MEMORIA COMPARTIDA.
PRIMITIVAS DE SINCRONIZACIÓN BASADAS EN MEMORIA COMPARTIDA. En este modulo vamos a presentar una serie de técnicas que permitan resolver los problemas inherentes a la programación concurrente, apoyándose
Más detallesMECANISMOS DE SINCRONIZACIÓN PROGRAMACIÓN CONCURRENTE Y PARALELA
MECANISMOS DE SINCRONIZACIÓN PROGRAMACIÓN CONCURRENTE Y PARALELA Sincronización El problema de la sincronización de hilos tiene lugar cuando varios hilos intentan acceder al mismo recurso o dato. A la
Más detalles7. Programación Concurrente
7. Programación Concurrente 1. Qué es la programación concurrente? Se conoce por programación concurrente a la rama de la informática que trata de las técnicas de programación que se usan para expresar
Más detallesTema 6. Gestión de Interbloqueo
Tema 6. Gestión de Interbloqueo Introducción (I) Protocolo de acceso a recursos compartidos: Solicitud. Utilización. Liberación. El sistema operativo suspende a los procesos cuyas solicitudes no pueden
Más detallesConcurrencia: Exclusión mutua y Sincronización
Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas
Más detallesUnidad 2: Gestión de Procesos
Unidad 2: Gestión de Procesos Tema 6, Principios de Programación Concurrente 6.1 Principios generales de concurrencia. 6.2 EM: Soluciones software (Algoritmos de Dekker y Peterson). 6.3 EM: Soluciones
Más detallesSISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS. Hilos y mecanismos de comunicación y sincronización
SISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS Hilos y mecanismos de comunicación y sincronización Contenido 2 Comunicación y sincronización. Semáforos. El problema de los lectores escritores.
Más detallesdit UPM Tema 2: Concurrencia /threads (java) Análisis y diseño de software José A. Mañas
Análisis y diseño de software dit UPM Tema 2: Concurrencia /threads (java) José A. Mañas 11.3.2018 referencias The Java tutorials: Concurrency Oracle Java Threads Scott Oaks & Henry Wong O'Reilly Media;
Más detallesAlgoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez
Algoritmos y Estructuras de Datos Iteradores Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/26 Iteradores Es muy común
Más detallesUniversidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica
Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Sistemas Computacionales Sistemas Operativos Docente: M.G.A.
Más detallesLección 6: Ejemplos de programación con semáforos
Lección 6: Ejemplos de programación con semáforos El problema de la cena de los filósofos El problema de los lectores y escritores Ejercicios Gestión de concurrencia mediante paso de testigo (implementación
Más detallesConcurrencia. Programación Concurrente Procesos Comunicación entre Procesos (IPC) con espera ocupada.
Concurrencia Programación Concurrente Procesos Comunicación entre Procesos (IPC) con espera ocupada. Introducción a Procesos Todas las computadoras moderas realizan varias cosas al mismo tiempo. En cada
Más detallesTeoría de Sistemas Operativos Sincronización Procesos
Teoría de Sistemas Operativos Sincronización Procesos Departamento de Electrónica º Semestre, 00 Gabriel Astudillo Muñoz http://www.elo.utfsm.cl/~elo1 Dos o más procesos leen o escriben ciertas zonas compartidas
Más detalles