Programación Concurrente

Documentos relacionados
GUÍA DOCENTE Programación Concurrente y de Tiempo Real

PR1: Programación I 6 Fb Sistemas Lógicos 6 Obligatoria IC: Introducción a los computadores 6 Fb Administración de

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Concurrencia. CURSO ACADÉMICO - SEMESTRE Segundo semestre

Máster Universitario en Tecnologías de la Información y las Comunicaciones Universidad de Alcalá Curso Académico 2013/14

de Gran Canaria Centro de Tecnología Médica Programación Concurrente

SILABO DE SISTEMAS OPERATIVOS

Nombre de la asignatura : Sistemas de Computación Código : Nivel (semestre de la carrera) : 7 : Ingeniería Civil Informática Nº de créditos : 4

Diseño arquitectónico 1ª edición (2002)

Programación I. Carrera: ECM Participantes Participantes de las academias de ingeniería electrónica de los Institutos Tecnológicos.

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

GUÍA DOCENTE CURSO FICHA TÉCNICA DE LA ASIGNATURA. Datos de la asignatura Nombre Sistemas Operativos

Conceptos de Algoritmos, Datos y Programas

STR - Sistemas de Tiempo Real

UNIVERSIDAD DEL CARIBE UNICARIBE. Escuela de Informática. Programa de Asignatura

PROGRAMA DE LABORATORIO SECCIÓN: ÁREA A LA QUE PERTENECE: POS-REQUISITO: AUXILIAR:

Clasificación n de los Sistemas Operativos. Clasificación de los SO Estructuras de los SO Modos de procesamiento

Asignaturas antecedentes y subsecuentes

Threads, SMP y Microkernels. Proceso

Conceptos generales de sistemas distribuidos

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN LICENCIATURAEN INFORMÁTICA

Carrera: IFM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Universidad Autónoma del Estado de México Licenciatura en Ingeniería en Sistemas Energéticos Sustentables

ARQUITECTURAS PARA PROCESAMIENTO PARALELO

Arquitectura del PLC. Dpto. Electrónica, Automática e Informática Industrial)

Sistemas Operativos Ricardo Sanz

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE INTRODUCCIÓN Y TEORÍA DE LA COMPUTACIÓN

Concurrencia y paralelismo

LP - Lenguajes de Programación

: Algorítmica y Estructura de Datos I

Nociones básicas de computación paralela

Pontificia Universidad Católica del Ecuador

Universidad Central Del Este U C E Facultad de Ciencias y Humanidades Escuela de Pedagogía Mención Informática.

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

Programa de la asignatura Curso: 2007 / 2008 SISTEMAS OPERATIVOS (1299)

Programación Distribuida

Programa de Estudios por Competencias Tipos de Sistemas Operativos. Área de docencia: Software de Base

UNIDAD II Metodología de programación paralela. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Programacion web. CURSO ACADÉMICO - SEMESTRE Segundo semestre

Fecha de entrega: Miércoles 4 de Septiembre. Campus: Villahermosa. Carrera : Ingeniería en Sistemas Compuacionales. Nombre del maestro: Carlos Castro

UNIVERSIDAD DE GUADALAJARA

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

Tecnología de software para sistemas de tiempo real

Pontificia Universidad Católica del Ecuador

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Programacion web. CURSO ACADÉMICO - SEMESTRE Primer semestre

Tema 2: Equivalencias y formas normales

PROGRAMA ANALÍTICO DE ASIGNATURA

Análisis y Diseño de Sistemas en Tiempo Real

Introducción a la Operación de Computadoras Personales

Cuando el lenguaje si importa

Carrera: SCM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

GUÍA DE ADMISIÓN PARA LA MAESTRÍA EN TECNOLOGÍA DE CÓMPUTO

Escuela Politécnica Superior de Jaén

PROGRAMA DE ESTUDIO. Nombre de la asignatura: MICROPROCESADORES Y MICROCONTROLADORES. Horas de Práctica

