Recursos compartidos con paso de mensajes (EN CONSTRUCCIÓN: NO IMPRIMIR)
|
|
- Álvaro Ortíz Salazar
- hace 6 años
- Vistas:
Transcripción
1 Recursos compartidos con paso de mensajes (EN CONSTRUCCIÓN: NO IMPRIMIR) Julio Mariño Universidad Politécnica de Madrid Babel research group Concurrencia, mayo 2014 Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
2 concurrencia en sistemas distribuidos motivación Hasta ahora hemos programado sistemas concurrentes en los que la vía principal de interacción entre procesos era la lectura y escritura de variables compartidas. De igual modo, el primer problema que tuvimos que resolver fue el de evitar situaciones de carrera en el acceso a dichas variables. Sin embargo, cada vez hay más sistemas concurrentes distribuidos, donde cada proceso interactúa con otros sin compartir memoria. Es decir, cada proceso maneja su propio espacio de variables locales y la comunicación con otros procesos es mediante el envío de copias de sus datos locales usando una red de comunicaciones. Esto elimina el problema de las situaciones de carrera, pero obliga a definir mecanismos de paso de mensajes que resuelvan de manera cómoda el problema de la comunicación: sistemas de direcciones, sincronización, etc. Este tema pretende dar unas nociones básicas sobre la programación de sistemas concurrentes distribuidos dentro del marco CSP (Communicating Sequential Processes), usando como vehículo la librería JCSP. Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
3 almacén de un dato con cliente/servidor Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
4 almacén de un dato con cliente/servidor Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
5 almacén de un dato con cliente/servidor solución con un vector de canales respuesta productor(i) servidor consumidor(j) d = producir(); calm.send(d); dato = calm.receive(); ncons=cpetext.receive(); crext[ncons].send(dato); cpetext.send(j); d = crext[j]. receive(); consumir(d); Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
6 almacén de un dato con cliente/servidor Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
7 almacén de un dato con cliente/servidor solución con canales respuesta como petición productor(i) servidor consumidor(j) d = producir(); calm.send(d); cresp =... dato = calm.receive(); cresp=cpetext.receive(); cresp.send(dato); cresp =... cpetext.send(cresp); d = cresp.receive(); consumir(d); Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
8 almacén de n datos algo no funciona... Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
9 almacén de n datos solución con recepción alternativa condicional Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
10 almacén de n datos solución con recepción alternativa condicional productor(i) servidor consumidor(j) d = producir(); calm.send(d); cresp =... select when(!buf.lleno()){ buffer.enqueue(calm. receive()); when(!buf.vacio()){ cresp=cpetext.receive(); cresp.send(buffer.front()) ; buffer.dequeue(); end; cresp =... cpetext.send(cresp) ; d = cresp.receive() ; consumir(d); Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
11 Communicating Sequential Processes Communicating Sequential Processes (CSP) fue propuesto originalmente por Anthony Hoare como un lenguaje sencillo para especificar ejecución concurrente, comunicación y sincronización de procesos distribuidos de una manera independiente de la arquitectura. Sus elementos básicos son: comunicación síncrona recepción alternativa condicional Una breve introducción a la propuesta original de CSP se encuentra en el artículo de Andrews & Schneider que ya tenéis. Una descripción por el propio Hoare es el artículo [Hoare78]. Un buen texto académico (pero con un lenguaje propio del autor) es [Andrews91, Cap.8]. [Hoare85] es el primer libro dedicado enteramente a CSP. Con los años, la propuesta inicial, muy concisa, se ha ido enriqueciendo hasta convertirse en un cálculo de procesos distribuidos soportado por potentes herramientas de análisis, etc. Un texto bastante completo es [Roscoe2005]. CSP ha influido en el diseño de un buen número de lenguajes de programación, como occam, Ada, Strand o Erlang (aunque en este último la comunicación no es síncrona). Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
12 JCSP una librería Java que implementa CSP JCSP es una librería Java que traduce las ideas de CSP a una jerarquía de clases e interfaces Java con sus correspondientes métodos, sin tocar la estructura del lenguaje. La ventaja de esto es que los programas JCSP compilan con cualquier compilador de Java. La desventaja es que generalmente hay que escribir más que para hacer algo equivalente en lenguajes como Ada o Erlang que soportan las construcciones de manera nativa. JCSP es un proyecto académico, no comercial, desarrollado por profesores y alumnos de la Universidad de Kent y se encuentra disponible en Canales clases Channel, One2OneChannel, Any2OneChannel, ChannelInput, ChannelOutput. Recepción alternativa clases Alternative, AltingChannelInput. interfaz Guard. Creación de procesos Clases CSProcess, Parallel, etc. Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
13 JCSP canales en detalle Los canales tienen dos mitades : la mitad por la que se envía (de clase ChannelOutput), y la mitad por la que se recibe (de clase ChannelInput): One2OneChannel c1, c2 = Channel.one2one(); ChannelInput ci = c1.in(); ChannelOutput co = c2.out(); co.write(7); Los canales no son genéricos: lo que se envía son Object, lo que obliga a veces a hacer castings expĺıcitos para convertir lo que se recibe por un canal: x = (Integer)ci.read(); Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
14 JCSP comunicación alternativa en detalle Para atender al mismo tiempo a varios canales, usamos una subclase de ChannelInput: AltingChannelInput. AltingChannelInput input1 = c1.in(); AltingChannelInput input2 = c2.in(); Construimos una estructura de recepción alternativa pasando un vector de AltingChannelInput al constructor de la clase Alternative: AltingChannelInput[] inputs = {input1, input2; Alternative servicios = new Alternative(inputs); Los métodos select y fairselect devuelven el índice del vector por denode llega un mensaje: int seleccion = servicios.fairselect(); Si se pasa un vector de booleanos, inhabilita los canales con posiciones a falso: boolean sinccond[2] = new boolean[2];... int seleccion = servicios.fairselect(sinccond); Mariño (UPM) Recursos compartidos con paso de mensajes Concurrencia, mayo / 14
Recursos compartidos con paso de mensajes (EN CONSTRUCCIÓN: NO IMPRIMIR)
Recursos compartidos con paso de mensajes (EN CONSTRUCCIÓN: NO IMPRIMIR) Julio Mariño Universidad Politécnica de Madrid Babel research group http://babel.upm.es/teaching/ concurrencia Concurrencia, mayo
Apellidos: 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
Prueba final, parte 2 - Clave a Concurrencia Segundo semestre Universidad Politécnica de Madrid
Apellidos: Nombre: DNI/NIE: Normas Prueba final, parte 2 - Clave a Concurrencia 2013-2014 - Segundo semestre Universidad Politécnica de Madrid Este es un cuestionario que consta de 6 preguntas en 5 páginas.
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
Prueba 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
Prueba objetiva 2 - Clave b
Normas Prueba objetiva 2 - Clave b Concurrencia 2011-2012 - Segundo semestre Lenguajes, Sistemas Informáticos e Ingeniería de Software Este es un cuestionario que consta de 7 preguntas en 7 páginas. Todas
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
Especificando interacción con recursos compartidos (EN CONSTRUCCIÓN: NO IMPRIMIR)
Especificando interacción con recursos compartidos (EN CONSTRUCCIÓN: NO IMPRIMIR) Julio Mariño Universidad Politécnica de Madrid Babel research group http://babel.upm.es Concurrencia, marzo 2017 Mariño
Concurrencia. Guía de Aprendizaje Información al estudiante. Datos Descriptivos. Lenguajes, Sistemas Informáticos e Ingeniería de Software
Concurrencia Guía de Aprendizaje Información al estudiante Datos Descriptivos Asignatura Materia Departamento responsable Concurrencia Programación Lenguajes, Sistemas Informáticos e Ingeniería de Software
Concurrencia. Guía de Aprendizaje Información al estudiante. Datos Descriptivos. Departamento responsable
Concurrencia Guía de Aprendizaje Información al estudiante Datos Descriptivos Asignatura Materia Departamento responsable Concurrencia Programación Lenguajes, Sistemas Informáticos e Ingeniería de Software
Lección 15: Programación concurrente mediante paso síncrono de mensajes
Lección 15: Programación concurrente mediante paso síncrono de mensajes Limitaciones del paso asíncrono de mensajes Paso síncrono de mensajes: notación simplificada ejemplo: proceso filtro copiar notación
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
PROCESAMIENTO DISTRIBUIDO
Pág. 1 INTRODUCCIÓN PROCESAMIENTO DISTRIBUIDO Arquitectura de comunicaciones: Software básico de una red de computadoras Brinda soporte para aplicaciones distribuidas Permite diferentes Sistemas Operativos
ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Concurrencia. CURSO ACADÉMICO - SEMESTRE Segundo semestre
ANX-PR/CL/001-02 GUÍA DE APRENDIZAJE ASIGNATURA Concurrencia CURSO ACADÉMICO - SEMESTRE 2015-16 - Segundo semestre GA_10II_105000018_2S_2015-16 Datos Descriptivos Nombre de la Asignatura Titulación Centro
Programación Concurrente y distribuida
Working Hypothesis Programación Concurrente y distribuida Camilo Rueda 1 1 Universidad Javeriana-Cali 1 de febrero de 2010 Motivación Working Hypothesis Premisa El contexto de aplicación de la Ingeniería
ANX-PR/CL/ GUÍA DE APRENDIZAJE
PROCESO DE COORDINACIÓN DE LAS ENSEÑANZAS PR/CL/001 ASIGNATURA 105000125 - PLAN DE ESTUDIOS 10MI - CURSO ACADÉMICO Y SEMESTRE 2017/18 - Segundo semestre Índice Guía de Aprendizaje 1. Datos descriptivos...1
Paso de mensajes. Lecturas: Burns & Wellings, Cap.??? Transparencias y apuntes de la asignatura. Filosofía cliente-servidor.
Paso de mensajes Lecturas: Burns & Wellings, Cap.??? Transparencias y apuntes de la asignatura Manuel Carro Universidad Politécnica de Madrid Este texto se distribuye bajo los términos de la Creative Commons
ANX-PR/CL/ GUÍA DE APRENDIZAJE
PROCESO DE COORDINACIÓN DE LAS ENSEÑANZAS PR/CL/001 ASIGNATURA 105000018 - PLAN DE ESTUDIOS 10II - CURSO ACADÉMICO Y SEMESTRE 2017/18 - Segundo semestre Índice Guía de Aprendizaje 1. Datos descriptivos...1
Especificando 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
Tema 3. Paso de mensajes. mensajes. Bibliografía. Sistemas de paso de mensajes (2) Sistemas de paso de mensajes. Ventajas del paso de.
Tema 3. Paso de mensajes Bibliografía Programación Concurrente J. Palma, C. Garrido, F. Sánchez, A. Quesada, 2003 Capítulo 7 Principles of Concurrent and Distributed Programming M. Ben-Ari. Prentice Hall,
Capitulo 3. Remote Method Invocation: RMI
Capitulo 3 Remote Method Invocation: RMI En este capitulo mencionamos los aspectos principales de RMI, capas y componentes, entre otras características. 3. Remote Method Invocation (RMI) Los sistemas distribuidos
Fecha de elaboración: Agosto de 2004 Fecha de última actualización: Julio de 2010
PROGRAMA DE ESTUDIO Programa Educativo: Área de Formación : Licenciatura en ciencias computacionales Integral profesional Programa elaborado por: Programación Concurrente Horas teóricas: 1 Horas prácticas:
Tema 6: Clases. Índice
Tema 6: Clases Antonio J. Sierra Índice 1. Fundamentos. 2. Declaración de objetos. 3. Asignación de objetos a variables referencia. 4. Métodos. 5. Constructores. 6. this. 7. Recogida de basura. 8. Modelado
Asignaturas antecedentes y subsecuentes
PROGRAMA DE ESTUDIOS Programación Concurrente Área a la que pertenece: Área de Formación Integral Profesional Horas teóricas: 3 Horas prácticas: 2 Créditos: 8 Clave: F0177 Asignaturas antecedentes y subsecuentes
Sobre la programación concurrente
Sobre la programación concurrente Lecturas recomendadas: G. Andrews, introducción parte 1 Ben-Ari, secciones 2.1 y 2.3 A. Burns, A. Wellings, capítulo 2 (hasta 2.4) Andrews & Schneider, todo el artículo
Simultaneidad + Sincronización
Sobre la programación concurrente Lecturas recomendadas: G. Andrews, introducción parte 1 Ben-Ari, secciones 2.1 y 2.3 A. Burns, A. Wellings, capítulo 2 (hasta 2.4) Andrews & Schneider, todo el artículo
Programación Concurrente y Distribuida Paso de mensajes
Programación Concurrente y Distribuida Paso de mensajes Camilo Rueda 1 1 Universidad Javeriana-Cali PUJ 2010 Hacia concurrencia de paso de mensajes Ejercicio: Modelar captura de un bus Un cierto número
Guillermo 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
Técnicas de Programac. Concurrente I PLANIFICACIONES Actualización: 2ºC/2018. Planificaciones Técnicas de Programac.
Planificaciones 7559 - Técnicas de Programac. Concurrente I Docente responsable: GARIBALDI JULIA ELENA 1 de 5 OBJETIVOS Familiarizar al estudiante con las técnicas de Programación Concurrente, los conceptos
UML. (Unified Modeling Language) Lenguage Unificado de Modelado
1 (Unified Modeling Language) Lenguage Unificado de Modelado Antonio J. Sierra 1 Índice Historia Introducción Objetivos del modelo Críticas Modelo Conceptual de Clases Diagrama de Clases 2 2 Historia (I)
Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo
Tutorial Contenido 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo 1. El proceso Fases soportadas por UML Análisis de requisitos de usuario Análisis de requisitos de software Diseño de la plataforma
Lección 9: Programación mediante paso síncrono de mensajes
Lección 9: Programación mediante paso síncrono de mensajes Paso síncrono de mensajes: notación simplificada ejemplo: proceso filtro copiar notación general ejemplo: proceso servidor mcd Entrada selectiva
Concurrencia y Paralelismo
Concurrencia y Paralelismo Carrera: Ingeniería en Computación Profesor Responsable: Naiouf, Ricardo Marcelo Año: 4º Duración: Semestral Carga Horaria Semanal: 6hs Carga Horaria Total: 96hs Objetivos Generales
RMI. Aplicaciones Distribuidas
RMI Aplicaciones Distribuidas Contenido Objetos Distribuidos y RMI. Interface Remota. Clase Implementación. Referencias Remotas. Registro RMI. Paso de parámetros. Descarga dinámica de código. Desarrollo
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
PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela
PROGRAMACIÓN PARALELA Modelos de programación paralela Paradigmas de programación paralela Tipos de paralelismo Paso de mensajes Paralelismo de datos Memoria compartida Paradigmas de programación paralela
Índice INTRODUCCIÓN...11 CAPÍTULO 1. SELECCIÓN DE ARQUITECTURAS Y HERRAMIENTAS DE PROGRAMACIÓN...13
Índice INTRODUCCIÓN...11 CAPÍTULO 1. SELECCIÓN DE ARQUITECTURAS Y HERRAMIENTAS DE PROGRAMACIÓN...13 1.1 Evolución Y CARACTERísticas de LOS navegadores Web...14 1.2 ARQUITECTURA de ejecución...17 1.3 Lenguajes
Programación Concurrente Recopilación de teoría referente a la materia
UNIVERSIDAD AMERICANA Programación Concurrente Recopilación de teoría referente a la materia Ing. Luis Müller Esta es una recopilación de la teoría referente a la asignatura Programación Concurrente, a
Sistemas Distribuidos: Programación con CORBA. Facultad de Informática, curso
Servicio de Eventos Sistemas Distribuidos: Programación con CORBA Juan Pavón Mestras Dep. Sistemas Informáticos y Programación Universidad Complutense Madrid Facultad de Informática, curso 2000-01 Operaciones
Unidad 8. Bases de Datos en el Modelo Cliente Servidor
Unidad 8 Bases de Datos en el Modelo Cliente Servidor El Modelo Cliente Servidor En la comunicación TCP/IP las comunicaciones entre computadoras se manejan a través del modelo Cliente Servidor Este concepto
Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones
Práctica 2 Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Estructura de Datos Unidad 1: Repaso del Lenguaje Java
Estructura de Datos Unidad 1: Repaso del Lenguaje Java Introducción Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de 1991, con el que se van a
Programación de Sistemas Concurrentes y Distribuidos 2 a Convocatoria curso 12/13
Programación de Sistemas Concurrentes y Distribuidos 2 a Convocatoria curso 12/13 13 de septiembre de 2013 Dpto. de Informática e Ingeniería de Sistemas Universidad de Zaragoza Ejercicio 1 (2.0 ptos.)
APELLIDOS, Nombre: // Resto de s e r v i c i o s p ú b l i c o s e n t r e l o s que s e e n c u e n t r a n i n s e r t a r y // b o r r a r //...
APELLIDOS, Nombre: N o Matrícula: U.P.M. E.T.S.I.Inf Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software. Examen de Programación II. 27 de Marzo de 2014. Primer parcial. Realización:
Sistemas Distribuidos. Práctica JavaDSM
Práctica JavaDSM Coherencia de entrada (EC) int main() { shared tipo1 v1; shared tipo2 v2; shared tipo3 v3; cerrojo c1, c2;... asociar(c1, v1); asociar(c1, v2); asociar(c2, v4);... adquirir(c1);... v1.xx...
Cuáles son los lenguajes que pueden utilizarse para programar Karel?
EXAMEN NIVEL OMI Cuáles son las ventanas del programa de karel? a) Mundo, Programa, Ejecutar y Ayuda. b) Nueva, Abrir, Guardar, Guardar como y compilar. c) Muros y zumbadores. d) Todos los anteriores.
Tema 3. Herencia. Programación Avanzada. Jorge Badenas
Tema 3. Herencia Programación Avanzada Jorge Badenas 1. Herencia Herencia: relación entre dos clases, donde una clase nueva se define como una extensión de la otra. En la nueva clase sólo necesitamos escribir
Diseño arquitectónico 1ª edición (2002)
Unidades temáticas de Ingeniería del Software Diseño arquitectónico 1ª edición (2002) Facultad de Informática objetivo Los sistemas grandes se descomponen en subsistemas que suministran un conjunto relacionado
Unidad IV: Programación concurrente (MultiHilos) 4.1. Concepto de hilo
Unidad IV: Programación concurrente (MultiHilos) 4.1. Concepto de hilo Hilo (theread) llamado también proceso ligero o subproceso, es la unidad de ejecución de un proceso y esta asociado con una secuencia
Programación C++ (1 Parte) Dr. Oldemar Rodríguez Rojas Escuela De Informática Universidad Nacional
Programación C++ (1 Parte) Dr. Oldemar Rodríguez Rojas Escuela De Informática Universidad Nacional Programming Language Popularity: The TCP Index for December, 2012 La noción de clase en C++ C++ fue
Concurrencia 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
Tema 1: Principios de Java
Tema 1: Principios de Java 0 Definición de java Java (del idioma indonesio: JAWA) Isla más poblada del archipiélago indonesio. Una variedad del grano de café producido en la isla de Java. Lenguaje de programación
Programación concurrente en Java
Diseño Y Aplicaciones de Sistemas Distribuidos Programación concurrente en Java Joan Vila DISCA / UPV Departament d Informàtica de Sistemes i Computadors Universitat Politècnica de València Threads en
CONCEPTO DE ARQUITECTURA CLIENTE / SERVIDOR.
CONCEPTO DE ARQUITECTURA CLIENTE / SERVIDOR. La tecnología Cliente/Servidor es el procesamiento cooperativo de la información por medio de un conjunto de procesadores, en el cual múltiples clientes, distribuidos
BROKER Publicador Suscriptor. Jonnathan Corredor Lorena Arrieta Alejandro Mosquera
BROKER Publicador Suscriptor Jonnathan Corredor Lorena Arrieta Alejandro Mosquera Contenido 1. Descripción General 2. Guía de Implementación 3. Patrones Relacionados 4. Usos Conocidos 5. Variaciones 6.
Algoritmos y Estructuras de Datos Pilas LIFO y Colas FIFO. Guillermo Román Díez
Algoritmos y Estructuras de Datos Pilas LIFO y Colas FIFO Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Pilas LIFO y Colas FIFO 1/12
TEMA 2: PROGRAMACIÓN PARALELA (I)
Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas ARQUITECTURA DE COMPUTADORES II AUTORES: David Expósito Singh Florin Isaila Daniel Higuero Alonso-Mardones Javier García Blas Borja Bergua
Fundamentos de la POO 1
Fundamentos de la POO 1 La correcta aplicación de los conocimientos de clases y objetos nos permitirán llegar a los objetivos planteados y a generar programas que puedan ser fáciles de comprender para
Tipos de Diseño. Ing. Elizabeth Guerrero V.
Tipos de Diseño Ing. Elizabeth Guerrero V. Tipos de Diseño Tipos de diseño de Procesos: Centralizado, Distribuido y Cooperativo Procesos Centralizados Un sistema centralizado está formado por un computador
Aspectos de la Transmisión de multimedia en Internet y FFmpeg
Aspectos de la Transmisión de multimedia en Internet y FFmpeg En base a proyecto FFmpeg. Mario Ungemach Sebastián Duque Redes de Computadores II Departamento de Electrónica Universidad Técnica Federico
Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores.
MANEJO DE ERRORES 1 Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores. Uno de los puntos más vulnerables son los parámetros que
Principios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Clases abstractas e Mg. Ricardo Coppo rcoppo@uns.edu.ar La clase Object Todas las clases de Java son descendientes de la clase Object No es necesario
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
Concurrencia. Guía de Aprendizaje Información al estudiante. Datos Descriptvos. Departamento responsable
Concurrencia Guía de Aprendizaje Información al estudiante Datos Descriptvos Asignatura Materia Departamento responsable Concurrencia Programación Lenguajes, Sistemas Informátcos e Ingeniería de Sofware
Lenguajes de Programación
Lenguajes de Programación Concurrencia Ma. Laura Cobo Departamento de Ciencias e Ingeniería de la Computación 2018 Prof. Ma. Laura Cobo Página 1 Motivación Un programa se dice concurrente si puede tener
RTTI y reflexión A3F. Carlos
RTTI y reflexión Modelos de objetos Carlos Fontela cfontela@ @fi.uba.ar Temario RTTI (información de tipos en tiempo de ejecución) Reflexión Modelos de objetos en dis stintos lenguajes 1c2011 2 Polimorfismoo
Nociones básicas sobre C++ Agustín J. González Patricio Olivares ELO-329
Nociones básicas sobre C++ Agustín J. González Patricio Olivares ELO-329 1 C++ vs C C++ es un lenguaje más actual que C C++ mantiene todo el poder de C agregando características que facilitan la programación.
Algoritmos y Estructuras de Datos: Introducción a los TAD y los Algoritmos. Guillermo Román Díez
Algoritmos y Estructuras de Datos: Introducción a los TAD y los Algoritmos Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción
SISTEMAS EN TIEMPO REAL
SISTEMAS EN TIEMPO REAL Año académico: 2006/07 Centro: Escuela Politécnica Superior Estudios: Ingeniero Técnico en Informática de Sistemas Asignatura: Sistemas en Tiempo real Ciclo: 1º Curso: 3º Cuatrimestre:
Algoritmos y Programación Orientada a Objetos I. Contenedoras de tamaño variable y uso de ciclos en otros contextos
Algoritmos y Programación Orientada a Objetos I y uso de ciclos en otros contextos Agenda Motivación Uso de ciclos en otros contextos Agenda Motivación Uso de ciclos en otros contextos Motivación En muchos
IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA
IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA Implementación de conceptos P.O.O. en Java Temario 2. Conceptos de Programación Orientada a Objetos 1. Conceptos de P.O.O. 2. Implementación de conceptos P.O.O
Tecnología de software para sistemas de tiempo real
1 dit UPM Tecnología de software para sistemas de tiempo real Juan Antonio de la Puente DIT/UPM Motivación Las herramientas y la tecnología de software que se usan para construir otros tipos de sistemas
Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.
Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo
GUÍA DE APRENDIZAJE PROGRAMACION CONCURRENTE
GUÍA DE APRENDIZAJE PROGRAMACION CONCURRENTE Datos Descriptivos TITULACIÓN: CENTROS IMPLICADOS: GRADO EN INGENIERIA DEL SOFTWARE E.U. DE INFORMATICA CICLO: Grado sin atribuciones MÓDULO: MATERIA: PROGRAMACIÓN
Dirección General de Educación Superior Tecnológica
Dirección General de Educación Superior Tecnológica 1. Datos Generales de la asignatura Nombre de la asignatura: Sistemas Distribuidos I Clave de la asignatura: RSD-1202 Créditos (HT - HP créditos): 2-3-5
Sistemas Informáticos Industriales
Escuela Técnica Superior de Ingeniería y Diseño Industrial Universidad Politécnica de Madrid Llamadas a Procedimientos Remotos (RPC) Sistemas Informáticos Industriales 2017/2018 Raquel CEDAZO LEÓN
Paso de mensajes. Lecturas: Burns & Wellings, Cap.??? Transparencias y apuntes de la asignatura. Filosofía cliente-servidor. Canales de Comunicación
Paso de mensajes Lecturas: Burns & Wellings, Cap.??? Transparencias y apuntes de la asignatura Paso de mensajes Motivación: sistemas distribuidos: Ausencia de memia compartida Datos repartidos entre procesos
Clases Abstractas e Interfaces
Clases Abstractas e Interfaces Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender a crear y utilizar clases y métodos abstractos
Introducción a Java. Dr. (c) Noé Alejandro Castro Sánchez
Introducción a Java Dr. (c) Noé Alejandro Castro Sánchez Programas Java Applets Pueden correr en navegadores Web Agregan funcionalidad a páginas Web Se llega a restringir su funcionalidad (e. g., no pueden:
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
Necesidad de Protección
Necesidad de Protección Por qué necesitamos protección? Para mejorar la utilización del sistema, el Sistema de Operación empezó a compartir recursos del sistema entre varios programas de manera simultánea.
Caracterización de las aplicaciones paralelas en cuanto a la petición de recursos
Caracterización de las aplicaciones paralelas en cuanto a la petición de recursos Marisa Gil (marisa@ac.upc.es) ENtornos Operativos para la Gestión de Recursos de Aplicaciones Paralelas CURSO 1.998-99
Curso Programación Java JSE 7
Curso Programación Java JSE 7 Descripción: Nuestro curso Programación Java JSE 7 ofrece el curso de este nivel más completo, sin duda, en donde aprenderás la versión actual de Java, JSE 7, desde cero.
Java RMI. Sistemas distribuidos
Java RMI Sistemas distribuidos Entornos orientados a objetos Tendencia actual hacia sistemas compuestos por un conjunto de objetos que interactúan entre sí. Un programa solicita servicios invocando los
Cada examen debe superarse con al menos un 4 para hacer media.
Concurrencia Pau Arlandis Martínez Sobre las normas Profesores Ángel Herranz 2309 Julio Mariño 2308 Cada lunes se entregará un problema que debe resolverse antes del jueves. Únicamente sirven para practicar
Programación concurrente y semáforos en Java
Programación concurrente y semáforos en Java En Java es posible ejecutar tareas en paralelo, utilizando hebras de control (hilos, threads). Este modo de programación permite tener un espacio de memoria,
Programa de Formación Profesional en. Programación en Java
Programa de Formación Profesional en Programación en Java Montevideo 2018 Presentación Es un curso presencial donde la idea es dar los primeros pasos en el mundo de Programación con el Lenguaje más utilizado
ORACLE 11g &12c Developer PLSQL
ORACLE 11g &12c Developer PLSQL En este curso aprenderás a: Crear códigos de aplicación para compartir en formularios, informes y aplicaciones desarrolladas en otras tecnologías. Desarrollar procedimientos
UNIVERSIDAD AUTÓNOMA DE SAN LUIS POTOSÍ FACULTAD DE CIENCIAS
UNIVERSIDAD AUTÓNOMA DE SAN LUIS POTOSÍ FACULTAD DE CIENCIAS Av. Dr. Salvador Nava Mtz. S/N Zona Universitaria Teléfono 8-26-23-17, Fax 8-26-23-21 web www.fciencias.uaslp.mx, email escolar@fc.uaslp.mx
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
Sistemas Paralelos y Distribuidos
Sistemas Paralelos y Distribuidos Facultad de Cs. de la Computación Juan Carlos Conde Ramírez Distributed Computing Contenido 1 Características 2 Buenas prácticas 3 Procesos y Tareas 4 Procesos en UNIX
Programación orientada a objetos
Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Herencia! Superclase/subclase! super! Modificador protected! Redefinicion de métodos!
Funciones Segunda parte
Expresiones condicionales Matemática Discreta usando el computador 2011 Funciones Segunda parte Una expresión condicional utiliza una expresión de tipo Bool para decidir entre dos opciones Estructura if...then...
Lecturas: 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
INTRODUCCIÓN A LA POO EN C++
INTRODUCCIÓN A LA POO EN C++ ÍNDICE DEL TEMA 1.- Introducción 2.- Diferencias C/C++ 3.- Programación orientada a objetos 4.- Aspectos avanzados C++ 1 1. Introducción Lenguaje C Lenguaje de propósito general