Introducción a Programación Concurrente

Slides:



Advertisements
Presentaciones similares
UNIVERSIDAD PRIVADA SAN PEDRO ESCUELA INGENIERIA CIVIL
Advertisements

Sistemas operativos Prof. Alberto Rivas.
Curso de Java Java – Redes Rogelio Ferreira Escutia.
VI Unidad. Sistema Operativo
Hardware y Software de servidor
Programación Interactiva Aplicaciones Cliente-Servidor
“GUI para Conexiones y Transferencia de Datos Seguros”
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Sockets y Threads en JAVA
INTRODUCCIÓN A JAVA.
Administración de procesos y del procesador.
SOCKETS INTRODUCCIÓN DEFINICIÓN TIPOS DE SOCKETS USO DE SOCKETS.
Ingeniería en Automática Industrial Software para Aplicaciones Industriales I Ingeniería en Automática Industrial Software para Aplicaciones Industriales.
RMI Remote Method Invocation
Gabriel Montañés León. La mayoría de los proveedores de servicios de Internet (ISP), y muchos otros servicios de Internet, tienen servidores de noticias.
Almacenamiento virtual de sitios web: «Hosts» virtuales Gustavo Antequera Rodríguez.
TECNOLOGÍAS PARA LA IMPLEMENTACIÓN DE INTERFACES DE USUARIO
Bioinformática FJS.
ConceptoDefiniciónCaracterísticas (palabra clave) Ejemplo/Aplicación Sistema operativo Un sistema operativo es un software, es decir, forma parte de la.
Sistemas Operativos Centralizados y Distribuidos Carlos David Zepeda.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
Tecnologías para el desarrollo de aplicaciones Web
Sockets en Java. Sockets ● Para programar aplicaciones en red en Java se utilizan los Sockets. ● Un socket permite establecer y manejar una conexión entre.
INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN.
Programación III Clase 07 Funciones.
Unidad 7 Entrada/Salida
Arquitectura - 3er Parcial. Asignaturas para Arquitectura – 3er Parcial.  Diseño del modelo de red (clase networking).  Implementacion del modelo de.
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
1 Chat de salón 1.Enunciado del problema 2.Modelo cliente/servidor 3.Protocolo de comunicación con el servidor. 4.Chat privado 5.Diseño del cliente 6.Diseño.
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
Hebras Cecilia Hernández. Qué es un proceso? Consiste Espacio de direccionamiento Código a ejecutar Datos estáticos y dinámicos Pila o stack CPU: PC,
INFORMATICA III ESCUELA DE INGENIERIA ELECTRONICA DEPARTAMENTO DE SISTEMAS E INFORMATICA.
AXEL LATORRE GABRIEL VALENZUELA GIAN PAOLO ALMEIDA ROMMEL CHIFLA ISABEL VILLEGAS INTEGRANTES.
DHCP protocolo de configuración dinámica de host.
1 Presentación: Copyright 2004© Nelson Arapé Basado en Introduction to Programming Using Java Versión 4 de David J. Eck Capítulo 1: Introducción a la Computación.
Despliegue de la aplicación Web
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Opciones de descarga desde la red. VARIAS FORMAS DE DESCARGAR ARCHIVOS DE LA RED DESCARGA DIRECTA P2P: AZUREUS.
En este capitulo se analizo la relación entre cliente y servidor de red habituales, como: HTTP FTP DNS DHCP Correo Electrónico INTRODUCCIÓN.
1 Capítulo 21: Interacción Cliente Servidor ICD 327: Redes de Computadores Agustín J. González.
COMPONENTES DEL SISTEMA OPERATIVO.
2ªtema 4E.S.O.  Una red de ordenadores es un conjunto de equipos informáticos conectados entre si que permiten aumentar la cobertura geográfica, compartir.
CONCEPTOS BÁSICOS DE CLIENTE SERVIDOR MICHAEL LOZA, DANNY SANCHEZ & MAURICIO VILLENA.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Universidad de Chile - Tupper 2007, Santiago - Fono: Fax: Módulo 9: Desarrollo de Aplicaciones.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Sistemas Distribuidos
Algoritmos y programación 3 - cátedra Fontela Concurrencia.
Actividad para conocer el sistema de videoconferencia Elluminate Actividad Introductoria Cursos virtuales.
1 Ana Mercedes Cáceres Instructor: Raúl Aguilar Año 2006 [Parte I ]
Técnicas de cifrado. Clave pública y clave privada:
Andres Marín L. Programación sockets en java.
LABORATORIO DE ESTRUCTURA DE COMPUTADORES II Desarrollo de aplicación Cliente-Servidor.
INTEGRANTES : Selvin Rivas José Vásquez Francisco Pérez J’ Alberto Patal.
Funcionamiento del servicio DHCP. Tipos de mensajes 07/10/20121Jesús Torres Cejudo.
CRUCIGRAMA HORIZONTALES: VERTICALES:
Elementos y tipos de sistemas operativos
Funciones principales!
UNIDAD I INTRODUCCION A LOS S.O.
QUE ES EL TELNET El protocolo Telnet es un protocolo de Internet estándar que permite conectar terminales y aplicaciones en Internet.
Hilos Java Profesor Elian Rojas Berrocal
QUÉ ES UN SERVIDOR WEB?. Un servidor web o servidor HTTP es un programa informático que procesa una aplicación del lado del servidor, realizando conexiones.
Desarrollador Profesional de Juegos Programación III Unidad II Hilos de ejecución Threads.
En informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol)
Conociendo el modelo Cliente-Servidor
Arquitectura de Computadores Clases Interrupciones de software y hardware IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica.
MANEJO DE LA PLATAFORMA Que la plataforma es un sistema operativo por el cual nosotros como usuarios podemos hacer trabajos y enviarlos por medio de la.
ARCHIVO Es una colección de información o bien es una secuencia de bits, bytes, líneas o registros definida por su creador.
Desbordamiento de buffer remoto Conceptos básicos (CPU Intel x86)
Transcripción de la presentación:

Introducción a Programación Concurrente Estructuras de Datos

Hilos de Ejecución

Procesos Ejecución de un programa Características Estado (valor de los registros) Instrucciones Pila de ejecución Memoria de trabajo (heap)

Hilos y Procesos

Ventajas de programar con hilos Simplificación del modelo Manejo de eventos asíncronos Interfaces de usuario más interactivas Uso de varios procesadores

Varias pilas de ejecución

Iniciar un hilo en Java Thread t = new Thread() ; t. start () ; Este hilo no hace nada. El stack se pierde en el momento en el que se inicia. Hay que darle un trabajo.

¿Cómo iniciar un nuevo hilo de ejecución? Crear un objeto de tipo Runnable Este es el trabajo que va a realizar el hilo.

¿Cómo iniciar un nuevo hilo de ejecución? Crear un objeto de tipo Thread y asignarle un Runnable (trabajo) e iniciar el hilo.

Ciclo de vida de un hilo

Thread Scheduler Decide cuál hilo se ejecuta después. No puedo saber el orden de ejecución de los hilos!

Dormir un hilo Permite tener un poco más de control sobre el orden de ejecución. Cuando termina el tiempo, el hilo queda en estado ejecutable

Aplicaciones Cliente-Servidor Modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes.

¿Cómo funcionan? - Chat

Pasos

Sockets Un Socket es un objeto que representa una conexión entre dos máquinas. Una conexión implica que cada una de las máquinas conoce la ip de la otra máquina y el puerto a través del cual se van a comunicar. Los puertos 0 a 1023 están reservados.

Establecer la conexión inicial

Servidor El servidor debe estar atento a los clientes que se quieren conectar.

Servidor

Servidor

Multiusuario Cada usuario se maneja en un hilo aparte.

Comunicación con el cliente

Protocolo de comunicación Establece las reglas de comunicación entre el cliente y el servidor. ¿Quién habla primero? ¿Qué comandos puede recibir el servidor? ¿Qué acciones se realizan en cada comando?

Protocolo: Ejemplo Registrar usuario Opción A: 1. Envío mensaje al servidor 2. Envío todos los datos en un orden específico. Opción B: 1. Envío comando al servidor 2. El servidor pide de uno a uno los datos.

Preguntas ¿Cuáles son los pasos para iniciar un nuevo hilo de ejecución y el código en java? ¿Cómo puedo decirle a un hilo que espere un segundo? ¿Qué es un socket? ¿Cómo se crea? ¿Qué clase necesito para leer de un stream de un socket? ¿Para escribir en el stream del socket? Escriba el código en java para crearlas.

Taller Descargar los ejemplos del aula virtual, correrlos y entenderlos. El ejemplo de hilos tiene partes de código comentadas, correrlo con el código comentado y no comentado. Realizar el taller 9 del aula virtual El jueves hay quiz!