Año académico GUÍA DOCENTE SISTEMAS CONCURRENTES Y PARALELOS Grado en Ingeniería Informática. Profesorado: Fernando Cores Prado

2007/ PROGRAMACIÓN. Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS. 1.-Introducción.

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

INF - Informática

MÁSTER UNIVERSITARIO EN CIENCIAS Y TECNOLOGÍAS DE LA COMPUTACIÓN Guía de Aprendizaje Información al estudiante

DISEÑO CURRICULAR ELECTRÓNICA DIGITAL

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Programacion concurrente y avanzada. CURSO ACADÉMICO - SEMESTRE Segundo semestre

Interfaces. Carrera: SCF Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

GUÍA DOCENTE SISTEMAS DISTRIBUIDOS GRADO EN INGENIERIA EN TELEMATICA CURSO

INFORMATICA III. Capítulo I: Plataformas

Sistemas Operativos. Introducción. Tema 6

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

Guía docente de la asignatura

GUÍA DOCENTE Arquitecturas Avanzadas de Computadores

Principios Generales de la Concurrencia

GUÍA DOCENTE Fundamentos de Computadores

Programa de estudios por competencias. Seminario de Sistemas operativos en red

EVOLUCIÓN DE LOS PROCESADORES

Los valores obtenidos de speedup tienden a incrementarse hasta los ocho procesadores. al usar diez procesadores éste se mantiene igual o decrece. Esto

ASDP - Habilidades Académicas para el Desarrollo de Proyectos en Inglés

UNIVERSIDAD TECNOLÓGICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS DEPARTAMENTO DE MATEMÁTICAS PROGRAMACIÓN DE COMPUTADORES

07 y 08 Sistemas distribuidos y paralelos y tarea 02

Computación Paralela Móvil

Lic. Saidys Jiménez Quiroz. Área de Tecnología e Informática. Grado 6 - Cescoj

OBJETIVOS DE LA MATERIA... 4 PROGRAMA ANALÍTICO. CONTENIDOS TEÓRICOS Y PRÁCTICOS... 5 BIBLIOGRAFIA... 7

Programación Orientada a Objetos

Introducción a la Ingeniería Básicas de Ingeniería

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas

DISEÑO DE UNA METODOLOGÍA DOCENTE

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

SI - Seguridad Informática

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

PROYECTO DOCENTE ASIGNATURA: "Computabilidad y Complejidad"

DES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia: Semestre: Área en plan de estudios:

UNIVERSIDAD DEL VALLE FACULTAD DE INGENIERIA ESCUELA DE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN MAESTRÍA EN INGENIERÍA DE SISTEMAS Y COMPUTACIÓN

CAPITULO 1 INTRODUCCION AL PROYECTO

CARRERA DE INGENIERIA DE SISTEMAS

Usando el Sistema Operativo

Carrera: ACM Participantes. Academia Eléctrica y Electrónica del Instituto Tecnológico Superior de Coatzacoalcos

APSS - Habilidades Académicas y Profesionales de Expresión Oral en Inglés

Estructura de datos. Carrera: SCC Participantes

Carrera: GCM Participantes. Representantes de las Academias de Ingeniería en Geociencias. Academia de Ingeniería en Geociencias

FACULTAD DE INGENIERIAS PROGRAMAS INFORMATICOS PROGRAMACION DE PRIMEROS EXAMENES PARCIALES LUNES 27 DE SEPTIEMBRE A SABADO 2 DE OCTUBRE DE 2010

Tema 1: Arquitectura de ordenadores, hardware y software

Unidad 1: Conceptos generales de Sistemas Operativos.

Análisis de rendimiento de algoritmos paralelos

PROGRAMA DE MATERIA MATERIA:

Transcripción:

Programación Concurrente Joaquín EZPELETA Dept. de Informática e Ingeniería de Sistemas Universidad de Zaragoza J. Ezpeleta 1

Programas concurrentes Un programa concurrente se compone de procesos y objetos compartidos Un proceso es un programa secuencial ejecutado en algún procesador Los objetos compartidos se construyen o bien mediante memoria compartida o bien mediante una red de comunicación Un programa concurrente se puede ejecutar de varias maneras: un único procesador sistemas multi-procesador multiprogramación multiprocesamiento programación distribuída J. Ezpeleta 2

