Pas de Missatges. El servidor (àrbitre) crea un thread per a cada client, amb la següent lògica.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Pas de Missatges. El servidor (àrbitre) crea un thread per a cada client, amb la següent lògica."

Transcripción

1 Pas de Missatges 1 Exclusió mútua distribuïda Es vol programar el problema d exclusió mútua distribuït amb control d accés centralitzat en un àrbitre concurrent. L arquitectura i lògica del sistema és tal i com segueix. Hi ha N processos (clients) que volen executar una part de codi propi en exclusió mútua. Per fer-ho el protocol que utilitzen és el següent: out.println("enter");//demanar accés en EM a la zona crítica. in.readline(); //Esperar confirmació del servidor. // ZC //Executar la zona crítica. out.println("exit"); //Avisar al servidor que han finalitzat //la zona crítica. on out és de tipus PrintWriter i in de tipus BufferedReader. El servidor (àrbitre) crea un thread per a cada client, amb la següent lògica. in.readline(); // Esperar petició del client (llegeix "enter") synchronized(mutex) { //EM per autoritzar al client. out.println("ok"); //Autoritza al client. // el Client executa ZC in.readline(); //Esperar que el client //acabi (llegeix "exit"). S ha de fer S ha d implementar aquesta solució. Com es podria fer una traça que permetés comprovar a cada client que està executant la zona crítica realment en exclusió mútua? Solucionar el problema del comptador (memòria compartida) de la pràctica 1.2 suposant aquest entorn. Suposarem que el valor de la variable compartida es passa als clients per pas de missatges. 1

