Modelo de Cómputo. Programación concurrente
|
|
|
- José Carlos Moreno Hidalgo
- hace 7 años
- Vistas:
Transcripción
1
2 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 atómicas obtenidas intercalando arbitrariamente acciones atómicas de los distintos programas Una computación es la ejecución de una secuencia (intercalada) de acciones.
3 Estados y transiciones Estado: Análogo a la computación secuencial (modelo imperativo) puntero o etiqueta de próxima instrucción asignación de valores a variables Estado de un programa con N procesos es una tupla que contiene: N etiquetas de próxima instrucción (una para cada programa) la asignación de valores a variables locales y globales (en general asumimos un lenguaje tipado) Transición: Existe una transición entre dos estados s 1 y s 2 si s 2 se obtiene ejecutando una de las próximas acciones de alguno de los programas.
4 Ejemplo Considerar los threads global x = 0 thread p p1: x = x + 1 thread q q1: x = x + 1
5 Diagrama de transición de estados Grafo dirigido (Estados, Transiciones) definido inductivamente de la siguiente manera El estado inicial es un nodo del grafo Cada etiqueta de próxima instrucción apunta a la primer acción del proceso correspondientes La asignación a variables tienen el valor inicial (si está definido en el programa). Si s1 es un nodo del grafo y existe una transición entre s 1 y s 2, entonces s 2 está en el diagrama y el el arco (s 1,s 2 ) está en el grafo.
6 Ejemplo Considerar los threads global x = 0 thread p p1: x = x + 1 thread q q1: x = x + 1 Cuál es el diagrama de transición de estados? Notar que en general puede no ser finito. Cuándo?
7 Atomicidad Considerar ahora los threads global x = 0 thread p temp p1: temp = x p2: x = temp + 1 thread q q1: temp = x q2: x = temp + 1 Un algoritmo concurrente es correcto dependiendo de cuáles son las acciones atómicas Importante: Vamos a asumir que las acciones atómicas son: lecturas y asignaciones de valores a variables y la evaluación de expresiones booleanas en las estructuras de control.
8 Definiciones Sección crítica Llamamos sección crítica a una parte del programa que no puede ser ejecutada concurrentemente con otra sección critica del mismo programa. Exclusión mutua Llamamos exclusión mutua al problema de asegurar que dos (o mas) threads no ejecutan simultáneamente su sección crítica.
9 Esquema general Existen N procesos que tienen la siguiente estructura shared variables thread id = i while ( true ){ seccion no critica preprotocol seccion critica postprotocol } No hay variables compartidas entre sección crítica y no crítica. La sección crítica siempre termina. La no crítica no necesariamente termina.
10 Requerimientos de la exclusión mutua 1. Mutex: En cualquier momento hay como máximo un proceso en la región crítica. 2. Ausencia de deadlocks y livelocks: Si varios procesos intentan entrar a la sección crítica alguno lo logrará. 3. Garantía de entrada: Un proceso intentando entrar a su sección crítica tarde o temprano lo logrará.
11 Pregunta Podemos resolver el problema de la exclusión mutua para dos procesos asumiendo que las únicas operaciones atómicas son la lectura y la escritura en de variables?
12 Algoritmo I shared flag = false thread id = 0 thread id = 1 while ( true ){ while ( true ){ // seccion no critica // seccion no critica while ( flag ); while ( flag ); flag = true flag = true // seccion critica // seccion critica flag = false flag = false } } Mutex: No Ausencia dead/live-locks: Sí Garantía de entrada: Sí
13 Algoritmo II shared flag = { false, false } thread id = 0 thread id = 1 while ( true ){ while ( true ){ // seccion no critica // seccion no critica otro = ( id + 1) % 2 otro = ( id + 1) % 2 flag [ id] = true flag [ id] = true while ( flag [ otro ]); while ( flag [ otro ]); // seccion critica // seccion critica flag [ id] = false flag [ id] = false } } Mutex: Sí Ausencia dead/live-locks: No Garantía de entrada: No
14 Algoritmo III shared turno = 0 thread id = 0 thread id = 1 while ( true ){ while ( true ){ // seccion no critica // seccion no critica while ( turno!= id ); while ( turno!= id ); // seccion critica // seccion critica turno = ( id + 1) % 2 turno = ( id + 1) % 2 // seccion no critica // seccion no critica } } Mutex: Sí Ausencia dead/live-locks: Sí Garantía de entrada: No (si el thread de id 0 falla)
15 Algoritmo de Dekker (II + III) shared turno = 0 shared flag = { false, false } thread id = 0 thread id = 1 // seccion no critica... otro = (id + 1) % 2 flag [ id] = true while ( flag [ otro ]) if ( turno == otro ) flag [ id] = false while ( turno!= id ); flag [ id] = true // seccion critica turno = otro flag [ id] = false // seccion no critica
16 Algoritmo de Peterson shared turno = 0 shared flag = { false, false } thread id = 0 // seccion no critica otro = (id + 1) % 2 flag [ id] = true turno = otro while ( flag [ otro ] && turno == otro ); // seccion critica flag [ id] = false // seccion no critica
17 Dekker y Peterson Mutex: Sí Ausencia dead/live-locks: Sí Garantía de entrada: Sí Sólo sirven para dos procesos.
18 Algoritmo de Bakery shared entrando [n] = { false,..., false } shared numero [n] = {0,..., 0} thread id = 0 // seccion no critica entrando [ id] = true numero [id] = 1 + max ( numero [1],..., [n]) entrando [ id] = false for ( j = 1; j <= n; ++j) while ( entrando [j ]); while ( numero [j]!= 0 && ( numero [j] < numero [id] ( numero [j] == numero [id] && j < id ))); // seccion critica numero [ id] = 0 // seccion no critica Este algoritmo resuelve el problema para n threads.
19 Pregunta Qué otras acciones atómicas pueden idearse para resolver el problema de la exclusión mutua?
20 Test and set function test -and - set ( ref comp, ref local ) local = comp comp = 1 shared comp = 0 thread id = 0 thread id = 1 int local int local // seccion no critica // seccion no critica repeat repeat test -and - set (comp, local ) test -and - set (comp, local ) until ( local == 0) until ( local == 0) // seccion critica // seccion critica comp = 0 comp = 0 // seccion no critica // seccion no critica
21 Exchange function exchange ( ref comp, ref local ) temp = comp comp = local local = temp shared comp = 0 thread id = 0 thread id = 1 int local = 1 int local = 1 // seccion no critica // seccion no critica repeat repeat exchange (comp, local ) exchange (comp, local ) until ( local == 0) until ( local == 0) // seccion critica // seccion critica comp = 0 comp = 0 // seccion no critica // seccion no critica
22 Compare-and-swap function compare - and - swap ( ref comp, ref viejo, ref nuevo ) temp = comp if ( comp == viejo ) comp = nuevo return temp shared comp = false thread id = 0 thread id = 1 // seccion no critica // seccion no critica while ( compare -and - swap ( while ( compare -and - swap ( comp, false, true ) ); comp, false, true ) ); // seccion critica // seccion critica comp = false comp = false // seccion no critica // seccion no critica
23 Fetch-and-add function fetch - and - add ( ref comp, ref local, ref x) local = comp comp = comp + x shared ticket = 0 shared turno = 0 thread id = 0 thread id = 1 int miturno int miturno // seccion no critica // seccion no critica fetch -and - add ( fetch -and - add ( ticket, miturno, 1) ticket, miturno, 1) while ( turno!= miturno ); while ( turno!= miturno ); // seccion critica // seccion critica fetch -and - add ( fetch -and - add ( turno, miturno, 1) turno, miturno, 1) // seccion no critica // seccion no critica
24 Busy waiting Todas las soluciones vistas en esta clase son ineficientes dado que consumen tiempo de procesador en las esperas. Sería deseable suspender la ejecución de un proceso que intenta acceder a la sección crítica hasta tanto sea posible.
Programació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
Secciones 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
UNIDAD 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
Concurrencia Espera Activa. Guillermo Román Díez
Concurrencia Espera Activa Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2017-2018 Guillermo Román, UPM CC: Espera Activa 1/9 Espera Activa Espera Activa (busy-waiting)
Sistemas Operativos. Concurrencia. Concurrencia de procesos. Concurrencia de procesos. Ejecución simultánea de procesos.
Sistemas Operativos Concurrencia Mario Medina ([email protected]) Everybody understands what concurrency means? Two lies at once. Todos entienden qué significa concurrencia? Dos mentiras a la vez. Luis
Sincronizació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
SISTEMAS 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
Lección 7: Sincronización de procesos El problema de la sección crítica
Lección 7: Sincronización de procesos El problema de la sección crítica Metodología de resolución de problemas de sincronización El problema de la sección crítica Especificaciones de diseño Esquema algorítmico
Concurrencia Condiciones de Carrera. Guillermo Román Díez
Concurrencia Condiciones de Carrera Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Condiciones de Carrera 1/20 Condiciones de carrera Condición
PRÁCTICO 4. La evaluación de una expresión sólo debe esperar por la evaluación de sus subexpresiones.
Objetivos PRÁCTICO 4 Comprender el problema de la mutua exclusión y las dificultades de probar la correctitud de programas concurrentes Ver soluciones por software y por hardware al problema de la mutua
un programa concurrente
Introducción un programa concurrente asumimos que tengamos un programa concurrente que quiere realizar acciones con recursos: si los recursos de los diferentes procesos son diferentes no hay problema,
Concurrencia, 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:
Grafo 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
*** S O L U C I O N E S ***
Calificación Fac. de Informática / Escuela Univ. Informática SISTEMAS OPERATIVOS Examen Parcial 9 de mayo de 2009 1 2 3 4 Nombre *** S O L U C I O N E S *** Titulación Dispone de tres horas para realizar
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
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
SEMAFOROS. 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
Examen 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
Guillermo Román Díez
Concurrencia Creación de Procesos en Java Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Creación de Procesos en Java 1/18 Concurrencia
*** 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
Concurrencia 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)
Sincronizació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
Natalia Partera Jaime Alumna colaboradora de la asignatura
Programación Concurrente y de Tiempo Real Guión de prácticas 6: Programación en Java de algoritmos de control de la Exclusión Mutua con variables comunes Natalia Partera Jaime Alumna colaboradora de la
Primitivas de Sincronización
Primitivas de Sincronización JUAN CARLOS CONDE RAMÍREZ DISTRIBUTED COMPUTING Introducción Todas las soluciones previas al problema de mutex fueron un desperdicio de algún modo: Si un proceso es incapaz
Concurrencia. 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
Bases Formales de la Computación
Modal Bases Formales de la Computación Pontificia Universidad Javeriana 3 de abril de 2009 Modal LÓGICAS MODALES Contenido Modal 1 Modal 2 3 Qué es la lógica Modal? Modal Variedad de diferentes sistemas
Concurrencia. Guillermo Román Díez
Concurrencia Semáforos Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2017-2018 Guillermo Román, UPM CC: Semáforos 1/11 Problemas de la espera activa Los algoritmos de espera
Sistemas Operativos. Características de la Multiprogramación. Interacción entre Procesos. Características de la Multiprogramación
Universidad Simón Bolívar Departamento de Electrónica y Circuitos EC3731 Arquitectura del Computador II Prof. Osberth De Castro Prof. Juan C. Regidor Sistemas Operativos Concurrencia y Sincronización de
Sistemas 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
Sistemas 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
Programación Concurrente y Distribuída Estado Compartido, 2010
Programación Concurrente y Distribuída Estado Compartido, 2010 Camilo Rueda 1 1 Universidad Javeriana-Cali 9 de abril de 2010 Concurrencia con estado: introducción problema: modelar con puertos un objeto
SISTEMAS 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
Consistencia de memoria en C++
Consistencia de memoria en C++ Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Grupo ARCOS Departamento
Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL
Ciclos Fundamentos de Programación Recordando Estructuras de Control Básicas: Una secuencia es una serie de estatutos que se ejecutan uno después de otro. Selección (condición) ejecuta diferentes estatutos
SISTEMAS 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
Lección 3: Concurrencia y sincronización
Lección 3: Concurrencia y sincronización Composición concurrente de acciones Acciones atómicas y sincronización Atomicidad de una expresión Atomicidad de una acción de asignación Sincronización de acciones
Puebla, Pue a 4 de Junio del Programación Concurrente y Paralela
Puebla, Pue a 4 de Junio del 2015 Programación Concurrente y Paralela Algoritmo de Dekker y Peterson Problemas: 1.- Esquimales 2.- Identificar procesos. ALUMNOS: OSCAR EDUARDO GONZÁLEZ RAMOS MICHAEL CASTAÑEDA
CONCURRENCIA. 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
Apellidos: 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
Concurrencia. 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
Tópicos de programación Concurrente y Paralela
Tópicos de programación Concurrente y Paralela Facultad de Informática UNLP UNLu Clase 2 - Conceptos generales, desafíos y escenarios de resolución Aspectos de Programación Secuencial Cada proceso concurrente
La Máquina de Acceso Aleatorio (Random Access Machine)
La Máquina de Acceso Aleatorio (Random Access Machine) Nuestro modelo de cómputo secuencial es la máquina de acceso aleatorio (RAM, Random Access Machine) mostrada en la Figura 2.1, y que consiste de:
SINCRONIZACIÓN DE PROCESOS
SINCRONIZACIÓN DE PROCESOS 1 Introducción Los procesos acceden a datos o recursos compartidos El acceso puede provocar que el estado final de los datos no sea correcto, generando incoherencias debido a
Concurrencia Monitores. Guillermo Román Díez
Concurrencia Monitores Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Monitores 1/25 Recursos Compartidos Pregunta La especificación de
Sistemas Operativos (Parte 2)
Sistemas Operativos (Parte 2) M. en C. Mario Farias-Elinos e-mail: [email protected] web: http://www.ci.ulsa.mx/~elinos Maestría en Tecnologías de Información Contenido Proceso Scheduller Thread Sincronización
NuSMV: Interacción con el sistema
Francisco J. Martín Mateos Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Sistema que atiende peticiones Consideremos el modelo representado por el siguiente grafo peticion
Verificación y Validación de Software
Verificación y Validación de Ingeniería en Sistemas de Información Departamento de Ciencias e Ingeniería de la Computación 2015 VyVS 2016 / DCIC / UNS Tablas de Decisiones Decision Tables Aplicable a situaciones
Sistemas 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
Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN
Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN - Introducción - Sintaxis - Semántica básica - Tipos de datos - Expresiones y enunciados - Procedimientos y ambientes - Tipos abstractos de datos y módulos
ESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROL En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa. Con las estructuras de control se puede: De
Acceso 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
Sistemas Distribuidos
Sistemas Distribuidos Exclusion Mutua: Memoria Compartida. Ramiro De Santiago Lopez. 28/01/2014 Exclusion Mutua (ME) Un proceso excluye temporalmente a todos los demás para usar un recurso compartido.
Teorí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
Sincronizació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)
Análisis de algoritmos
Tema 02: Complejidad de los algoritmos M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom 1 Contenido Algoritmo Algoritmo vs. Proceso Computacional
TEMA 5. ESTRUCTURAS DE CONTROL: BUCLES.
TEMA 5. ESTRUCTURAS DE CONTROL: BUCLES. Una de las características de las computadoras que aumenta considerablemente su potencia es su capacidad para ejecutar una tarea muchas (repetidas) veces con gran
Programación Estructurada. Sesión 3:Estructras de control
Programación Estructurada Sesión 3:Estructras de control Contextualización En esta sesión comenzaremos con las Estructuras de control, las cuales brindan opciones de ejecución o decisión dentro de la elaboración
LENGUAJE ST. (Structured Text) ST (Structured Text): 5to lenguaje definido en la norma IEC
PLC LENGUAJE ST (Structured Text) Introducción ST (Structured Text): 5to lenguaje definido en la norma IEC 61131-3 Lenguaje de texto de alto nivel, con sintaxis similar a la de PASCAL Lenguaje pequeño
Tema 1. Introducción a la. Programación Concurrente
Tema 1. Introducción a la Programación Concurrente Programación Concurrente Depto. de Lenguajes y Sistemas Informáticos Universidad de Granada Contenidos 1. Concepto de concurrencia y programa concurrente.
ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y
Programación Concurrente y distribuida Modelo Concurrente declarativo
Programación Concurrente y distribuida Modelo Concurrente declarativo Camilo Rueda 1 1 Universidad Javeriana-Cali PUJ 2008 Modelo semántico del KL Entorno: E : Id Var Store de asignación única: Instrucción
Adentrándonos a la Programación
! Adentrándonos a la Programación Definición de Algoritmo Es un conjunto pre-escrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos
Programación concurrente
Programación concurrente Master de Computación I Conceptos y recursos para la programación concurrente: I.6 Sincronización basada en memoria compartida. J.M. Drake M. Aldea Procesos concurrentes y memoria
Interbloqueos. Módulo 7. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco
Interbloqueos Módulo 7 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Módulo 7: Interbloqueos Modelo de Sistema Caracterización de Interbloqueos
Unidad 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
MECANISMOS 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,
Sistemas 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
Cena de filosofos y sincronizacion java
Programación concurrente y Distribuída Curso 2011-12 Miguel Telleria, Laura Barros, J.M. Drake telleriam AT unican.es Computadores y Tiempo Real http://www.ctr.unican.es Objetivos Presentaros la aplicación
Sistemas Operativos Tema 7. Concurrencia
Contenidos Sistemas Operativos Tema 7. Concurrencia Sistemas concurrentes El problema de la sección crítica Semáforos Monitores 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana 1 2 Bibliografía
Concurrencia: 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
Mensajes. Interbloqueo
CONCURRENCIA DE PROCESOS Preparado por: Angel Chata Tintaya ([email protected]) Resumen Los procesos comparten variables globales, comparten y compiten por recursos, se ejecutan simultáneamente intercalándose
Arreglos y Subrangos
Arreglos y Subrangos Programación 1 InCo - FING Contents 1 Tipo subrango 2 1.1 Subrangos de enteros......................... 2 1.2 Subrangos de caracteres....................... 2 1.3 Operaciones con subrangos.....................
Lección 3 Sentencias de control
3.1. INTRODUCCIÓN - Hasta aquí: ejecución secuencial de los programas. - Aquí vamos a ver: Lección 3 Sentencias de control Sentencias de control Sentencias condicionales: if- y switch-case Sirven para
PARADIGMA y LENGUAJES DE PROGRAMACIÓN
CATEDRA CARRERA: PARADIGMA y LENGUAJES DE PROGRAMACIÓN LICENCIATURA EN SISTEMAS DE INFORMACION FACULTAD DE CIENCIAS EXACTAS QUIMICAS Y NATURALES UNIVERSIDAD NACIONAL DE MISIONES Año 2017 2do Cuatrimestre
Contenido. a. Estructura lineal b. Estructura selectiva c. Estructura simultanea. a. Saltos y bucles 1. ESTRUCTURAS BÁSICAS
GRAFCET Sesión 2 MSc.Ing. Ramiro Franz Aliendre García Facultad Nacional de Ingeniería Universidad Técnica de Oruro http://raliendre.uto.edu.bo [email protected] Contenido 1. ESTRUCTURAS BÁSICAS a.
SOLUCIONES. 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
Secciones 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
Sincronización entre procesos (1/2)
Sincronización entre procesos (1/2) Sergio Yovine Departamento de Computación, FCEyN, Universidad de Buenos Aires, Buenos Aires, Argentina Sistemas Operativos, segundo cuatrimestre de 2016 (2) Interacción
Programación Concurrente y Paralela. Unidad 1 Introducción
Programación Concurrente y Paralela Unidad 1 Introducción Contenido 1.1 Concepto de Concurrencia 1.2 Exclusión Mutua y Sincronización 1.3 Corrección en Sistemas Concurrentes 1.4 Consideraciones sobre el
Prueba 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
Paradigmas de lenguajes de programación. Introducción a la programación imperativa. Lenguaje C. Programación imperativa
Paradigmas de lenguajes de programación Introducción a la programación imperativa Algoritmos y Estructuras de Datos I Paradigma: Definición del modo en el que se especifica el cómputo (que luego es implementado
SISTEMAS 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
Sincronización. Arquitectura de Computadores
Sincronización Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Grupo ARCOS Departamento de Informática
