Tema III. Multihilo. Desarrollo de Aplicaciones para Internet Curso 12 13
|
|
- Eduardo Reyes Castellanos
- hace 6 años
- Vistas:
Transcripción
1 Tema III. Multihilo Desarrollo de Aplicaciones para Internet Curso 12 13
2 Índice 1.Introducción 2.Tipos de Concurrencia 3.Hilos en Java 4.Implementación de un SNB i. Sin Hilos ii. Con Hilos iii.con Pool de Hilos 5.Referencias
3 Índice 1.Introducción 2.Tipos de Concurrencia 3.Hilos en Java 4.Implementación de un SNB i. Sin Hilos ii. Con Hilos iii.con Pool de Hilos 5.Referencias
4 Introducción La naturaleza cliente(s)/servidor de las aplicaciones hace que necesario el uso de concurrencia El tiempo de respuesta es muy importante Usos habituales Servidores no bloqueantes (SNB) El procesado de una petición no debe esperar a que se responda a las peticiones previas Es necesario procesar las peticiones en paralelo Manejo de peticiones asíncronas Se evita el bloqueo de la aplicación que espera la respuesta a una petición remota
5 Índice 1.Introducción 2.Tipos de Concurrencia 3.Hilos en Java 4.Implementación de un SNB i. Sin Hilos ii. Con Hilos iii.con Pool de Hilos 5.Referencias
6 Tipos de concurrencia Basada en procesos Proceso: Instancia de un programa en ejecución, incluyendo los valores actuales del contador de programa, registros y variables La concurrencia se consigue creando copias de procesos (programas) Creación más lenta Espacio de memoria propio Necesita más memoria Programación más sencilla Basada en hilos (threads) Hilo: Flujo de ejecución dentro de un proceso. Es la menor unidad de procesamiento de un S.O. La concurrencia se consigue creando varios flujos de ejecución dentro de un mismo proceso (programa) Creación más rápida ( veces) Espacio de memoria compartido: Menos memoria Programación más complicada Más habitual El uso de hilos en aplicaciones para Internet suele ser para desarrollar acciones independientes, por lo que no es necesaria la sincronización de los mismos
7 Manejo de Memoria Procesos Memoria Compartida [Opcional] Hilos Memoria del Proceso Memoria Proceso Asignada Memoria del Proceso Memoria del Proceso Proceso... Proceso Hilo... Hilo
8 Ciclo de Vida de un Hilo Listo En ejecución Bloqueado Finalizado
9 Índice 1.Introducción 2.Tipos de Concurrencia 3.Hilos en Java 4.Implementación de un SNB i. Sin Hilos ii. Con Hilos iii.con Pool de Hilos 5.Referencias
10 Threads en Java La clase java.lang.thread representa un hilo en Java Su ejecución debe iniciarse explícitamente mediante el método start Su comportamiento puede proporcionarse mediante clases que implementen la interfaz java.lang.runnable
11 Ciclo de Vida de un Thread Creado start Completar E/S despachar Listo Fin intervalo sueño wait notify notifyall Ejecución desalojar resume* Solicitud E/S sleep suspend* Vivo (Alive) Espera Bloqueado Dormido Suspendido stop* Fin Ejecución * Métodos obsoletos (evitar su uso) Muerto
12 Arquitectura de Memoria en Java Memoria compartida Memoria no compartida * Imagen tomada de:
13 Índice 1.Introducción 2.Tipos de Concurrencia 3.Hilos en Java 4.Implementación de un SNB i. Sin Hilos ii. Con Hilos iii.con Pool de Hilos 5.Referencias
14 Implementación de un SNB Vamos a ver como implementar un servidor no bloqueante en Java: Las peticiones deben procesarse en paralelo, de modo que un cliente no tenga que esperar a que finalicen las peticiones anteriores antes de que se procese la suya Partiremos del ejemplo EchoServer del tema anterior al que añadimos las clases IOManager y SocketIOManager para gestión de E/S
15 IOManager y SocketIOManager
16 EchoClient
17 EchoServer
18 EchoServer Problemas Solo se puede dar servicio a un cliente El resto de clientes deben esperar a que se dé servicio al cliente activo
19 Índice 1.Introducción 2.Tipos de Concurrencia 3.Hilos en Java 4.Implementación de un SNB i. Sin Hilos ii. Con Hilos iii.con Pool de Hilos 5.Referencias
20 EchoServer No Bloqueante Sin Hilos Evitando los bloqueos en los métodos bloqueantes podemos conseguir un SNB accept: Utilizando setsotimeout podemos limitar el tiempo de bloqueo readline: Invocando el método canread del SocketIOManager podemos saber si hay algo que leer en el flujo Solo es necesario un hilo para gestionar el servidor
21 EchoServer No Bloqueante Sin Hilos
22 EchoServer No Bloqueante Sin Hilos Al utilizar setsotimeout hacemos que el bloqueo de accept dure un máximo de 1000 ms
23 EchoServer No Bloqueante Sin Hilos
24 Ventajas EchoServer No Bloqueante Sin Hilos Se atiende a varios clientes simultáneamente Problemas Se desperdicia tiempo esperando peticiones Se desperdicia CPU al tener que estar comprobando continuamente si hay nuevos clientes o hay algo que leer
25 Índice 1.Introducción 2.Tipos de Concurrencia 3.Hilos en Java 4.Implementación de un SNB i. Sin Hilos ii.con Hilos iii.con Pool de Hilos 5.Referencias
26 EchoServer No Bloqueante Con Hilos Mediante el uso de hilos podemos evitar desperdiciar recursos en un SNB Existen dos tipos de hilo en el servidor Hilo Servidor: Un único hilo será el responsable de aceptar las conexiones de los clientes Hilos de Servicio: Cada cliente será atendido por uno o varios hilos de servicio
27 EchoServer No Bloqueante Con Hilos 1.El cliente solicita la conexión con el hilo servidor 2.El hilo servidor crea un hilo de servicio que atenderá al cliente 3.El cliente se comunica directamente con el hilo de servicio
28 EchoServer No Bloqueante Con Hilos Hilo Servidor
29 EchoServer No Bloqueante Con Hilos Hilo Servidor (Main)
30 Ventajas EchoServer No Bloqueante Con Hilos Se atiende a varios clientes simultáneamente No hay desperdicio de tiempo, puesto que el hilo principal se bloquea a la espera de peticiones mientras que los hilos ServerThread dan servicio a los clientes Problemas Puede haber problemas de rendimiento ante un alto número de conexiones
31 Índice 1.Introducción 2.Tipos de Concurrencia 3.Hilos en Java 4.Implementación de un SNB i. Sin Hilos ii. Con Hilos iii.con Pool de Hilos 5.Referencias
32 Ejecutores en Java Manejan la ejecución de un grupo de Thread Java proporciona una serie de clases en el paquete java.util.concurrent Interfaces principales Executor: Interfaz común que define un método para ejecutar Runnable ExecutorService: Añade a Executor métodos que generan objetos Future para seguir el progreso de una o más tareas asíncronas ScheduledExecutorService: Añade a ExecutorService métodos para ejecutar tareas con un determinado retraso o de forma periódica
33 Patrón Thread Pool
34 java.util.concurrent.threadpoolexecutor Implementación de la interfaz ExecutorService Mantiene un pool de Thread con los que ejecuta las tareas recibidas Si cuando se recibe una tarea hay algún Thread libre, se le asigna la tarea y se ejecuta Si no, la tarea se guarda en una cola hasta que haya un Thread libre Suele crearse a través de los métodos estáticos de la clase Executors: newfixedthreadpool y newcachedthreadpool
35 EchoServer No Bloqueante Thread Pool
36 Ventajas EchoServer No Bloqueante Thread Pool Permite controlar el número máximo de hilos creados por el sistema Evita la sobrecarga del servidor
37 Índice 1.Introducción 2.Tipos de Concurrencia 3.Hilos en Java 4.Implementación de un SNB i. Sin Hilos ii. Con Hilos iii.con Pool de Hilos 5.Referencias
38 Referencias Schmint, D., Stal, M., Rohnert, H., Buschmann. Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects. John Willey & Sons (2000) Patterns for Concurrent, Parallel and Distributed Systems [ - Última Visita 07/09/2012]
Aplicaciones Concurrentes
PROGRAMACIÓN CONCURRENTE TEMA 6 Aplicaciones Concurrentes ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN PROGRAMACIÓN CONCURRENTE Aplicaciones Concurrentes
Más detallesde Gran Canaria Centro de Tecnología Médica Programación Concurrente
Universidad de Las Palmas de Gran Canaria Centro de Tecnología Médica http://www.ctm.ulpgc.es Tema 1: Introducción a la Escuela Técnica Superior de Ingenieros de Telecomunicación Conceptos Fundamentales
Más detallesProgramación Concurrente en Java: Threads. Ejemplos de programación concurrente. Luis Fernando Llana Díaz. 24 de abril de 2008
Departamento de Sistemas Informáticos y Computación Universidad Complutense de Madrid de abril de 00 Ejemplos de programación concurrente En un sistema operativo, diversos programas compiten por los recursos
Más detallesNormalmente, los programas son ejecutados de forma secuencial. Único flujo de control
Hilos BUAP Introducción Normalmente, los programas son ejecutados de forma secuencial Único flujo de control Un programa con un único flujo de control, ejecuta sólo una tarea (hilo) Dr. Ivan Olmos 2 Introducción
Más detallesConcurrencia y paralelismo
Introducción a los Sistemas Operativos Concurrencia y paralelismo 1. Ejecución de programas. Procesos. 2. Multiprogramación Bibliografía Silberschatz and Galvin Sistemas Operativos. Conceptos fundamentales.
Más detallesDiagramas De Casos De Uso
Estáticos Diagramas De Casos De Uso Los diagramas de casos de uso documentan el comportamiento de un sistema desde el punto de vista del usuario.. Por lo tanto los casos de uso determinan los requisitos
Más detallesUnidad 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
Más detallesConexiones dedicadas y compartidas: pool de conexiones.
Gestión de la Información Conexiones dedicadas y compartidas: pool de conexiones. José Luis Pastrana Brincones (pastrana@lcc.uma.es) 2 Las conexiones de bases de datos son vínculos activos a una base de
Más detallesThreads, SMP y Microkernels. Proceso
Threads, SMP y Microkernels Proceso Propiedad de los recursos a un proceso se le asigna un espacio de dirección virtual para guardar su imagen Calendarización/ejecución sigue una ruta de ejecución la cual
Más detallesTema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
Más detallesSistemas Distribuidos. Soporte de Sistemas Operativos
Soporte de Sistemas Operativos Soporte de Sistemas Operativos Soporte de Sistemas Operativos Soporte de Sistemas Operativos Tareas principales de un SO: Administrar recursos Proveer abstracciones de los
Más detallesCuando el lenguaje si importa
Cuando el lenguaje si importa de software financiero J. Daniel Garcia Grupo ARCOS Universidad Carlos III de Madrid 11 de mayo de 2016 cbed J. Daniel Garcia ARCOS@UC3M (josedaniel.garcia@uc3m.es) Twitter
Más detallesDesarrollador de Aplicaciones Web con Java
Desarrollador de Aplicaciones Web con Java El presente programa integral tiene como finalidad el uso de la tecnología Java para el desarrollo de aplicaciones Web empresariales. En los tres módulos se utilizan
Más detalles1 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 detallesOmbú / Wbs (Web based Systems)
Ombú / Wbs (Web based Systems) Prueba de Stress Empresa Argentina Organización y Gestión SRL San Jose 83 Piso 8 (C1076AAA) Buenos Aires Argentina Tel.: (5411) 4383-4600 email: arg@oyg.com.ar INDICE 1.
Más detallesTEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O
TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema
Más detallesINGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño
INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño Univ. Cantabria Fac. de Ciencias Patricia López Introducción al Diseño Modelamos la estructura software del sistema (incluida la arquitectura) para
Más detallesHilos. Índice. Copyright 2012-13 Dept. Ciencia de la Computación e IA All rights reserved.
Índice 1 Creación de hilos... 2 2 Ciclo de vida y prioridades...3 2.1 Prioridades de los hilos... 4 2.2 Interrupción de un hilo...4 3 Sincronización de hilos... 5 3.1 Sincronización reentrante...6 4 Bloques
Más detallesPOSGRADO EN DESARROLLO DE APLICACIONES PARA ANDROID CON JAVA
DESCRIPCIÓN POSGRADO EN DESARROLLO DE APLICACIONES PARA ANDROID CON JAVA El desarrollo de aplicaciones de Android es la solución para cubrir las necesidades emergentes para empresas nuevas y existentes,
Más detallesHP - UX. Qué es HP UX?
HP - UX Integrantes: Cisneros Pedraza Christian. Jiménez Nieves José Manuel. Villanueva Armenta Fernando. Qué es HP UX? Hp UX es una variante de Unix creada por los desarrolladores de software de HP. Provee
Más detalles20483 Programación en C#
20483B 20483 Programación en C# Fabricante: Microsoft Grupo: Desarrollo Subgrupo: Microsoft Visual Studio 2012 Formación: Presencial Horas: 25 Introducción Este curso enseña a los desarrolladores las habilidades
Más detallesTest : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:
Más detallesCAPITULO 6. Control de Concurrencia y Recuperación
CAPITULO 6 Control de Concurrencia y Recuperación 6.1 Protocolos de Bloqueo Un protocolo de bloqueo nace de la necesidad creada cuando una transacción solicita un bloqueo de un modo particular sobre un
Más detallesSockets. 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 detallesHerramientas Concurrentes en JAVA
Herramientas Concurrentes en JAVA David Jesús Horat Flotats Í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.
Más detallesINSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO
INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 01-II 1. DATOS GENERALES SÍLABO UNIDAD DIDÁCTICA : LENGUAJES Y HERRAMIENTAS DE DESARROLLO DE SOFTWARE MÓDULO : DESARROLLO DE SOFTWARE
Más detallesQué es un programa informático?
Qué es un programa informático? Un programa informático es una serie de comandos ejecutados por el equipo. Sin embargo, el equipo sólo es capaz de procesar elementos binarios, es decir, una serie de 0s
Más detallesIntroducción a los Sistemas Operativos
Introducción a los Sistemas Operativos Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es 1 Índice General Conceptos sobre ordenadores Concepto
Más detalles(THREADS) Ing. Laura Sandoval Montaño, Ing. Manuel Enrique Castañeda Castañeda PAPIME 104911
(THREADS) HILOS JAVA La Máquina Virtual Java (JVM) es un sistema multihilo. La JVM gestiona todos los detalles, asignación de tiempos de ejecución, prioridades, etc., de forma similar a como gestiona un
Más detallesConcurrencia en Android LSUB, GYSC, URJC
Concurrencia en Android LSUB, GYSC, URJC Repaso de concurrencia en Java Crear un thread Instanciar un Thread, con el método run sobreescrito Intanciar un objeto que cumpla el interfaz Runnable y pasárselo
Más detallesProcesos. Bibliografía. Threads y procesos. Definiciones
Procesos Prof. Mariela Curiel Bibliografía A. Tanembaum & M. Van Steen. Sistemas Distribuidos. Principios y Paradigmas. 2da. Edición. Smith & Nair. The Architecture of Virtual Machines. IEEE Computer.
Más detallesDiseñ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
Más detallesTecnologí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
Más detallesHerramientas Informáticas I Software: Sistemas Operativos
Herramientas Informáticas I Software: Sistemas Operativos Facultad de Ciencias Económicas y Jurídicas Universidad Nacional de La Pampa Sistemas Operativos. Es el software base que permite trabajar como
Más detallesInteligencia en Redes de Comunicaciones - 08 Agentes
El objetivo del Tema 8 es presentar los conceptos de Agentes : definiciones, propiedades, aplicaciones y detalles de su arquitectura. 1 Índice de los contenidos del tema. 2 El concepto de agente es un
Más detallesFederico 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 detallesElementos Diagramas de Clases Clase:
Diagramas de Clases Un diagrama de clases o estructura estática muestra el conjunto de clases y objeto importantes que forman parte de un sistema, junto con las relaciones existentes entre clases y objetos.
Más detallesProgramació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 detallesClasificación n de los Sistemas Operativos. Clasificación de los SO Estructuras de los SO Modos de procesamiento
Clasificación n de los Sistemas Operativos Contenidos Clasificación de los SO Estructuras de los SO Modos de procesamiento Se pueden clasificar en Sistemas monolíticos Sistemas por capas Sistemas cliente/servidor
Más detallesSistemas Operativos Tema 5. Procesos. 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana
Sistemas Operativos Tema 5. Procesos 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana 1 Contenidos Concepto de proceso Estructuras de datos: BCP y colas de procesos Niveles de planificación
Más detallesSoluciones BYOD para el aula. 24.Febrero.2016
Soluciones BYOD para el aula 1 24.Febrero.2016 Escritorios Virtuales Avanzados Software Libre 08/03/2016 2 Qué es evaos? Solución de virtualización de aplicaciones y escritorios Open Source basada en GNU/Linux
Más detallesLenguaje de programación con JAVA
Pág. N. 1 Lenguaje de programación con JAVA Familia: Editorial: Autor: Tecnología de la información y computación Macro Eric Gustavo Coronel Castillo ISBN: 978-612-304-288-2 N. de páginas: 360 Edición:
Más detallesConcurrencia en Java
Concurrencia en Java Concurrencia en Java Con un único procesador, solamente puede ejecutarse una instrucción en un instante de tiempo. La frase anterior parece una perogrullada, pero no lo es. Posiblemente
Más detallesSistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo
Más detallesUniversidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Informe final de pasantía
Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Informe final de pasantía Desarrollo de Componentes de software para el procesamiento de servicios web
Más detallesTema 1: Patrones Arquitectónicos
escuela técnica superior de ingeniería informática Tema 1: Patrones Arquitectónicos Departamento de Lenguajes y Sistemas Informáticos Ingeniería del Software de Gestión III Índice Definiciones Qué es un
Más detallesCaso práctico Red de telefonía móvil
Caso práctico Red de telefonía móvil Vamos a analizar la arquitectura software de una red de telefonía móvil de tercera generación UMTS (Universal Mobile Telecommunications System), NOTA: La tecnología
Más detallesGRADO EN INGENIERÍA INFORMÁTICA
Facultad de Informática Universidad Complutense de Madrid GRADO EN INGENIERÍA INFORMÁTICA El Grado en Ingeniería Informática incluye dos itinerarios. Itinerario de computación Itinerario de tecnología
Más detallesUbuntu Server HOW TO : SERVIDOR DE IMPRESORAS
Ubuntu Server 12.10 HOW TO : SERVIDOR DE IMPRESORAS EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar CUPS y como administrar. Common Unix Printing System (Sistema de impresión
Más detallesDiagramas de secuencia
Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Diagramas de secuencia Fragmentos Combinados: caminos alternativos Departamento de Ingeniería de Sistemas y Computación - Universidad
Más detallesContenido. 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
Más detallesSistemas Distribuidos: Migración de Procesos
Sistemas Distribuidos: Migración de Procesos Yudith Cardinale Universidad Central de Venezuela Facultad de Ciencias Postgrado en Computación Octubre 2013 Febrero 2014 Objetivos Entender la importancia
Más detallesNombre de la asignatura : Sistemas de Computación Código : Nivel (semestre de la carrera) : 7 : Ingeniería Civil Informática Nº de créditos : 4
I IDENTIFICACION Nombre de la asignatura : Sistemas de Computación Código : 503429 Nivel (semestre de la carrera) : 7 Carrera : Ingeniería Civil Informática Nº de créditos : 4 Duración : Un semestre Pre-requisitos
Más detallesEstilos Arquitectónicos
Estilos Arquitectónicos Lic. Gastón Coco Ing. Gustavo A. Brey Ing. Juan M. Arias Ing. Jorge García Ing. Santiago Blanco Ing. Fabián Pezet Vila Ing. Ariel Cassan 2005 Agenda # Tema Duración 1 Que es un
Más detallesProgramación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 1 Introducción a Java Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Historia
Más detallesSistemas Operativos. Dr. Luis Gerardo de la Fraga. Departamento de Computación Cinvestav
Sistemas Operativos Dr. Luis Gerardo de la Fraga E-mail: fraga@cs.cinvestav.mx http://cs.cinvestav.mx/~fraga Departamento de Computación Cinvestav 12 de junio de 2015 Dr. Luis Gerardo de la Fraga Cinvestav,
Más detallesEstilos Arquitectónicos
Estilos Arquitectónicos Ing. Ariel Cassan 2005 Agenda # Tema Duración 1 Que es un Patrón? 5 min 2 Introducción a estilos arquitectónicos 5 min 2.1 De Estructuración 20 min 2.2 Sistemas distribuidos 5 min
Más detallesSockets 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 detallesTEMA 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 detallesArquitecturas de Bases de Datos. Carlos A. Olarte (carlosolarte@puj.edu.co) BDII
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Contenido 1 Introducción 2 Arquitectura Centralizada 3 Arquitectura Cliente-Servidor 4 Arquitecturas Paralelas 5 Bases de Datos Distribuidas Introducción
Más detallesCOMUNICACIÓN ENTRE EL CLIENTE Y SERVIDOR SIN PHP Y CON PHP. INTÉRPRETE PHP Y GESTOR DE BASES DE DATOS (CU00804B)
APRENDERAPROGRAMAR.COM COMUNICACIÓN ENTRE EL CLIENTE Y SERVIDOR SIN PHP Y CON PHP. INTÉRPRETE PHP Y GESTOR DE BASES DE DATOS (CU00804B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP
Más detallesLa funcionalidad del agente administrador es la de apoyar al administrador de BIDACI,
CAPITULO SEIS 6 AGENTE ADMINISTRADOR La funcionalidad del agente administrador es la de apoyar al administrador de BIDACI, indicándole el material agregado por los académicos. El agente administrador genera
Más detallesParadigma de paso de mensajes
Paradigma de paso de mensajes Curso 2011-2012 Índice Visión lógica del paradigma de paso de mensajes. Operaciones básicas en paso de mensajes. Operaciones bloqueantes. Operaciones no bloqueantes. MPI:
Más detallesUnidad 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
Más detallesTEMA 3: IMPLANTACIÓN DE TÉCNICAS DE ACCESO REMOTO. Victor Martin
TEMA 3: IMPLANTACIÓN DE TÉCNICAS DE ACCESO REMOTO Victor Martin Índice 1. Diseña una red en la que se distingan los siguientes elementos:... 2 2. Utiliza Hamachi para demostrar el concepto de acceso remoto....
Más detallespytod, un prototipo experimental para realizar Depuración Omnisciente a scripts escritos en el Lenguaje de Programación Python
pytod, un prototipo experimental para realizar Depuración Omnisciente a scripts escritos en el Lenguaje de Programación Python Milton Galo Patricio Inostroza Aguilera Objetivos de la charla Mostrar el
Más detallesProgramación concurrente
Programación concurrente Master de Computación I Conceptos y recursos para la programación concurrente: I.1 Motivación de la programación concurrente. J.M. Drake M. Aldea Motivación de la programación
Más detallesThreads. 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 detalles2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.
ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 Unidad de E/S Indice Introducción.
Más detallesEl Modelo. Aplicación. Presentación. Sesión. Transporte. Red. Enlace. Físico
El Modelo Es una arquitectura por niveles para el diseño de sistemas de red que permiten la comunicación entre todos los dispositivos de computadoras. Esta compuesto por siete niveles separados, pero relacionados,
Más detallesGUÍA DOCENTE Programación Concurrente y de Tiempo Real
GUÍA DOCENTE 2016-2017 Programación Concurrente y de Tiempo Real 1. Denominación de la asignatura: Programación Concurrente y de Tiempo Real Titulación Grado en Ingeniería Informática Código 6369 2. Materia
Más detallesFUNDAMENTOS DE INFORMÁTICA. Principios Básicos de Sistemas Operativos. Definición de Sistema Operativo
UNIVERSIDADE DE VIGO ESCOLA TÉCNICA SUPERIOR DE ENXEÑEIROS INDUSTRIÁIS FUNDAMENTOS DE INFORMÁTICA Principios Básicos de Sistemas Operativos 1 Definición de Sistema Operativo Un sistema operativo es parte
Más detallesPasos a seguir para crear una aplicación visual en el lenguaje de programación Java con Netbeans IDE.
Pasos a seguir para crear una aplicación visual en el lenguaje de programación Java con Netbeans IDE. Autores: Ing. Maikel Zuñiga Suarez. Reisel González Pérez. Universidad de las Ciencias Informáticas
Más detallesJava 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
Más detallesAspectos Básicos de Networking
Aspectos Básicos de Networking ASPECTOS BÁSICOS DE NETWORKING 1 Sesión No. 4 Nombre: Capa de transporte del modelo OSI Contextualización Existen diferencias en los servicios de protocolos? Los protocolos
Más detallesUNIVERSIDAD 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 detallesDiseño de sistemas concurrentes
Diseño de sistemas concurrentes Manuel Carro Universidad Politécnica de Madrid Necesidad de diseño Hasta ahora, problemas ya cerrados: Número de procesos, recursos Código de procesos Especificación de
Más detallesDescarga de Listas de Música Proyecto Examen Final
Descarga de Listas de Música Proyecto Examen Final Temas: Sockets, Hilos, Base de Datos y ServLets/WebServices, Principios de Diseño de paquetes y de clases a. El aplicativo debe cumplir con los principios
Más detallesUsando el Sistema Operativo
Sistemas Operativos Pontificia Universidad Javeriana Enero de 2010 Los sistemas operativos Los sistemas operativos Perspectivas del Computador Concepto general El sistema operativo es parte del software
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA
PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA Angel García Beltrán y José María Arranz Santamaría Sección de Publicaciones Escuela Técnica Superior de Ingenieros Industriales Universidad Politécnica de Madrid
Más detallesLas optimizaciones pueden realizarse de diferentes formas. Las optimizaciones se realizan en base al alcance ofrecido por el compilador.
Unidad III: Optimización Las optimizaciones pueden realizarse de diferentes formas. Las optimizaciones se realizan en base al alcance ofrecido por el compilador. La optimización va a depender del lenguaje
Más detallesExisten diferentes recursos interactivos que han sido utilizados para la enseñanza
Capítulo 3. Diseño Existen diferentes recursos interactivos que han sido utilizados para la enseñanza del idioma inglés y la materia de interacción y colaboración. En la actualidad se trata de ampliar
Más detallesIngeniería del Software I
- 1 - Ingeniería del Software I 2do. Cuatrimestre 2005 INTRODUCCIÓN... 2 SEMÁNTICA... 2 NOTACIÓN... 3 ESTADO ACCIÓN... 3 Transiciones Simples... 3 Estados Acción Compuestos... 3 Estados Acción Iniciales
Más detallesNotas de clase. Threads
Licenciatura en Ciencias de la Computación, Facultad de Ciencias, UNAM. Computación concurrente. Profesor: Carlos Zerón Martínez. Ayudante: Manuel Ignacio Castillo López. Notas de clase Threads Introducción
Más detallesAplicaciones de Microsoft Dynamics CRM 4.0
8980B Aplicaciones de Microsoft Dynamics CRM 4.0 Fabricante: Microsoft Grupo: Dynamics Subgrupo: Microsoft Dynamics CRM 4.0 Formación: Presencial Horas: 15 Introducción Este curso con instructor de tres
Más detallesCURSO: APACHE SPARK CAPÍTULO 3: SPARK CONCEPTOS BÁSICOS.
CURSO: APACHE SPARK CAPÍTULO 3: SPARK CONCEPTOS BÁSICOS www.formacionhadoop.com Índice 1 Introducción a Spark 2 3 Spark Shell 2.1 SparkContext Introducción a RDDs (Resilient Distributed Datasets) 3.1 Creación
Más detallesArquitectura del PLC. Dpto. Electrónica, Automática e Informática Industrial)
Arquitectura del PLC Dpto. Electrónica, Automática e Informática Industrial) www.elai.upm.es Introducción (I) El PLC recibe, en tiempo real, la información de los sensores conectados al proceso y ejecuta
Más detallesPremios CONTRATOS Y PROYECTOS SMART CITIES 2014
Premios CONTRATOS Y PROYECTOS SMART CITIES 2014 Conecta Aqua Servicio de gestión remota de de agua Orange Estrategia e Innovación 12 de Marzo 2014 (Orange confidencial) Introducción El agua se configura
Más detallesMS_10962 Advanced Automated Administration with Windows PowerShell
Gold Learning Gold Business Intelligence Silver Data Plataform MS_10962 Advanced Automated Administration with Windows PowerShell www.ked.com.mx Av. Revolución No. 374 Col. San Pedro de los Pinos, C.P.
Más detallesCapas de presentación
TEMA5 Tema5:Programación por Capas Introducción Capa de Presentación Capa de Negocios (Lógica de Negocio) Capa de Datos Enlace a datos por medio de Clases Métodos de Manipulación de Datos Objetivos: Introducir
Más detallesTEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software.
. TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. Índice 1 INTRODUCCIÓN 2 2 CARACTERÍSTICAS 2 2.1 Características del cliente...2 2.2 Características
Más detallesModelos de programación paralela y concurrente
Modelos de programación paralela y concurrente J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Arquitectura de Computadores Grupo
Más detallesConmutación de circuitos Tráfico
Conmutación de circuitos Tráfico Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios Grado en Ingeniería en Tecnologías de Telecomunicación, 2º Temario
Más detallesTema: Clases y Objetos en C#. Parte II.
Programación II. Guía No. 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C#. Parte II. Objetivos Implementar clases, objetos, propiedades, métodos y
Más detallesTema: Introducción al IDE de Microsoft Visual C#.
Tema: Introducción al IDE de Microsoft Visual C#. Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express mientras crea el formulario más
Más detallesUSB232. Hoja de datos
- 1 - USB232 Hoja de datos 9600, 19200, 38400, 57600, 115200 bps Interfaz USB serie RS232 Integración de tecnología USB Para sistemas con comunicación serie RS232 - 2 - USB232 Interfaz USB serie RS232
Más detallesCAPITULO 1 INTRODUCCION AL PROYECTO
CAPITULO 1 INTRODUCCION AL PROYECTO 1 INTRODUCCION AL PROYECTO 1.1 Marco Teórico Los procesadores digitales de señales ganaron popularidad en los años sesentas con la introducción de la tecnología de estado
Más detallesPattern Oriented Software Architecture. Whole-Part. Jamir Antonio Avila Mojica César Julio Bustacara Medina. Patrones de Software
Pattern Oriented Software Architecture Whole-Part Jamir Antonio Avila Mojica César Julio Bustacara Medina Patrones de Software Agenda Introducción Whole-Part Ejemplo Contexto Problema Solución Estructura
Más detallesParte I:Teoría. Tema 3:Introducción a los Sistemas operativos. Instalación
Tema 3:Introducción a los Sistemas operativos. Instalación Parte I:Teoría Introducción a los SO Componentes Llamadas al sistema Estructura del Kernel Drivers Esta obra está bajo una licencia Reconocimiento-No
Más detalles