2 2 Semàfor distribuït Una possible implementació d un semàfor distribuït consisteix en fer servir una col lecció de processos Semafor amb identificadors ID=0..N-1, un per a cada procés client que vol accedir al semàfor. Els processos Semafor conformen un anell i es passen (0 1, 1 2,..., N-1 0) el valor del semàfor per aconseguir implementar el mecanisme distribuït. El procés 0 té un comportament lleugerament diferent ja que és l iniciador del sistema. L esquelet de la classe Semafor podria ser el següent: public class Semafor extends Thread { int ID; Socket s_out, s_in; ServerSocket ss; DataOutputStream out; DataInputStream in; boolean solicitud; // Operació P ó V en curs int s; public Semafor(int ID, int init_s) { //ID és l identificador del procés //init_s és el valor inicial del semàfor. public void run() { //El semàfor amb ID=0 es comporta una mica diferent, //però en general, la lògica és la següent: //Repetir indefinidament: //Obtenir el valor del semàfor. //Si hi ha sol licitud d operació, //Avisar i esperar final d operació. //enviar el valor del semàfor (al seg node de l anell). public synchronized void P() { //Avisar que es vol fer una operació. //Esperar permís per continuar. //Si el valor del semàfor val 0 aturar al procés client, //però notem que el valor del semàfor ha de seguir circulant //per l anell de nodes. //Si el valor del semàfor >0 decrementar el valor del semàfor. //Avisar de que ja s ha completat l operació. 2

3 public synchronized void V() { //Avisar que es vol fer una operació. //Esperar permís per continuar. //Incrementar el valor del semàfor. //Avisar de que ja s ha completat l operació. S ha de fer S ha d implementar aquesta solució. Solucionar el problema de memòria compartida de la pràctica 1.2 considerant aquest entorn. Suposarem que la variable compartida està en un altre procés, i que el valor de la variable compartida es passa als clients per pas de missatges. 3 Symetric Socket Es vol fer servir un model simètric de connexions punt a punt amb un thread a cada extrem. Un thread defineix un socket amb la funció Socket connect(string conn name) que retorna un socket de la connexió de nom conn name connectat amb el socket de l altre extrem. Fins que no es connecta, la funció bloqueja el thread. Lògicament, un extrem haura de ser el socket actiu (Socket) i l altre s obtindrà a partir del socket passiu (ServerSocket). Per a la implementació del model es fa servir un thread servidor amb nom SERVERNAME i port SERVERPORT públics que manté un conjunt de parells (conn name, (peername, peerport)) formats per el nom de la connexió i el nom i port del host de l altre extrem (peer). Aquest conjunt és una taula de hash. Si l extrem és el socket passiu, solicita al sistema la obtenció d un port no usat. Aixó es fa passant 0 al constructor ServerSocket i obtenint el port assignat amb getlocalport. També obté el nom de host amb gethostname. Es demana: 1. La programació de connect. in i out són els streams d Input i Output de sock. str és un String local de connect. 2. La programació del Servidor que dialoga amb connect. in i out són els streams d Input i Output de sock. ht és la taula de hash. Peer és la classe formada per el parell (peername, peerport). 3

4 4 Emulador monitors Un monitor actiu utilitza el mecanisme de pas de missatges per emular el funcionament dels monitors convencionals de memòria compartida. En aquest cas el monitor es converteix en un procés més de forma que l entrada a monitor, sortida de monitor i l equivalent al wait() i notify() són el resultat de l intercanvi de missatges entre la resta de processos i el procés monitor. Es demana implementar el problema de productors consumidors, utilitzant un monitor amb aquestes característiques. 5 Buffer de missatges Es vol realitzar un servidor que faci les funcions d un buffer de missatges amb capacitat ilimitada, al qual els clients interaccionen amb pas de missatges. El codi principal del servidor és el següent: public class Server { static Semaphore mutex; static Shared shared; public static void main(string[] args) { int port = Integer.parseInt(args[0]); mutex = new Semaphore(1); shared = new Shared(); try { ServerSocket srv_sock = new ServerSocket(port); while (true) { Socket conn_sock = srv_sock.accept(); new Service(conn_sock).start(); catch (IOException e) { System.out.println(e); class Service extends Thread { BufferedReader input; PrintWriter output; Service(Socket sock) throws IOException { 4

5 input = new BufferedReader( new InputStreamReader( sock.getinputstream() ) ); output=new PrintWriter(sock.getOutputStream(),true); public void run() { try { while (true) { String msg = input.readline(); if (msg == null) break; if (msg.equals("put")) { msg = input.readline(); Server.mutex.P(); Server.shared.process_put(this,msg); Server.mutex.V(); else if (msg.equals("get")) { Server.mutex.P(); Server.shared.process_get(this); Server.mutex.V(); else if (msg.equals("size")) { Server.mutex.P(); Server.shared.process_size(this); Server.mutex.V(); catch (IOException e) { System.out.println(e); Es demana realitzar: 1. El codi de la classe Shared. 2. El codi dels clients, on hi haurà d haver el codi corresponent a l operació de posar un missatge en el buffer i el fragment de codi corresponent a l operació de treure un missatge del buffer. 5

6 6 One lane bridge Per un pont poden circular cotxes, modelats com a threads, en un o altre sentit, però no en ambdos sentits a la vegada. Es programa una solució amb pas de missatges pura amb clients remots, proxies o agents en l extrem servidor i monitor actiu que fa el control d accés. Els clients realitzen l operació enter(id, turn) per solicitar l entrada del cotxe id al pont en sentit turn i exit() per sortir del pont. 7 Trobar el màxim En un entorn distribuït hi ha N processos que es comuniquen per pas de missatges. Cada procés te un identificador diferent, ID (amb valors de 0 a N-1), i un número enter meu val (amb un valor positiu qualsevol). Es vol construir una aplicació per aconseguir que tots els processos puguin conèixer el valor (meu val) més gran. Per fer-ho es considera un anell (virtual), on el procés ID rep el màxim provisional, calculat per el procés ID-1, compara aquest valor amb el seu valor, calcula el màxim dels dos valors i l envia al procés següent, ID+1 mod N. Després d una volta, el primer procés (ID=0) ja rep el màxim. Finalment es fa una segona volta on aquest màxim es passa a tots els processos. 8 Monitor SC Implementar una versió amb pas de missatges i coordinador mono-thread dels Monitors Signal and Continue amb una única variable de condició. Els usuaris del monitor fan servir la classe Helper per accedir al coordinador: public class Helper { private Socket sk; private DataOutputStream out; private DataInputStream in; private void conecta() { sk = new Socket(host_Coordinador, 2000); out = new DataOutputStream(s.getOutputStream()); in = new DataInputStream(s.getInputStream()); private void desconecta() { out.close(); in.close(); sk.close(); public void mon_enter() { 6

7 out.writechar(mon_enter); in.readchar(); des public void mon_exit() { out.writechar(mon_exit); des public void wait() { out.writechar(wait); in.readchar(); des public void notify() { out.writechar(notify); des És demana implementar la classe del coordinador mono-thread. 9 Barreres Implementar una barrera utilitzant pas de missatges. 10 Lamport Es vol implementar l algorisme d exclusió mútua de Lamport (de la panaderia) de forma distribuïda fent servir pas de missatges. Cada node opera amb dos pools de connexions per enviar sol licitud/visti-plau (ack) d entrada a ZC i dos connexions més per rebre les sol licituds/visti-plaus (ack) de la resta de nodes. Per fer la sol licitud d entrada ZC s envia un missatge amb el següent numero de Tanda i l identificador del node a la resta de nodes. Per enviar el vist-i-plau s envia l identificador del propi node. La implementació proposada opera amb 2 Thread a cada node que executen respectivament els mètodes: entrazc()/surtzc() i gestionasolicituds(). La lògica de funcionament és la de l algorisme de Lamport. 7

Sockets. Los sockets son un mecanismo de comunicación entre procesos que se utiliza en Internet.

Sockets. Los sockets son un mecanismo de comunicación entre procesos que se utiliza en Internet. Sockets La biblioteca estándar de clases de Java nos proporciona todo lo que necesitamos para utilizar sockets en nuestras aplicaciones en el paquete java.net, por lo que tendremos que añadir la siguiente

Más detalles

Arquitecturas cliente/servidor

Arquitecturas cliente/servidor Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor Creación de Sockets Cliente/Servidor Sockets en TCP Sockets en UDP Definición de DAEMON Concepto de Hilos Qué es un socket? Un socket

Más detalles

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA Sockets para servidor Daniel Díaz Sánchez Florina Almenárez Andrés Marín Departamento de Ingeniería Telemática Universidad Carlos

Más detalles

TEORIA I QÜESTIONARIS

TEORIA I QÜESTIONARIS ENGRANATGES Introducció Funcionament Velocitat TEORIA I QÜESTIONARIS Júlia Ahmad Tarrés 4t d ESO Tecnologia Professor Miquel Estruch Curs 2012-13 3r Trimestre 13 de maig de 2013 Escola Paidos 1. INTRODUCCIÓ

Más detalles

MONITORES EN JAVA. Antonio Tomeu Control de la Concurrencia en Java: API Estándar

MONITORES EN JAVA. Antonio Tomeu Control de la Concurrencia en Java: API Estándar MONITORES EN JAVA Un monitor es un objeto que implementa acceso bajo e.m. a todos sus métodos, y provee sincronización En Java, son objetos de una clase cuyos métodos públicos son todos synchronized Un

Más detalles

Federico Peinado www.federicopeinado.es

Federico Peinado www.federicopeinado.es Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es

Más detalles

Sockets en Java. Prof. Wílmer Pereira Universidad Simón Bolívar

Sockets en Java. Prof. Wílmer Pereira Universidad Simón Bolívar Sockets en Java Prof. Wílmer Pereira Universidad Simón Bolívar Arquitectura Cliente/Servidor Cliente Request Reply Servidor Cómo permitir comunicación entre objetos situados en diferentes máquinas? Sockets

Más detalles

PROGRAMACION DISTRIBUIDA

PROGRAMACION DISTRIBUIDA PROGRAMACION DISTRIBUIDA Distribución basada en el patrón proxy-servant Héctor Pérez 2 Distribución de aplicaciones basadas en objetos Objetivo: rediseño de una aplicación orientada a objetos para ser

Más detalles

Las clases Java Socket y ServerSocket

Las clases Java Socket y ServerSocket Las clases Java Socket y ServerSocket Lenguajes y Herramientas de Programación Universidad de La Laguna Programa de Doctorado de Física e Informática Escuela Técnica Superior Superior de Ingeniería Informática

Más detalles

EJEMPLOS PROGRAMACIÓN SOCKET - JAVA

EJEMPLOS PROGRAMACIÓN SOCKET - JAVA EJEMPLOS PROGRAMACIÓN SOCKET - JAVA 1.- Calcular el Cuadrado TCP En esta aplicación el cliente se conecta al servidor, para ello debe introducir la dirección IP del servidor y los parámetros sobre los

Más detalles

Tipos DataInputStream/DataOutputStream: L/E de datos de tipo simple y Cadenas (Strings) ObjectInputStream/ObjectOutputStream: para persistencia de obj

Tipos DataInputStream/DataOutputStream: L/E de datos de tipo simple y Cadenas (Strings) ObjectInputStream/ObjectOutputStream: para persistencia de obj Programación Orientada a Objetos en JAVA Angela C. Carrillo Ramos Manejo de Streams Un Stream representa un flujo de datos, o un canal de comunicación con un escritor o un lector. Tipos: InputStream/OutputStream:

Más detalles

Cliente/Servidor en Java

Cliente/Servidor en Java Cliente/Servidor en Java Grupo ARCOS Desarrollo de Aplicaciones Distribuidas Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Introducción: 1. Paradigma cliente/servidor 2. Entorno

Más detalles

Breu tutorial actualització de dades ATRI. El Departament al portal ATRI i no directament a les persones afectades

Breu tutorial actualització de dades ATRI. El Departament al portal ATRI i no directament a les persones afectades Breu tutorial actualització de dades ATRI El Departament al portal ATRI i no directament a les persones afectades El Departament informa al portal ATRI (i no directament a les persones afectades): El no

Más detalles

TEMA 5: Control de la Concurrencia en Java (API Estándar)

TEMA 5: Control de la Concurrencia en Java (API Estándar) 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 detalles

Programación Concurrente en Java

Programación Concurrente en Java Hebras y monitores Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid 21 de marzo de 2006 Threads Extendiendo la clase java.lang.thread. public class PrThread extends

Más detalles

TEMA 6: API Java para Concurrencia de Alto Nivel

TEMA 6: API Java para Concurrencia de Alto Nivel TEMA 6: API Java para Concurrencia de Alto Nivel CONTENIDO API Java 5 de Control de la Concurrencia Clases para Gestión de Variables Atómicas Clase java.concurrent.util.concurrent.semaphore Clase java.concurrent.util.concurrent.cyclicbarrier

Más detalles

Sockets en Java. La Creatividad proviene de un conflicto de ideas. Uso de Sockets

Sockets en Java. La Creatividad proviene de un conflicto de ideas. Uso de Sockets Uso de Sockets Este pequeño manual, le muestra cómo funciona el Socket Server para crear un pequeño servidor web que envía una página HTML a cualquier Navegador Web como Firefox, Internet Explorer, etc..

Más detalles

Posibles implementaciones

Posibles implementaciones Rafa Páez Jaime Ampliación de redes Universidad de Valencia 20 de Noviembre de 2010 Este trabajo consiste en una experiencia personal, concretamente en una práctica que tuve que realizar en la asignatura

Más detalles

Benemérita Universidad Autónoma del Estado de Puebla

Benemérita Universidad Autónoma del Estado de Puebla Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 5 Profr: María del Carmen Cerón Garnica Alumno: Roberto

Más detalles

Examen de Redes - ETSIA 9 de septiembre - Primer Parcial

Examen de Redes - ETSIA 9 de septiembre - Primer Parcial Apellidos, Nombre: Grupo: Examen de Redes - ETSIA 9 de septiembre - Primer Parcial AUTORIZO a los profesores de la asignatura Redes de 2º curso de la ETSIA a publicar las calificaciones de los exámenes

Más detalles

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream].

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Ficheros y streams Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Los streams pueden ser de entrada () de salida (). Los ficheros pueden almacenar

Más detalles

1 SOCKETS EN JAVA. Sistemas Distribuidos::Sockets en Java EUI-SG/INFOR.UVA.ES 1

1 SOCKETS EN JAVA. Sistemas Distribuidos::Sockets en Java EUI-SG/INFOR.UVA.ES 1 1 SOCKETS EN JAVA La programación en red siempre ha sido dificultosa, el programador debía de conocer la mayoría de los detalles de la red, incluyendo el hardware utilizado, los distintos niveles en que

Más detalles

Java: comunicación en Internet. Modem. Satelite UMTS W-LAN. Láser. Fibra óptica. Conceptos básicos

Java: comunicación en Internet. Modem. Satelite UMTS W-LAN. Láser. Fibra óptica. Conceptos básicos Conceptos básicos Los computadores conectados a Internet se comunican entre ellos usando protocolos: Java: comunicación en Internet Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad

Más detalles

Universidad de Cantabria corcuerp@unican.es

Universidad de Cantabria corcuerp@unican.es Networking Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender los conceptos básicos de redes y su implementación en Java

Más detalles

Multitarea en Java. Rafa Caballero - UCM

Multitarea en Java. Rafa Caballero - UCM Multitarea en Java Rafa Caballero - UCM Programa Monoproceso (monotarea) En cada momento hay una única instrucción ejecutándose Se dice que el programa es monotarea, o monoproceso o monohebra (o single

Más detalles

Servei d Atenció al Client. Requisits tècnics per fer correctament la transmissió de fitxers

Servei d Atenció al Client. Requisits tècnics per fer correctament la transmissió de fitxers Requisits tècnics per fer correctament la transmissió de fitxers Pàgina 1 14/04/2004 ÍNDEX 1. Introducció...3 2. Requeriments tècnics...3 3. Navegació amb Internet Explorer...3 3.1. Situació inicial...

Más detalles

MANUAL TÉCNICO DEL PROXY UTN

MANUAL TÉCNICO DEL PROXY UTN MANUAL TÉCNICO DEL PROXY UTN El Proxy UTN fue desarrollado en Java con el JDK1.1.8, se emplearon los paquetes: java.net.- Para el manejo de comunicaciones de red. java.io.- Para manejo de entrada/salida.

Más detalles

Programa Grumet Èxit Fitxes complementàries

Programa Grumet Èxit Fitxes complementàries MESURA DE DENSITATS DE SÒLIDS I LÍQUIDS Activitat 1. a) Digueu el volum aproximat dels següents recipients: telèfon mòbil, un cotxe i una iogurt. Teniu en compte que un brik de llet té un volum de 1000cm3.

Más detalles

DIVISIBILITAT. Amb els nombres 5, 7 i 35 podem escriure diverses expressions matemàtiques: 5x7= 35 35 5 35

DIVISIBILITAT. Amb els nombres 5, 7 i 35 podem escriure diverses expressions matemàtiques: 5x7= 35 35 5 35 ESO Divisibilitat 1 ESO Divisibilitat 2 A. El significat de les paraules. DIVISIBILITAT Amb els nombres 5, 7 i 35 podem escriure diverses expressions matemàtiques: 5x7= 35 35 = 7 5 35 = 5 7 35 7 0 5 35

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

Práctica 2: Java Remote Method Invocation (RMI)

Práctica 2: Java Remote Method Invocation (RMI) Práctica 2: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es conocer un poco más sobre el paradigma de objetos remotos. La idea principal es

Más detalles

PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA

PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA Qué es la arquitectura cliente servidor? La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten

Más detalles

Sockets. Introducción. Las redes de computadoras permiten al usuario. Curso Propedéutico Maestría en Ciencias de la Computación BUAP

Sockets. Introducción. Las redes de computadoras permiten al usuario. Curso Propedéutico Maestría en Ciencias de la Computación BUAP Sockets Curso Propedéutico Maestría en Ciencias de la Computación BUAP Introducción Las redes de computadoras permiten al usuario Acceder a datos remotos Procesamiento remoto Recursos remotos Dr. Ivan

Más detalles

Java: Programación Multithread

Java: Programación Multithread Qué es un thread? Java: Programación Multithread Hasta el momento hemos desarrollado programas secuenciales con un único thread: en cualquier instante durante la ejecución de un programa hay un único punto

Más detalles

3. DIAPOSITIVA D ORGANIGRAMA I DIAGRAMA

3. DIAPOSITIVA D ORGANIGRAMA I DIAGRAMA 1 3. DIAPOSITIVA D ORGANIGRAMA I DIAGRAMA Ms PowerPoint permet inserir, dins la presentació, objectes organigrama i diagrames. Els primers, poden resultar molt útils si es necessita presentar gràficament

Más detalles

Clases Java para comunicaciones en red

Clases Java para comunicaciones en red Clases Java para comunicaciones en red Lenguajes y Herramientas de Programación Universidad de La Laguna Programa de Doctorado de Física e Informática Escuela Técnica Superior Superior de Ingeniería Informática

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4. 3.4.1.- Creación de Streams de Entrada...7

1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4. 3.4.1.- Creación de Streams de Entrada...7 1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4 3.1.- INTRODUCCION... 4 3.2.- MODELO DE COMUNICACIONES CON JAVA...5 3.3.- APERTURA DE SOCKETS... 6 3.4.- CREACIÓN DE STREAMS...

Más detalles

Àmbit de les matemàtiques, de la ciència i de la tecnologia M14 Operacions numèriques UNITAT 2 LES FRACCIONS

Àmbit de les matemàtiques, de la ciència i de la tecnologia M14 Operacions numèriques UNITAT 2 LES FRACCIONS M1 Operacions numèriques Unitat Les fraccions UNITAT LES FRACCIONS 1 M1 Operacions numèriques Unitat Les fraccions 1. Concepte de fracció La fracció es representa per dos nombres enters que s anomenen

Más detalles

Luego lleve el cliente a otra máquina y ejecute desde ahí usando el nombre de la máquina del servidor.

Luego lleve el cliente a otra máquina y ejecute desde ahí usando el nombre de la máquina del servidor. Ejemplos de sockets Los sockets son un mecanismo de comunicación entre procesos de muy bajo nivel, donde el usuario tiene que hacer muchas cosas, pero que siguen siendo muy importantes. En esta práctica

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Práctica 5: Servidor web concurrente en Java

Práctica 5: Servidor web concurrente en Java Práctica 5: Servidor web concurrente en Java Esta práctica pretende familiarizar al alumno con la programación de servidores que emplean sockets TCP. Para ello partiremos del servidor web básico visto

Más detalles

MICROSOFT OFFICE OUTLOOK 2003

MICROSOFT OFFICE OUTLOOK 2003 MICROSOFT OFFICE OUTLOOK 2003 Configuració d un compte amb Microsoft Exchange Servidor de Microsoft Exchange: servei de correu electrònic basat en Microsoft Exchange on les característiques més importants

Más detalles

Java nos ofrece la clase Thread y la interfaz Runable que permiten que varios procesos estén funcionando de forma concurrente.

Java nos ofrece la clase Thread y la interfaz Runable que permiten que varios procesos estén funcionando de forma concurrente. Threads (hilos) Java nos ofrece la clase Thread y la interfaz Runable que permiten que varios procesos estén funcionando de forma concurrente. Conceptos: Proceso (thread o hilo): es un programa en ejecución

Más detalles

Programación Concurrente en Java

Programación Concurrente en Java Programación Concurrente en Java Curso 2006-2007 9/2/2007 Prog. Distribuida Bajo Internet Qué es la Programación Concurrente? Diseño basado en varias actividades independientes Conceptualmente se ejecutan

Más detalles

Práctica 4: Java Remote Method Invocation (RMI)

Práctica 4: Java Remote Method Invocation (RMI) Práctica 4: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción Hasta el momento hemos visto aplicaciones remotas donde un cliente utiliza un objeto remoto que ha sido publicado

Más detalles

Threads. La plataforma JAVA soporta programas multhreading a través del lenguaje, de librerías y del sistema de ejecución. Dos.

Threads. La plataforma JAVA soporta programas multhreading a través del lenguaje, de librerías y del sistema de ejecución. Dos. Threads Un thread es un flujo de control secuencial dentro de un programa. A los threads también se los conoce como procesos livianos ó contextos de ejecución. Un thread es similar a un programa secuencial:

Más detalles

Programación Orientada a Eventos

Programación Orientada a Eventos Programación Orientada a Eventos Técnicas de Programación Santiago Pavón V:2012.03.13 Programas Secuénciales El flujo de ejecución del programa sigue la secuencia de sentencias que lo forman. El estado

Más detalles

CLASE SOCKET. 1. Crear un nuevo socket usando un constructor de la clase. 2. El socket trata de conectarse al host remoto.

CLASE SOCKET. 1. Crear un nuevo socket usando un constructor de la clase. 2. El socket trata de conectarse al host remoto. CLASE SOCKET 1. Crear un nuevo socket usando un constructor de la clase. 2. El socket trata de conectarse al host remoto. 3. Una vez establecida la conexión, tanto el host local como el remoto obtienen

Más detalles

PROGRAMACIÓN EN JAVA

PROGRAMACIÓN EN JAVA SISTEMAS INFORMÁTICOS INDUSTRIALES curso 2007-2008 PROGRAMACIÓN EN JAVA PRÁCTICA 3: Comunicación entre tareas. Modelo productor / consumidor. Objetivos Implementar una aplicación en Java en la que existan

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Entrada y Salida con Java

Entrada y Salida con Java Entrada y Salida con Java Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid E/S con flujos (streams) En Java

Más detalles

Capítulo 5. Programación de aplicaciones de red

Capítulo 5. Programación de aplicaciones de red Capítulo 5. Programación de aplicaciones de red Redes de Ordenadores 2º Grado en Ingeniería en Tecnologías de Telecomunicación 1 Área de Ingeniería Telemática Capítulo 5: Programación de aplicaciones de

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

Más detalles

Veure que tot nombre cub s obté com a suma de senars consecutius.

Veure que tot nombre cub s obté com a suma de senars consecutius. Mòdul Cubs i nombres senars Edat mínima recomanada A partir de 1er d ESO, tot i que alguns conceptes relacionats amb el mòdul es poden introduir al cicle superior de primària. Descripció del material 15

Más detalles

4.7. Lleis de Newton (relacionen la força i el moviment)

4.7. Lleis de Newton (relacionen la força i el moviment) D21 4.7. Lleis de ewton (relacionen la força i el moviment) - Primera Llei de ewton o Llei d inèrcia QUÈ ÉS LA IÈRCIA? La inèrcia és la tendència que tenen el cossos a mantenirse en repòs o en MRU. Dit

Más detalles

Guia de l usuari de la tecnologia NFC. Pagament contactless amb mòbil

Guia de l usuari de la tecnologia NFC. Pagament contactless amb mòbil Pagament contactless amb mòbil Índex 1. Què és el pagament contactless a través del mòbil 2. Què es necessita per comprar amb el mòbil 3. Com es gestiona una Targeta Mòbil 4. Com es compra amb el mòbil

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

Java RMI. las RPC de Java. Parte I. Luis Fernando Llana Díaz. Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java RMI. las RPC de Java. Parte I. Luis Fernando Llana Díaz. Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid las RPC de Java. Parte I Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid de marzo de 006 RMI y RPC RPC: Remote Procedure Call. RMI y RPC RPC: Remote Procedure Call.

Más detalles

Información de la lectura en un programa.

Información de la lectura en un programa. I/O Cualquier programa realizado en Java que necesite llevar a cabo una operación de I/O lo hará a través de un stream. Un stream, cuya traducción literal es "flujo", es una abstracción de todo aquello

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Introduciendo datos desde el

Introduciendo datos desde el Introduciendo datos desde el teclado Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Crear programas interactivos que lean datos

Más detalles

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS 1 NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS Árboles Binarios y Árboles Binarios Ordenados 2 Contenido Árboles binarios Iteradores Árboles binarios ordenados 3 Árboles binarios Algunas definiciones para

Más detalles

Tutorial amplificador classe A

Tutorial amplificador classe A CFGM d Instal lacions elèctriques i automàtiques M9 Electrònica UF2: Electrònica analògica Tutorial amplificador classe A Autor: Jesús Martin (Curs 2012-13 / S1) Introducció Un amplificador és un aparell

Más detalles

DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA

DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA José Luis Pastrana Brincones (pastrana@lcc.uma.es) Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga

Más detalles

Universidad Carlos III de Madrid Ingeniería de Telecomunicación. Examen de Programación Febrero 2007. Parte de Ejercicios

Universidad Carlos III de Madrid Ingeniería de Telecomunicación. Examen de Programación Febrero 2007. Parte de Ejercicios Universidad Carlos III de Madrid Ingeniería de Telecomunicación Examen de Programación Febrero 2007 Parte de Ejercicios Responder y entregar cada ejercicio en hojas separadas Numerar todas las hojas de

Más detalles

1. Visión general de RMI

1. Visión general de RMI 1. Visión general de RMI Java RMI permite al programador ejecutar métodos de objetos remotos utilizando la misma semántica que si fueran invocaciones locales (Véase Figura 1). Máquina Local (Cliente) Máquina

Más detalles

/) 0! () 5!2 /)( 1! "!"# 2 ()/ $% $!" !! " #!!!$!!% &!!' ' ' "! ()()/ & $!" ()()(' (!(

/) 0! () 5!2 /)( 1! !# 2 ()/ $% $! !!  #!!!$!!% &!!' ' ' ! ()()/ & $! ()()(' (!( !! " #!!!$!!%!!' ' ' "! ) *)+#)))!(---) ) (. /) 0! /)/#"!"# /)( 1! "!"# /)3 1' 40 () 5! ()/ $% $!" ()(4 ()()/ $!" ()()(' (!( package ejemplos.tema.gestiondefigurasinexcepciones; public class TestituacionesInesperadas

Más detalles

UNITAT 3 OPERACIONS AMB FRACCIONS

UNITAT 3 OPERACIONS AMB FRACCIONS M Operacions numèriques Unitat Operacions amb fraccions UNITAT OPERACIONS AMB FRACCIONS M Operacions numèriques Unitat Operacions amb fraccions Què treballaràs? En acabar la unitat has de ser capaç de

Más detalles

Benemérita Universidad Autónoma del Estado de Puebla

Benemérita Universidad Autónoma del Estado de Puebla Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 4 Profr: María del Carmen Cerón Garnica Alumno: Roberto

Más detalles

1 HILOS (THREADS) EN JAVA

1 HILOS (THREADS) EN JAVA 1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los

Más detalles

Seguretat informàtica

Seguretat informàtica Informàtica i comunicacions Seguretat informàtica CFGM.SMX.M06/0.09 CFGM - Sistemes microinformàtics i xarxes Generalitat de Catalunya Departament d Ensenyament Aquesta col lecció ha estat dissenyada

Más detalles

Sistemas Distribuidos (Capítulo 8 de Distributed Computing de M. L. Liu)

Sistemas Distribuidos (Capítulo 8 de Distributed Computing de M. L. Liu) Devoluciones de llamada en RMI (Callbacks) Sistemas Distribuidos (Capítulo 8 de Distributed Computing de M. L. Liu) Devolución de llamadas, introducción Cliente-servidor clásico servidorpasivo Tipo pull.

Más detalles

Tema 4. Excepciones en Java

Tema 4. Excepciones en Java Programación en Java Tema 4. Excepciones en Java Luis Rodríguez Baena Facultad de Informática Excepciones (I) Permiten la captura de errores en tiempo de ejecución. El control de excepciones permite extraer

Más detalles

Guía - Taller # 2 (JAVA)

Guía - Taller # 2 (JAVA) CEET - Distrito Capital Programa de Formación: ADSI 150752 TRIMESTRE VI Conocimiento de Conocimiento: Aplicar diversos estilos de Programación usando herramientas para Desarrollo Web Instructor: Ing. Espec.

Más detalles

dit UPM Tema 3: Concurrencia /ejercicios Análisis y diseño de software José A. Mañas 3.4.2014 http://jungla.dit.upm.es/~pepe/doc/adsw/index.

dit UPM Tema 3: Concurrencia /ejercicios Análisis y diseño de software José A. Mañas 3.4.2014 http://jungla.dit.upm.es/~pepe/doc/adsw/index. Análisis y diseño de software dit UPM Tema 3: Concurrencia /ejercicios José A. Mañas http://jungla.dit.upm.es/~pepe/doc/adsw/index.html 3.4.2014 ejercicio 1.1 programar una cuenta bancaria compartida 1.

Más detalles

Sistemas Distribuidos ITInformática (UVA) César Llamas Bello - Febrero 2003

Sistemas Distribuidos ITInformática (UVA) César Llamas Bello - Febrero 2003 Comunicación entre procesos Sistemas Distribuidos ITInformática (UVA) César Llamas Bello - Febrero 2003 Indice Interfaz de programación para protocolos de Internet Representación externa de datos y empaquetado

Más detalles

Maestría en Ciencias de la Computación

Maestría en Ciencias de la Computación U niversidad Americana de Acapulco Maestría en Ciencias de la Computación Modulo: Protocolo TCP/IP Trabajos: Practica de Protocolos Sockets Exposición del Proyecto Win 2000 Equipo No 2: Diana Nogueda Anaya

Más detalles

Ataques a Servidores Web

Ataques a Servidores Web Ataques a Servidores Web Seguridad en los Sistemas de Información Dra. Maricela Bravo Un servidor es un programa que se ejecuta en computadoras normalmente más poderosas que las computadoras personales.

Más detalles

Hebras y Sincronización en Java

Hebras y Sincronización en Java Hebras y Sincronización en Java Jonathan Makuc http://jmakuc.ublog.cl Noviembre 2008 Tópicos: 1. Introducción a hebras en Java...2 2. Hebras a través del clase Thread...3 3. Hebras a través de la interfaz

Más detalles

Programación Avanzada. Juan Manuel Fernández. Curso 2011 Ejemplo de uso de sockets desde aplicaciones visuales. Usan un hilo en banco.

Programación Avanzada. Juan Manuel Fernández. Curso 2011 Ejemplo de uso de sockets desde aplicaciones visuales. Usan un hilo en banco. Programación Avanzada. Juan Manuel Fernández. Curso 2011 Ejemplo de uso de sockets desde aplicaciones visuales. Usan un hilo en banco. El software que se muestra es un ejemplo sin pulir donde se muestra

Más detalles

Java RMI Remote Method Invocation. Invocación Remota de Métodos en Java

Java RMI Remote Method Invocation. Invocación Remota de Métodos en Java Java RMI Remote Method Invocation Invocación Remota de Métodos en Java Contenido Introducción Implementación Diseño de la interfaz remota. Implementación de la interfaz remota. Obtención de las clases

Más detalles

Desarrollar, usando Java, un cliente básico del protocolo web que permita enviar una solicitud HTTP a un servidor web y procesar la respuesta.

Desarrollar, usando Java, un cliente básico del protocolo web que permita enviar una solicitud HTTP a un servidor web y procesar la respuesta. Cliente HTTP en Java Objetivos Desarrollar, usando Java, un cliente básico del protocolo web que permita enviar una solicitud HTTP a un servidor web y procesar la respuesta. Requerimientos de la aplicación:

Más detalles

Modelo de Objetos Distribuidos

Modelo de Objetos Distribuidos Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo

Más detalles

PROGRAMACION DISTRIBUIDA MobileTracker: Ejemplo de implementación con RMI

PROGRAMACION DISTRIBUIDA MobileTracker: Ejemplo de implementación con RMI PROGRAMACION DISTRIBUIDA MobileTracker: Ejemplo de implementación con RMI Héctor Pérez 2 MobileTracker: Especificación El computador de la torre de control ejecuta el servicio Follower que registra los

Más detalles

EXAMEN PARCIAL 23 de Octubre de 2015 Programación I. Grado en Matemáticas e Informática ETSIINF UPM

EXAMEN PARCIAL 23 de Octubre de 2015 Programación I. Grado en Matemáticas e Informática ETSIINF UPM EXAMEN PARCIAL 23 de Octubre de 2015 Programación I. Grado en Matemáticas e Informática ETSIINF UPM 1. Cuánto valen las siguientes variables (3 Puntos): public class CSeleccion{ int i=13345,j=3, z=2; if

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Estructuras de iteración PRÁCTICA NÚM. [ 6 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

Más detalles

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.

Más detalles

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I

Más detalles

5. Sentencias selectivas o condicionales

5. Sentencias selectivas o condicionales 60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado

Más detalles

11. Algunas clases estándar de Java (II)

11. Algunas clases estándar de Java (II) 122 A. García-Beltrán y J.M. Arranz 11. Algunas clases estándar de Java (II) Objetivos: a) Presentar la clase predefinida en Java para trabajar con arrays b) Interpretar el código fuente de una aplicación

Más detalles

Tema 14: Excepciones

Tema 14: Excepciones Tema 14: Excepciones 0 Excepción Definición Las Excepciones son objetos que definen el estado de la aplicación cuando se producen situaciones anómalas. Son un mecanismo usado por muchos lenguajes de programación

Más detalles

PENJAR FOTOS A INTERNET PICASA

PENJAR FOTOS A INTERNET PICASA PENJAR FOTOS A INTERNET PICASA Penjar fotos a internet. (picasa) 1. INSTAL.LAR EL PROGRAMA PICASA Per descarregar el programa picasa heu d anar a: http://picasa.google.com/intl/ca/ Clicar on diu Baixa

Más detalles

MANUAL DE CONFIGURACIÓ BÀSICA DEL VISAT TELEMÀTIC

MANUAL DE CONFIGURACIÓ BÀSICA DEL VISAT TELEMÀTIC MANUAL DE CONFIGURACIÓ BÀSICA DEL VISAT TELEMÀTIC A) CONFIGURACIÓ EXPLORADOR I SISTEMA OPERATIU B) LLOCS DE CONFIANÇA DEL NAVEGADOR C) RECOMACIONS INTERNET EXPLORER 10 i 11 D) INSTAL LACIÓ DE JAVA E) SIGNATURA

Más detalles

8 Geometria analítica

8 Geometria analítica Geometria analítica INTRODUCCIÓ Els vectors s utilitzen en diverses branques de la física que fan servir magnituds vectorials, per això és important que els alumnes en coneguin els elements i les operacions.

Más detalles

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores El lenguaje de programación Java Programa Java Un programa Java está formado por un conjunto de clases que interactúan entre sí La clase es la unidad básica de programación La ejecución depende de la clase

Más detalles

TÉCNICAS DE PROGRAMACIÓN Lenguaje Java

TÉCNICAS DE PROGRAMACIÓN Lenguaje Java TÉCNICAS DE PROGRAMACIÓN Lenguaje Java Introducción a Java 2 Daniel Finol 1 Otras diferencias entre C y Java No hay typedef ni enum. No existe el operador coma. Pero sí: for(int i = 0, j = 0; condición;

Más detalles

Federico Peinado www.federicopeinado.es

Federico Peinado www.federicopeinado.es Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es

Más detalles