Herramientas Concurrentes en JAVA
|
|
|
- Francisco José Cabrera Reyes
- hace 10 años
- Vistas:
Transcripción
1 Herramientas Concurrentes en JAVA David Jesús Horat Flotats
2 ÍNDICE 1. Introducción n a Java 2. Herramientas Concurrentes en Java 3. Lectores Escritores (2º) 4. Filósofos comensales 5. Chat usando RMI 6. CORBA
3 1. Introducción n a Java Desarrollado por Sun Microsystems, salió a la luz en verano de 1995 Java es portable Independencia de la arquitectura y del Sistema Operativo Se compila en un lenguaje intermedio llamado Byte Code Se interpreta por la Java Virtual Machine (JVM) para adaptarlo a la arquitectura y el Sistema Operativo
4 1. Introducción n a Java Java es orientado a objetos y su sintaxis es muy parecida a C++ No existen: Punteros ni referencias Registros (struct( struct) Definición n de tipos (typedef( typedef) Añade: Recolector de basura (Garbage( Collector)
5 1. Introducción n a Java Soporta las tres características propias del paradigma de la orientación n a objetos Encapsulación Herencia polimorfismo. Soporta hilos y tiene herramientas de concurrencia Actualmente: Versión n estable: J2SE Beta 1: J2SE 1.5.0
6 2. Herramientas Concurrentes 2.1 Introducción n a los hilos 2.2 Synchronized 2.3 Variables condición 2.4 Remote Method Invocation
7 2.1 Introducción n a los hilos Un hilo o proceso ligero es una unidad básica de ejecución, con su propio: contador de programa (PC) registros de CPU pila (stack( stack) Los hilos dentro de una misma aplicación comparten: código y datos recursos del S.O. (ficheros, E/S, etc.)
8 2.1 Introducción n a los hilos Clase Thread Encargada de producir hilos para otras clases Define los métodos m start y stop para lanzar y destruir la ejecución n del hilo Define los métodos m suspend y resume para parar y continuar la ejecución n del hilo Nos hace implementar el método m run,, que es el cuerpo del hilo, por donde empieza a ejecutarse una vez lanzado
9 2.1 Introducción n a los hilos Java no soporta la herencia múltiple m -> > Dificultad en la creación n de hilos - > Solución: Implementar la interfaz Runnable (lo vemos más m s adelante) Interfaz Runnable Nos obliga a implementar el método m run
10 2.1 Introducción n a los hilos Clase Object Hereda los métodos m que nos permiten usar variables condición n que veremos más s adelante: wait notify notifyall
11 2.1 Introducción n a los hilos Ciclo de vida de los hilos
12 2.2 Synchronized Cada objeto dispone de un cerrojo (Lock) Java no provee de instrucciones simples para adquirir y liberar el cerrojo Debemos usar la palabra clave synchronized que veremos a continuación
13 2.2 Synchronized Métodos sincronizados Todos los métodos m sincronizados de una clase lucharán n por un cerrojo: Si el método m es estático, tico, el cerrojo será el de la clase Si el método m no es estático, tico, el cerrojo será del objeto this,, la instancia de la clase
14 2.2 Synchronized Bloques de sincronización Para luchar por el cerrojo de un objeto que no es la clase actual, podemos usar: synchronized (objeto) { Código C } El cerrojo por el que luchan en ambos casos es el del objeto
15 2.3 Variables condición La clase Object (de la que heredan casi todas las clases), nos provee de tres métodos m que actúan an como una variable condición Para ejecutar algún n método m de sincronización n sobre el objeto, el llamante debe poseer su cerrojo
16 wait () 2.3 Variables condición Provoca que el hilo actual se bloquee a la espera de un notify,, liberando el cerrojo wait (long timeout) Provoca que el hilo actual se bloquee liberando el cerrojo a la espera de un notify o de que pase el tiempo especificado en el parámetro en milisegundos
17 2.3 Variables condición notify () Despierta un hilo y se pone a luchar por el cerrojo En el caso de haber varios hilos esperando, se despierta a uno aleatoriamente El llamante no libera el cerrojo notifyall () Despierta a todos los hilos y se ponen a luchar por el cerrojo
18 2.4 Remote Method Invocation Introducción n a RMI Uso de interfaces Configuración n del servidor Configuración n del cliente
19 2.4.1 Introducción n a RMI Método de Invocación n Remota Servicios en internet Alternativas: CORBA (estándar independiente) DCOM (Microsoft)
20 2.4.1 Introducción n a RMI Ventajas: Abstracción n de la interconexión Simplicidad y versatilidad Inconvenientes: Sólo para Java Necesidad de envoltorios para usarse con otro tipo de lenguajes
21 2.4.2 Uso de interfaces Uso intensivo de Interfaces Enmascaramiento de la implementación del servidor mediante interfaces La interfaz remota debe ser públicap La interfaz remota debe extender la interfaz java.rmi.remote Cada método m de la interfaz remota debe declarar java.rmi.remoteexception
22 2.4.2 Uso de interfaces Implementar la interfaz remota El servidor debe contener una clase que extienda UnicastRemoteObject e implementar la interfaz remota Dicha clase debe implementar la interfaz remota que vayamos a usar Puede tener métodos m extras, pero el cliente sólo s ve la interfaz El constructor debe declarar RemoteException aunque esté vacío
23 2.4.3 Configuración n del servidor Para poner en marcha un servicio Crear un gestor de seguridad que soporte RMI RMISecurityManager Usar políticas de java mediante un fichero Crear la instancia del objeto remoto Registrar el objeto remoto para que sea accesible Naming.bind( rmi rmi://pepe/chat )
24 2.4.3 Configuración n del servidor Configurar el registro (rmiregistry( rmiregistry) Encargado de RMI Se ubica en la IP del ordenador Puerto por defecto: 1099 Lanzar el servicio Windows: start rmiregistry Unix: rmiregistry &
25 2.4.3 Configuración n del servidor Creación n de stubs y skeleton Necesarios para que RMI funcione Proporcionan las operaciones de red Cualquier objeto remoto debe serializarse Serializan y deserializan Creamos los stubs y skeleton usando el programa rmic usando las clases compiladas
26 2.4.4 Configuración n del cliente Utilizar el objeto remoto Capturar la interfaz remota del servidor Declaramos una interfaz Buscamos el objeto remoto Pasamos la referencia a nuestra interfaz Ejemplo: ICHatServer server = (IChatServer( IChatServer) java.rmi.naming.lookup(" ("rmi://david/chatserver");
27 3. Lectores Escritores (2º) 3.1 Descripción 3.2 Planteamiento inicial 3.3 Clase Tiempo 3.4 Implementación n general 3.5 Solución n Solución n 2
28 3.1 Descripción Dado un recurso compartido, varios procesos intentarán n acceder a él. Si los procesos desean leerlo, habrá un número n máximo de procesos leyendo el recurso simultáneamente. Sin embargo, si un proceso desea escribir en el recurso, deberá tenerlo en exclusión mútua. Además, si hay escritores en la cola de espera, estos tienen preferencia sobre los lectores.
29 3.2 Planteamiento inicial Separar los problemas de concurrencia de otros problemas programáticos Dividir los problemas de concurrencia Preprotocolo de lectura (IniLec( IniLec) Postprotocolo de lectura (FinLec( FinLec) Preprotocolo de escritura (IniEsc( IniEsc) Postprotocolo de escritura (FinEsc( FinEsc)
30 3.3 Clase Tiempo Clase propia para reusar y heredar Métodos long TProg(): Devuelve el tiempo en ms que lleva funcionando el programa long siesta(long): Detiene el hilo durante el tiempo especificado en el parámetro random(int): Devuelve un número n aleatorio entre [0, int)
31 3.4 Implementación n general Clase LE2 Run: : Lanza lectores y escritores concurrentemente Clases Lector y Escritor Constructor: Se le pasa su identificador, el tiempo máximo m (Tmax( Tmax) ) que usará para dormir o leer y el recurso Run: Duerme durante [0, Tmax] Lee durante [0, Tmax]
32 3.4 Implementación n general Clase Recurso IniLec(Id): Inicia la lectura de Id FinLec(Id): Finaliza la lectura de Id IniEsc(Id): Inicia la escritura de Id FinEsc(Id): Finaliza la escritura de Id
33 3.5 Solución n 1 Monitores en Java Métodos sincronizados (cerrojo de la clase) Variable condición n de la clase
34 3.6 Solución n 2 Monitores en Java Métodos sincronizados para las variables en exclusión Vector de objetos para usar variables condición n independientes y mejorar la eficiencia Cuidado: IniLec e IniEsc no están sincronizados con la clase! Solución: Funciones privadas sincronizadas
35 4. Filósofos comensales 4.1 Descripción 4.2 Planteamiento inicial 4.3 Implementación n general 4.4 Solución
36 4.1 Descripción N filósofos, sentados en una mesa redonda disponen de N palillos como se ve en la figura. Si cada filósofo entra en un ciclo infinito en donde piensa durante un tiempo aleatorio y después s come durante otro tiempo aleatorio, conseguir que todos los filósofos coman usando 2 palillos cuando lo necesiten y su espera sea finita.
37 NFil = Descripción
38 4.2 Planteamiento inicial Separar los problemas de concurrencia de otros problemas programáticos Dividir los problemas de concurrencia Métodos propios del problema CogerCubiertos (Id) DejarCubiertos (Id) Funciones privadas para resolver problemas concretos y repetitivos
39 4.3 Implementación n general Clase FilosofosComensales Lanza todos los filósofos concurrentemente Clase Filosofo Constructor: Se le pasa su identificador, el tiempo máximo m (Tmax( Tmax) ) que usará para pensar o comer y la Mesa Métodos Piensa y Come Run: Piensa durante [0, Tmax] Come durante [0, Tmax]
40 4.3 Implementación n general Clase Mesa Constructor (NFil( NFil) NFil = Número N de filósofos a la mesa CogerCubiertos (Id) DejarCubiertos (Id)
41 Monitores en Java 4.4 Solución Métodos sincronizados para las variables en exclusión Vector de objetos para usar variables condición independientes y mejorar la eficiencia Funciones Der (Id): Devuelve el filósofo a la derecha de Id Izq (Id): Devuelve el filósofo a la izquierda de Id Test (Id): Intenta poner a comer al filósofo Id Cuidado: CogerCubiertos no es sincronizado!
42 5. Chat usando RMI 5.1 Introducción 5.2 Esquemas de flujo de datos 5.3 Control de problemas 5.4 Implementación
43 5.1 Introducción Aplicación n Cliente - Servidor Servidor -> > Aplicación n Java Modo consola Uso del registro RMI Cliente -> Applet Java Uso de gráficos simples -> > AWT Es posible ponerlo en una página p web
44 5.2 Esquemas de flujo de datos Cliente Cliente Cliente login (name, chatter) receiveenter (name, chatter) receiveenter (name, chatter) receiveenter (name, chatter) Servidor
45 5.2 Esquemas de flujo de datos Cliente Cliente Cliente Chat (name, message) receivechat (name, message) receivechat (name, message) receivechat (name, message) Servidor
46 5.2 Esquemas de flujo de datos Igual para: privatechat -> receivewhisper logout -> receiveexit
47 5.3 Control de problemas No puede haber dos personas con el mismo nick En caso de desconexión, n, al intentar mandar algo se controla la excepción y se ejecuta un logout No puedes mandar un privado si no has seleccionado a alguien No puedes mandarte un privado a ti mismo
48 5.4 Implementación Interfaces remotas Nótese la bidireccionalidad del flujo Clase UserInfo Diferenciación n entre servidor y cliente para futuras mejoras Clase ChatServer Clase ChatClient Clase ChatApplet
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
Concurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
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
Concurrencia en Java
Concurrencia en Java Herramientas proporcionadas por Java La Máquina Virtual (JVM) Pedro Pablo Gómez Martín La clase Thread Clase principal con la que conseguir concurrencia. La llamada a su método start()
Object 1. Threads en Java
Object 1 Threads en Java Introducción En este artículo voy a explicar cómo se usan los threads en Java (también traducidos como "hilos de ejecución"). La intención no es solamente explicar cuáles son las
SISTEMAS DISTRIBUIDOS
Sesión 6: Java RMI. Primeros pasos SISTEMAS DISTRIBUIDOS GRADO EN INGENIERÍA INFORMÁTICA UNED Índice Proyecto básico. Chat abierto. Servicios que ofrece el servidor: Escribir mensaje: escribir(mensaje)
RMI [Remote Method Invocation]
RMI [Remote Method Invocation] Cuando utilizamos sockets, hemos de preocuparnos de cómo se transmiten físicamente los datos entre los extremos de una conexión (a nivel de bytes, ya que usamos los streams
Java Inicial (20 horas)
Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción
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 ([email protected]) Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga
Curso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente:
(3 ptos) Memoria Compartida y Semáforos R/W 1. Objetivo En esta práctica se pretende crear una librería que dé la funcionalidad de un semáforo para resolver problemas con múltiples lectores y escritores
Concurrencia en.net David Jesús Horat Flotats
Concurrencia en.net David Jesús Horat Flotats ÍNDICE 1. Introducción n a.net 2. Sincronización n en.net 2.1 Contextos sincronizados 2.2 Método M Synchronized 2.3 Regiones de código c sincronizado 2.4 Sincronización
Ingeniería del Software Arquitectura Física en 3 niveles
Introducción En este laboratorio desplegaremos en 3 niveles físicos una aplicación que verifica si una cuenta y un password son correctos, basada en la que fue presentada en el laboratorio Separación entre
Unidad 1: Conceptos generales de Sistemas Operativos.
Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas
CONTENIDO. Serialización. Carga dinamica de stubs RMI AVANZADO. Callbacks. Carga dinámica de Stubs
CONTENIDO RMI AVANZADO Carga dinamica de stubs Callbacks Carga dinámica de Stubs Para tener acceso a un objeto remoto mediante RMI, el cliente debe recibir un stub serializado y deserializarlo. El stub
Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java
C/Comandante Zorita 4 28020 Madrid/ [email protected] 902 425 524 / 91 700 01 17 Plataforma desarrollo Java Formación elearning tutorizada en castellano JAVA00d Ciclo de formación en plataforma Java Curso
CDI Exclusión mutua a nivel alto. conceptos
conceptos El concepto de usar estructuras de datos a nivel alto libera al programador de los detalles de su implementación. El programador puede asumir que las operaciones están implementadas correctamente
Llamada a métodos remotos (RMI). Curso 04/05. Tema 9. Departament d Informàtica. Universitat de València. 1. Introducción 2
Tema 9 Llamada a métodos remotos (RMI). Departament d Informàtica. Índice 1. Introducción 2 1.1. Cómo funciona RMI?.......................................... 2 2. Usando RMI 4 2.1. Fase de desarrollo:
Receta general para resolver problemas de sincronización con semáforos
Receta general para resolver problemas de sincronización con semáforos La primera vez que te enfrentas a la tarea de implementar una solución a un problema de sincronización entre procesos, es normal que
Java RMI. Sistemas Distribuidos Rodrigo Santamaría
+ Java RMI Sistemas Distribuidos Rodrigo Santamaría RMI Java RMI 2 + RMI 3 Remote Method Invocation: middleware para que un objeto que se ejecuta en una JVM use métodos de otro objeto que se ejecuta en
Arquitectura Cliente/Servidor. Invocación de Métodos Remotos RMI: Remote Method Invocation. Llamadas a Métodos Remotos
Invocación de Métodos Remotos RMI: Remote Method Invocation Prof Wílmer Pereira Universidad Simón Bolívar Arquitectura Cliente/Servidor Cliente Request Reply Servidor Cómo permitir comunicación entre objetos
Tema 1. Introducción a JAVA
Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems
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
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
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
Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...
Contenido Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp... 5 Introducción Es tiempo de hablar en detalle de lo que significa
Concurrencia entre Procesos.
Concurrencia entre Procesos. Sistemas Operativos Tema 3. 1 Procesamiento concurrente. Procesamiento concurrente: base de los sistemas operativos modernos (multiprogramados): Un conjunto de procesos que
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
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
A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante
Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,
1 (2 5 puntos) Responda con brevedad y precisión a las siguientes preguntas:
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Examen parcial, 11 de mayo de 2002 SOLUCIONES Calificación 1 2 3 4 5 1 (2 5 puntos)
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.
Enterprise JavaBeans
Enterprise Java Beans y JBoss Enterprise JavaBeans Es una de las API que forman parte del estándar de construcción de aplicaciones empresariales J2EE (ahora JEE 5.0) de Oracle Corporation (inicialmente
Java y JVM: programación concurrente
Java y JVM: programación concurrente Adolfo López Díaz Escuela de Ciencias de la Computación e Informática. Universidad de Costa Rica Resumen: El lenguaje de programación Java proporciona, sin necesidad
Tema 1: y el lenguaje Java 1.Programación orientada a objetos 2.El lenguaje Java 3.Compilación, bytecode y JVMs 4.Entornos de desarrollo Java 5.Java vs otros lenguajes OO Programación orientada a objetos
SISTEMAS OPERATIVOS AVANZADOS
SISTEMAS OPERATIVOS AVANZADOS TEMA 3 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 3. PROCESOS CONCURRENTES 3.1 Conceptos de programación concurrente 3.2 El problema de la sección crítica 3.3
INF 473 Desarrollo de Aplicaciones en
INF 473 Desarrollo de Aplicaciones en Java Unidad II El Lenguaje de Programación Java Prof. José Miguel Rubio [email protected] [email protected] PUCV Marzo 2008 1 Orígenes del Lenguaje Java 1991. James
MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35. Facultad de Ingeniería, UBA. Junio 2002. Cátedra: Pablo Cosso
MICQ Facultad de Ingeniería, UBA. Junio 2002 Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35 Cátedra: Pablo Cosso Alumno: Diego Fernando Montaldo 75.300 1 de 1 Introducción Este documento
Interacción entre Aplicaciones: objetos distribuidos e invocación remota
Interacción entre Aplicaciones: objetos distribuidos e invocación remota En la anterior práctica se ha visto cómo extender la funcionalidad de un servidor web incorporando servlets que atienden peticiones
INTRODUCCIÓN A JAVA. Índice
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? Bibliografía 2 1 Qué es Java? La tecnología Java
GUIA PROGRAMACIÓN ORIENTADA A OBJETOS
GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución
Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010
Hilos, comunicación y competencia entre procesos Dr. Alonso Ramírez Manzanares 2-Sep-2010 Implementación de procesos Se mantiene una tabla de procesos con una entrada por cada proceso: Con lo cual tenemos
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
Práctica 5: Callbacks RMI.
Práctica 5: Callbacks RMI. Ejercicio 1. (Será realizado en la Sala de Computo) El siguiente ejercicio describe los pasos a seguir para aplicar el mecanismo Callback con Java RMI. En este ejercicio se requiere
4. Programación Paralela
4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios
INFRAESTRUCTURA Y COMUNICACIONES DGA
INFRAESTRUCTURA Y COMUNICACIONES DGA Tema Descripción de la infraestructura y de las comunicaciones del SIDUNEA World para la parte del Cliente. Fecha 07/10/2009 Beneficiarios Archivo Cliente SIDUNEA World
Tema 2: Implementación del núcleo de un Sistema Operativo
Tema 2: Implementación del núcleo de un Sistema Operativo 1. Sistema Operativo Unix 2. Sistema Operativo Windows (a partir de NT) Dpto. Lenguajes y Sistemas Informáticos. Universidad de Granada 1 1. Sistema
Sistemas Distribuidos Java RMI (Remote Method Invocation) Alberto Lafuente Mikel Larrea Dpto. ATC, UPV/EHU
Sistemas Distribuidos Java RMI (Remote Method Invocation) Alberto Lafuente Mikel Larrea Dpto. ATC, UPV/EHU Contenido Interfaz Implementación Servidor Cliente Puesta en marcha de la aplicación: Compilador
Sistemas Operativos. Curso 2016 Procesos
Sistemas Operativos Curso 2016 Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor
1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño
Tema 1. Introducción a los sistemas distribuidos 1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño Tema 1 Introducción a los Sistemas Distribuidos 1 Introducción y objetivos
TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA
TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA II. Objetos distribuidos y CORBA 1. Objetos Distribuidos 2. CORBA 1. Características 2. Modelo de trabajo 3. ORB 4. Arquitectura
Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática
Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción
SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA. 3.1. Características
SISTEMAS DISTRIBUIDOS DE REDES 3.- ESTANDAR CORBA 3.1. Características La tendencia hacia el futuro es el de lograr la integración total de componentes realizados por terceras partes, para lo cual es necesario
JAVA RMI (REMOTE METHOD INVOCATION)
JAVA RMI (REMOTE METHOD INVOCATION) RMI RMI (Remote Method Invocation) Mecanismo RPC de Mecanismo mediante el cual los procesos cliente y servidor en una aplicación distribuida se comunican Una aplicación
Configuracion Escritorio Remoto Windows 2003
Configuracion Escritorio Remoto Windows 2003 Instalar y configurar servicio de Terminal Server en Windows 2003 Fecha Lunes, 25 diciembre a las 17:04:14 Tema Windows (Sistema Operativo) Os explicamos cómo
Implementación de monitores POSIX
Implementación de monitores POSIX Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Programación concurrente: Problemática Presencia de condiciones de
2.2.- Paradigmas de la POO
2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier
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ódulo 2. Inicio con Java
Módulo 2. Inicio con Java Objetivos: -Clasificar el lenguaje de programación Java según las formas de clasificar los lenguajes de programación. -Describir el funcionamiento de la plataforma Java. -Explicar
.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...
.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS Definiciones...2 C# y Java.....3 Similitudes...4 Ventajas...4 Definiciones Sobre J2EE J2EE (Java 2 Platform Enterprise Edition)
JAVA. 40 horas 60 días
JAVA DURACIÓN DÍAS DE CONEXIÓN 40 horas 60 días CONTACTO: [email protected] El Campus Virtual ha sido concebido con una metodología dinámica e interactiva, basada en el aprendizaje activo y participativo
Concurrencia en Java
Concurrencia en Java Concurrencia y Distribución Programación Avanzada Posgrado en Ciencia e Ingeniería de la Computación, UNAM 1. El mecanismo de threads Una aplicación Java o applet puede contener secciones
picojava TM Características
picojava TM Introducción El principal objetivo de Sun al introducir Java era poder intercambiar programas ejecutables Java entre computadoras de Internet y ejecutarlos sin modificación. Para poder transportar
Configuración del servicio de printers CUPS
Configuración del servicio de printers CUPS Common Unix Printing System (Sistema de impresión común de Unix, abreviado CUPS) es un sistema de impresión modular para sistemas operativos de tipo Unix que
Programación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia
CURSO: Programación de Aplicaciones en Lenguaje JAVA
FICHA TÉCNICA CURSO: Programación de Aplicaciones en Lenguaje JAVA CÓDIGO SENCE: 12-37-8732-64 DURACIÓN: 210 horas OBJETIVOS DEL CURSO Al término del curso el participante contará con los conocimientos
Administración de la red (Windows 2008) www.adminso.es
Administración de la red (Windows 2008) www.adminso.es INTRODUCCIÓN Esquema de red Esquema de red En esta unidad vamos a configurar los siguientes servicios:. Permite que el servidor actúe como router
Hilos en Java. Crear un Hilo. Detener un hilo. Fuente: http://www.chuidiang.com/java/hilos/hilos_java.php
Fuente: http://www.chuidiang.com/java/hilos/hilos_java.php Hilos en Java A veces necesitamos que nuestro programa Java realice varias cosas simultáneamente. Otras veces tiene que realizar una tarea muy
Facultad de Ciencias del Hombre y la Naturaleza SISTEMAS OPERATIVOS DE REDES CICLO II 2014. Materia: Sistemas Operativos de Redes Tema:
Facultad de Ciencias del Hombre y la Naturaleza SISTEMAS OPERATIVOS DE REDES CICLO II 2014 Materia: Sistemas Operativos de Redes Tema: Sistema de archivo en red Docente: Ing. Manuel de Jesús Flores Villatoro
Capítulo 1 Introducción a la Computación
Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:
Tema 4. Gestión de entrada/salida
Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada
Práctica 5. Curso 2014-2015
Prácticas de Seguridad Informática Práctica 5 Grado Ingeniería Informática Curso 2014-2015 Universidad de Zaragoza Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas
Maquinas virtuales Conceptos Básicos
Jimenez Zamudio Eduardo Aplicaciones de redes de computadoras 13 de septiembre de 2014 Maquinas virtuales Conceptos Básicos Concepto Básicamente, es un equipo dentro de un equipo, implementado en el software.
Prácticas con Elastix Asterisk - Lab. 3
1-1-2015 Prácticas telefonía IP Prácticas con Elastix Asterisk - Lab. 3 Jesse Padilla Agudelo Adaptado por Ing. Pedro Alberto Arias Quintero SENA - CIMI Red de telefonía para práctica inicial a trabajar
Capítulo 6. Introducción a la POO
Capítulo 6. Introducción a la POO 6. 1. Clases, Objetos y Métodos Definición La Programación Orientada a Objetos (POO) es una forma especial de programar, más cercana a cómo expresaríamos las cosas en
La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la
Servicios web Introducción Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes
Introducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Activación de un Escritorio Remoto
Activación de un Escritorio Remoto La activación de un Escritorio Remoto se realiza en dos fases, en la primera se habilita a un Usuario de un ordenador para que pueda admitir una conexión remota, la segunda
CAPITULO 3 VRML-JAVA-WWW
CAPITULO 3 VRML-JAVA-WWW 50 3.1 Introducción En éste capítulo se comenta brevemente sobre el origen y esencia de los lenguajes VRML 2 y Java, así como de la forma en que se pueden éstos complementar para
Arquitectura de Software
Arquitectura de Software (Estilos Arquitectónicos) Universidad de los Andes Demián Gutierrez Mayo 2011 1 Diseño Arquitectónico Diseño Arquitectónico Arquitectura del Software Estilos Arquitectónicos Frameworks
COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX
COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor
Anexo B. Comunicaciones entre mc y PC
Anexo B Comunicaciones entre mc y PC En este apartado se hará hincapié en los comandos para el manejo del módulo de comunicaciones desde el PC. Conociendo estos comando se podrá realizar una aplicación
COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA
COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA Autor: Carlos Javier Martín González. Licenciado en Física Teórica por la Universidad Autónoma de Madrid. Analista programador y funcional. Desarrollador
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
Modelos de los sistemas distribuidos. Jorge Iván Meza Martínez [email protected]
Modelos de los sistemas distribuidos Jorge Iván Meza Martínez [email protected] Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/36 Contenidos Modelo arquitectónico
Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java
Qué es? Introducción a es Un lenguaje de programación Un entorno de desarrollo Un entorno de ejecución de aplicaciones Un entorno de despliegue de aplicaciones Utilizado para desarrollar, tanto applets
INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA
INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Por qué Java? TIOBE Index for March 2015 Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera
Capítulo 4. Llamada Telefónica En este capítulo se explicará la manera en que se configuraron las herramientas web (PHP y APACHE), y el programa de comunicación Skype, para controlar de manera dinámica
Laboratorio de PCs. Práctica 3: Montaje de una red de Área local
Laboratorio de PCs Práctica 3: Montaje de una red de Área local INTRODUCCIÓN Se pretende que el alumno comprenda una serie de aspectos básicos para el montaje y funcionamiento de una red de área local
Remote Method Invocation (RMI) de Java
Remote Method Invocation (RMI) de Java Concurrencia y Distribución Programación Avanzada Posgrado en Ciencia e Ingeniería de la Computación, UNAM 1. Introducción El mecanismo RMI (Remote Method Invocation)
Web Services en Java. Taller de Programación. Instituto de Computación Facultad de Ingeniería Universidad de la República
Web Services en Java Taller de Programación Instituto de Computación Facultad de Ingeniería Universidad de la República Contenido Motivación y Conceptos Funcionamiento Annotations Desarrollando una aplicación
CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE
CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE PRÓLOGO... 13 APECTOS BÁSICOS DE JAVA... 15 1.1. LA MÁQUINA VIRTUAL JAVA... 15 1.2. EDICIONES JAVA... 16 1.3. ESTRUCTURA DE UN PROGRAMA JAVA... 16 1.4. EL MÉTODO
SBConta.NET Manual de instalación. SBSS Consulting, S.A. 08010 Barcelona Telf. 93.268-0356, fax 93-268-0070 E-Mail: [email protected], web www.sbss.
SBConta.NET Manual de instalación SBSS Consulting, S.A. 08010 Barcelona Telf. 93.268-0356, fax 93-268-0070 E-Mail: [email protected], web www.sbss.es SBConta.NET C o n t e n i d o i Contenido 1. Introducción.
Proyecto MONO. Juantomás García. 1. Introducción. GNOME Hispano [email protected]
Juantomás García GNOME Hispano [email protected] Qué es el proyecto MONO?. Estado actual del proyecto. Por qué es interesante para el software libre disponer de la tecnología relacionado con el proyecto
Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta
Configuración de una red con Windows Aunque existen múltiples sistemas operativos, el más utilizado en todo el mundo sigue siendo Windows de Microsoft. Por este motivo, vamos a aprender los pasos para
Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos. Examen Final. TEORÍA. 31 de Enero de 2005
Ingeniería Superior de Informática. Curso º. Sistemas Operativos. Examen Final. TEORÍA. de Enero de 005 Nombre: DNI:. ( puntos). La TFA es la tabla que, en UNIX, guarda los punteros de posición de cada
JAVA - Serializacíon / RMI. (C) Philippe Roose - 2004, 2005
JAVA - Serializacíon / RMI (C) Philippe Roose - 2004, 2005 Serializar objetos- concepto Desde el JDK 1.1 Serializar objetos permite de escribir un objeto en un fichero como un flujo de octets (archivo
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