Programas concurrentes Sobre sistemas multi-procesador: permite paralelismo real sistemas fuertemente acoplados todos los elementos (incluida la memoria compartida) conectados a un mismo bus comunicación y sincronización en memoria compartida (al margen de la existencia de memoria local a cada procesador) sistemas débilmente acoplados hay comunicación entre procesadores, pero no memoria compartida habitualmente, comunicación mediante paso de mensajes J. Ezpeleta 3

Programas concurrentes A modo de clasificación: un programa concurrente contiene acciones que se pueden ejecutar simultáneamente. un programa paralelo es un programa concurrente diseñado para ejecutarse en un hardware paralelo. un programa distribuido es un programa paralelo diseñado para ejecutarse en una red de procesadores autónomos que no comparten memoria. J. Ezpeleta 4

Programas concurrentes Para cooperar, los procesos deben comunicar la comunicación permite a un proceso influir en la ejecución de otro La comunicación puede tener retrasos lo que implica que la información obtenida por un proceso respecto a otro puede estar desfasada En consecuencia: diseñar y verificar programas concurrentes correctos es más difícil que diseñar un conjunto de procesos correctos J. Ezpeleta 5

Objetivos Estudiar, desde un punto de vista formal, los conceptos fundamentales ligados a la programación concurrente Re-visitar, desde una perspectiva formal, conceptos estudiados en asignaturas de SO Aprender los mecanismos y técnicas de sincronización fundamentales Aprender a razonar sobre la corrección de programas concurrentes Practicar la implementación de programas concurrentes en Ada J. Ezpeleta 6

La asignatura Material: http://www.cps.unizar.es/~ezpeleta/ Valor de la asignatura: 3.0 + (1.5 + 1.5)=(3.0 + 1.5 )+ 1.5 Evaluación: Teoría: hasta 4.0 puntos (>= 2.0) Prácticas: hasta 2.0 puntos (>= 1.5) Trabajo fin de curso: hasta 4.0 puntos (>= 2.0) Profesorado: Joaquín Ezpeleta ezpeleta@unizar.es Miguel Ángel Latre latre@unizar.es J. Ezpeleta 7

La asignatura Bibliografía básica: Andrews G.R. Concurrent Programming. Principles and Practice Benjamin Cummings Company, 1991 Burns A. Welling A. Concurrency in Ada Cambridge University Press, 1995 Bibliografía complementaria: Ben-Ari M. Principles of Concurrent and Distributed Programming Addison-Wesley, 2006 Snow C.R. Concurrent Programming Cambridge Computer Sciente Texts, 1992 Schneider F.B. On Concurrent Programming Graduate Texts in Computer Science, Springer-Verlag, 1997 J.T. Palma, M.C. Garrido, F. Sánchez, A. Quesada Thompson, 2003 M.L. Liu Computación distribuida. Fundamentos y aplicaciones Ed. Pearson- Addison Wesley, 2004. J. Ezpeleta 8

Contenidos del curso Lección 1: Lenguaje algorítmico para programas secuenciales Lección 2: Conceptos básicos de PC Lección 3: Concurrencia y sincronización Lección 4: Semántica de la composición concurrente Lección 5: Técnicas para asegurar ausencia de interferencias Lección 6: Propiedades de un programa concurrente Lección 7: Sincronización de procesos. El problema de la sección crítica Lección 8: Sincronización por barrera J. Ezpeleta 9

Contenidos del curso Lección 9: Programación concurrente con semáforos Lección 10: Ejemplos de programación con semáforos Lección 11: Sincronización mediante monitores Lección 12: Ejemplos de programación con monitores Lección 13: Introducción a la programación distribuída Lección 14: Programación mediante paso asíncrono de mensajes Lección 15: El modelo de coordinación Linda Lección 16: Programación mediante paso síncrono de mensajes J. Ezpeleta 10