Arquitecturas cliente/servidor
|
|
- Lorena Iglesias Montero
- hace 8 años
- Vistas:
Transcripción
1 Arquitecturas cliente/servidor Servidores y Clientes Sincronizados
2 Contenido Procesos Semáforos Sincronización Lectura y Escritura de Archivos Servidores Orientados a Conexión Servidores No Orientados a Conexión
3 Procesos Un programa en ejecución es un proceso. Un proceso es cualquier secuencia de operaciones que están ejecutándose en memoria acpva, realizando una o varias instrucciones sobre ciertos datos.
4 Los procesos pueden ser concurrentes o paralelos.
5 Programación concurrente Cada proceso representa un programa secuencial que ejecuta una serie de instrucciones. Al ejecutarse un programa secuencial, éste sigue un solo hilo de control (thread), esto es se inicia con una operación atómica (indivisible) del proceso y se mueve a través del proceso conforme las operaciones se van ejecutando.
6 Procesos concurrentes Procesos disjuntos Son disjuntos si se ejecutan en diferentes bloques de programa, sin posibilidad de accederse entre sí. Ambos se ejecutan simultáneamente y proceden concurrentemente hasta que alguno o los dos terminan.
7 Procesos cooperapvos Tienen la necesidad de comunicarse entre sí en la realización de una tarea, comparpendo recursos en común por lo que requieren alguna forma de sincronización
8 Programación paralela Un programa paralelo o distribuido es aquel formado por varios procesos secuenciales que se ejecutan en varios procesadores conectados entre sí. Si la red se forma por conexiones dentro de una sola computadora se considera un esquema de programación paralela. Si la red se forma por conexiones entre diferentes computadoras se considera un esquema de programación distribuida.
9 Organización de memoria En un sistema mulpproceso existen recursos considerados comunes o comparpdos por todos los procesadores, como son el caso de la memoria y los medios periféricos. La comunicación entre los procesos se clasifica en dos Ppos: Fuertemente acoplados Para el caso en que el grado de interacción es alto Débilmente acoplados Para el caso contrario
10 Comunicación entre procesos La manera como la memoria es reparpda entre los procesadores determina el MECANISMO DE COMUNICACIÓN a uplizar: Variables compar:das En caso de memoria comparpda y por lo general procesos fuertemente acoplados. Paso de mensajes En caso de memoria distribuida y por lo general procesos bajamente acoplados.
11 Memoria comparpda Un sistema mulpproceso con memoria comparpda es aquél que permite el acceso de cualquier procesador del sistema a cualquier localidad de memoria común. Cada dirección es única e idénpca para todo procesador.
12 La comunicación entre procesos se realiza por lectura y escritura de variables en la misma sección de memoria. Memoria Procesador 1 P1 P2 P3
13 Memoria comparpda Para asegurar la integridad de los datos en memoria comparpda son necesarios: Mecanismos para el soporte de comunicaciones Ambiente de programación que provea la planeación Localización Sincronización Coordinación de procesos.
14 Memoria distribuida Un sistema mulpprocesador de memoria distribuida es aquél en el que cada procesador upliza su propia memoria privada. La comunicación con otros procesadores mediante una red de interconexión.
15 Programación Distribuida La comunicación entre procesos se realiza mediante envío y recepción de datos. Este esquema se conoce como paso de mensajes.
16 Conceptos de programación concurrente y paralela EXCLUSION MUTUA Se refiere a la situación en que dos o más procesos comunicándose entre sí, mantengan la integridad de los datos que comparten. En el caso de variables comparpdas, es la serialización de las acciones de escritura o lectura sobre una variable. En el caso de paso por mensajes se refiere a que cada proceso es capaz de recibir un solo mensaje a la vez.
17 Conceptos CONDICIÓN DE COMPETENCIA Dada la situación de exclusión mutua en la comunicación entre procesos se hace necesario que los procesos compitan entre sí para tomar posesión de las variables comparpdas, o en caso de paso de mensajes que dos o más procesos compitan porque su mensaje sea recibido antes por un tercer proceso.
18 Conceptos JUSTICIA Se refiere al hecho de proporcionar la oportunidad a todos los procesos que ejecuten sus acpvidades sin que ninguno quede suspendido o bloqueado permanentemente. GRANULARIDAD Indica la canpdad de instrucciones a ejecutar que cada procesador realiza con respecto al Pempo que cada proceso tarda en comunicarse
19 Conceptos BALANCE DE TRABAJO Para lograr un trabajo eficiente y una distribución equitapva de procesador(es) es necesario aplicar técnicas de balance de trabajo para que se distribuyan lo más uniformemente posibles los procesadores. Un balance de trabajo óppmo manpene los procesadores ocupados, procurando que todos ellos terminen casi al mismo Pempo.
20 Conceptos TERMINACION Se refiere al hecho de asegurar que todos los procesos de un programa concurrente finalicen correctamente. Si al menos uno de los procesos no termina por alguna causa, el programa concurrente simplemente no termina con éxito.
21 Dead lock
22 Abrazo mortal (dead lock) Un programa concurrente se encuentra en abrazo mortal si todos sus procesos se encuentran bloqueados entre sí, es decir, ninguno puede llegar a terminar También existe otro problema llamado inanición, que es cuando un proceso no puede llegar a ejecutarse, en el ejemplo de los filósofos que nunca pueda comer ya que no puede obtener los dos tenedores necesarios.
23 Si se Pene programación paralela eso significa que se puede dividir el Pempo de procesamiento en el número de procesadores existentes? P0 P1 P2 P3 P0 P2 P1 P3 P0 P2 P1 P3 Divide y vencerás.
24 Ley de Amdahl Propone normalizar el Pempo que toma realizar la operación en un solo procesador al valor de 1. La fracción del cálculo que sólo se puede realizar secuencialmente será F, entonces la fracción paralelizable es1- F. Entonces, el incremento de velocidad máximo que puede obtenerse con P elementos de procesamiento está dado por la ecuación:
25 El caso ideal Como un ejemplo, si nuestra aplicación no Pene sección secuencial, entonces el incremento de velocidad máximo estará dado exactamente por el número de elementos de procesamiento:
26 Programación concurrente y semáforos en Java En Java es posible ejecutar tareas en paralelo, uplizando hebras de control (hilos, threads). Este modo de programación permite tener un espacio de memoria, código o recursos comparpdos. Tiene la ventaja que su ejecución resulta más económica que un proceso completo.
27 Semáforos Java cuenta con semáforos implícitos de la forma: Object mutex = new Object(); /* */ Synchonized (mutex){ /* */ } Que solo pueden ser uplizados para exclusión mutua. Solo una hebra de control puede ejecutarse en el bloque synchonized en un momento dado.
28 Ejemplo del uso de la palabra Synchonized import java.io.*; class Banco { public stapc void main ( String args[]) { try { // Declaramos los dos montones de billetes Contador co1 = new Contador (); Contador co2 = new Contador (); // Declaramos los dos cajeros Cajero c1 = new Cajero(co1); Cajero c2 = new Cajero(co2); // Se ponen a contar.. c1.start(); c2.start(); c1.join(); c2.join(); } catch ( ExcepPon e ){ e.printstacktrace(); } } }
29 Clase Contador: Cuenta billetes y almacena la suma class Contador { int numbilletes = 0 ; long suma = 0 ; final int TOTAL_BILLETES = ; final int VALOR_BILLETES = 200 ; void cuenta () { // A contar la suma de los billetes for ( numbilletes =0 ; numbilletes < TOTAL_BILLETES; numbilletes ++ ) { suma += VALOR_BILLETES ; // Billetes de 200 pesos Thread.yield(); } System.out.println ( numbilletes+ " suman : "+ suma + " pesos"); } }
30 Clase Cajero: Recibe cierta canpdad de class Cajero extends Thread { Contador contadorcajero ; billetes para contar Cajero ( Contador paramcontador ) { contadorcajero = paramcontador ; } public void run () { contadorcajero.cuenta(); } }
31 Resultado: suman pesos suman pesos Es correcto, dado que cada cajero Pene su canpdad de billetes para contar.
32 ComparPendo el recurso Ahora supongamos que los dos cajeros deben contar del mismo montón, o sea, lo comparten y por tanto, la suma de lo que haya contado cada uno debe ser el resultado total. Para ello, modificaremos el código añadiendo lo siguiente Declaramos los dos montones de billetes : Contador co1 = new Contador (); // Ahora sobra, Contador co2 = new Contador (); // Declaramos los dos cajeros y el mismo montón. Cajero c1 = new Cajero(co1); Cajero c2 = new Cajero(co1); Con este cambio obtenemos: suman: pesos suman: pesos
33 El resultado anterior es incorrecto Por tanto, debemos uplizar un mecanismo de sincronización que garanpce que cuando un cajero cuente un billete y lo sume, el otro no pueda intentar coger el mismo billete y sumarlo. La solución que ofrece Java para resolver este problema es de lo más simple y eficiente, uplizando la cláusula synchronized en la declaración del método donde se realiza la tarea "crípca". Por tanto, cambiaremos el método void cuenta() por: synchronized void cuenta ()
34 Si realizamos ese cambio, obtenemos el siguiente resultado: suman : pesos suman : pesos Esto ocurre porque no se inicializa la variable suma antes del ciclo que cuenta los billetes, por lo que el segundo cajero conpnúa la suma en donde la dejó el anterior.
35 Inicializando el contador dentro de cada Si modificamos el código e incluimos la inicialización, tendremos: void cuenta () { // Cada cajero cuenta lo suyo suma = 0 ; // A contar la suma de los billetes for ( numbilletes =0 ; numbilletes < TOTAL_BILLETES ;numbilletes ++ ) { suma += VALOR_BILLETES ; Thread.yield(); } } A parpr de este momento obtenemos el siguiente resultado esperado tal y como detallamos: suman : pesos suman : pesos
36 Otra forma de realizar la sincronización consiste en declarar el objeto comparpdo como sincronizado en vez del método que lo conpene. Se realiza entonces el siguiente cambio: public void run(){ contadorcajero.cuenta(); } por: public void run(){ synchronized (contadorcajero ) { contadorcajero.cuenta(); } }
37 Monitores El siguiente nivel dentro de la solución a los problemas de exclusión mutua y sincronización entre procesos concurrentes fue desarrollado por C.A.R. Hoare y P. Brinch Hansen. Ahora se considera como recurso comparpdo no únicamente las variables comparpdas, sino también a los procedimientos y funciones que actúan sobre las variables
38 Seudocódigo Notación propuesta por Hoare (Simula 67) monitorname: monitor begin procedure //procname { parametros formales } begin // cuerpo del procedimiento // otros procedimiento locales del monitor end.. //inicialización de los datos locales del monitor end //declaraciones de datos locales del monitor
39 Monitores Productor Monitor (recurso comparpdo) Consumidor
40 Ejemplo
41 :TubTest t:tuberia p:productor c:consumidor new Tuberia() new Productor(t) new Consumidor(t) estavacia == false siguiente++ estallena==false siguiente- - estavacia == false siguiente++ lanzar(c ) recoger(c ) lanzar(c ) start( ) run( ) sleep( ) start( ) run( ) sleep( )
42 :TubTest t:tuberia p:productor c:consumidor new Tuberia() new Productor(t) new Consumidor(t) (estavacia==true)? start( ) lanzar(c ) recoger(c ) wait() run( ) sleep( ) start( ) run( ) estavacia== false lanzar(c ) nopfy() estallena==false siguiente- - sleep( )
43 Lectura y Escritura de Archivos import java.io.bufferedinputstream; import java.io.bufferedoutputstream; import java.io.fileinputstream; import java.io.fileoutputstream; public class LecturaEscrituraArchivos { public stapc void main(string args[]){ copiaarchivo("c:/archivoentrada.txt", "c:/archivosalida.txt"); }
44 public stapc void copiaarchivo (String archivolectura, String archivoescritura){ try{ FileInputStream fileinput = new FileInputStream(archivoLectura); BufferedInputStream bufferedinput = new BufferedInputStream(fileInput); FileOutputStream fileoutput = new FileOutputStream(archivoEscritura); BufferedOutputStream bufferedoutput = new BufferedOutputStream(fileOutput); byte [] array = new byte [1]; int leidos= bufferedinput.read(array); while(leidos > 0){ bufferedoutput.write(array); leidos=bufferedinput.read(array); } bufferedinput.close(); bufferedoutput.close(); }catch(exceppon e){ e.printstacktrace(); } } }
45 RandomAccessFile Mediante los objetos de esta clase uplizamos archivos binarios mediante un acceso aleatorio, tanto para lectura como para escritura. Existe un índice que nos indica en qué posición del archivo nos encontramos, y con el que se puede trabajar para posicionarse en el archivo. RandomAccessFile(String nombre, String modo) nombre: cadena idenpficadora del archivo modo: si será de lectura y/o escritura
46 Ejemplo de algunos métodos de escritura La escritura del archivo se realiza con una función que depende el Ppo de datos que se desee escribir. void write( byte b[], int ini, int len ); Escribe len caracteres del vector b. void write( int i ); Escribe la parte baja de i (un byte) en el flujo. void writeboolean( boolean b ); Escribe el boolean b como un byte. void writebyte( int i ); Escribe i como un byte. void writebytes( String s ); Escribe la cadena s tratada como bytes, no caracteres. void writechar( int i ); Escribe i como 1 byte. void writechars( String s ); Escribe la cadena s. void writedouble( double d ); Convierte d a long y le escribe como 8 bytes. void writefloat( float f ); Convierte f a entero y le escribe como 4 bytes. void writeint( int i ); Escribe i como 4 bytes. void writelong( long v ); Escribe v como 8 bytes. void writeshort( int i ); Escribe i como 2 bytes. void writeutf( String s ); Escribe la cadenas UTF Para la lectura existen métodos análogos para leer cada uno de los Ppos de datos.
Programación concurrente y semáforos en Java
Programación concurrente y semáforos en Java En Java es posible ejecutar tareas en paralelo, utilizando hebras de control (hilos, threads). Este modo de programación permite tener un espacio de memoria,
Más detallesPROGRAMACIÓ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 detallesConcurrencia. 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
Más detallesBenemé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 detalles4. 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
Más detallesModulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Más detallesCDI 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
Más detallesBenemé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 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 detallesMultitarea 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 detallesManual del Protocolo XML-RPC de Mensajería Negocios
Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...
Más detallesIntroducción a las redes de computadores
Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes
Más detallesTema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código
Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación
Más detallesProgramación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
Más detallesHilos, 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
Más detallesIntroducció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
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 detallesJava 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 detallesPara leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.
CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA
Más detallesSensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.
Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar
Más detallesDISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.
DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar
Más detallesSOLUCION PARCIAL TASK SCHEDULER. Task Scheduler
Task Scheduler Se necesita modelar una aplicación que permita definir tareas y ejecutarlas en forma programada. Las tareas pueden ser: La ejecución de programa cualquiera o comando del sistema operativo,
Más detallesIntroducción a la Firma Electrónica en MIDAS
Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento
Más detallesResolución de problemas en paralelo
Resolución de problemas en paralelo Algoritmos Paralelos Tema 1. Introducción a la computación paralela (segunda parte) Vicente Cerverón Universitat de València Resolución de problemas en paralelo Descomposición
Más detallesFACULTAD DE INGENIERÍA
NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Variables y Tipos de Datos PRÁCTICA NÚM. [ 1 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje
Más detallesEL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET
1 EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET La familia de protocolos TCP/IP fue diseñada para permitir la interconexión entre distintas redes. El mejor ejemplo es Internet: se trata
Más detallesCreación de Funciones de Conducción
Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado
Más detallesSISTEMAS 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
Más detallesSintaxis y Convenciones de Java. M. en C. Erika Vilches
Sintaxis y Convenciones de Java M. en C. Erika Vilches Estructura del Código en Java Hay una clase en un archivo fuente Hay métodos en una clase Hay enunciados en un método Anatomía de una Clase Cuando
Más detallesModelo 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 detalles1. Manejo de memoria estática 2. Manejo de memoria dinámica
1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo
Más detallesLos mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:
SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas
Más detallesCapítulo V. Implementación
Capítulo V Implementación En este capítulo se especifican los recursos utilizados en la implementación de la interfaz, así como se describe su arquitectura funcional y las características principales.
Más detallesPROGRAMACION 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 detalles2.- Diseño del comportamiento: Diagrama de actividades. Mª Antonia Zapata
2.- Diseño del comportamiento: Diagrama de actividades Mª Antonia Zapata Introducción Los diagramas de actividades sirven para representar el comportamiento dinámico de un sistema haciendo hincapié en
Más detalles2 Sea una unidad de disco duro de brazo móvil con las siguientes características:
1 Sea una unidad de disco duro de brazo móvil con las siguientes características: 18 superficies, 20.331 cilindros y 400 sectores por pista. Sectores de 1.024 bytes de información neta. Velocidad de rotación:
Más detallesRESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Más detalles7. Manejo de Archivos en C.
7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de
Más detallesPROGRAMACIÓ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 detallesMICQ. 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
Más detallesFACULTAD DE INGENIERÍA
NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Operadores y Expresiones PRÁCTICA NÚM. [ 3 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje
Más detallesAnexo 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
Más detalles11. 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 detalles1. Definición de puerto 2. Sockets 3. Conceptos cliente/servidor 4. Definición de Stream 5. Concurrencia, multiprogramación y multitarea 6.
1. Definición de puerto 2. Sockets 3. Conceptos cliente/servidor 4. Definición de Stream 5. Concurrencia, multiprogramación y multitarea 6. Servidores iterativos y concurrentes 7. Estándares Stream Es
Más detallesLa netbook puede ser administrada durante su uso en el aula mediante el Software de Gestión del Aula.
Presentación La netbook puede ser administrada durante su uso en el aula mediante el Software de Gestión del Aula. Recursos: Netbook para cada estudiante con software E-learning Class para almnos, computadora
Más detallesSecretos de la Programación Concurrente
Secretos de la Programación Concurrente Stuart Perez, Luis Castro Autómatas y Compiladores, Escuela de Ciencias de la Computación e Informática, San Pedro de Montes de Oca, Costa Rica jstuartp@gmail.com
Más detallesInstalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS
Instalación y mantenimiento de servicios de Internet U.T.3.- Servicio DNS 1 Qué es el servicio DNS? A los usuarios de Internet les resulta complicado trabajar con direcciones IP, sobre todo porque son
Más detallesCapí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:
Más detallesGESTIÓ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 detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
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 detallesVisual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario
Empleo de módulos y Procedimientos Procedimientos definidos por el usuario Según lo que hemos visto hasta ahora, Visual Basic, almacena el código en módulos. Hay tres clases de módulos: formularios (.frm),
Más detallesConcurrencia 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
Más detallesPARTE 3 ECUACIONES DE EQUIVALENCIA FINANCIERA T E M A S
PARTE 3 ECUACIONES DE EQUIVALENCIA FINANCIERA Valor del dinero en el tiempo Conceptos de capitalización y descuento Ecuaciones de equivalencia financiera Ejercicio de reestructuración de deuda T E M A
Más detallesIntroducción al lenguaje Java
Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno
Más detallesEstructura de datos tipo vector.
Estructura de datos tipo vector. Hemos empleado variables de distinto tipo para el almacenamiento de datos (variables int, float, String) En esta sección veremos otros tipos de variables que permiten almacenar
Más detallesConcurrencia: Exclusión mutua y Sincronización
Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas
Más detallesObject 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
Más detalles(decimal) 128.10.2.30 (hexadecimal) 80.0A.02.1E (binario) 10000000.00001010.00000010.00011110
REDES Internet no es un nuevo tipo de red física, sino un conjunto de tecnologías que permiten interconectar redes muy distintas entre sí. Internet no es dependiente de la máquina ni del sistema operativo
Más detallesTema 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
Más detallesMatemática de redes Representación binaria de datos Bits y bytes
Matemática de redes Representación binaria de datos Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo pueden entender
Más detallesISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA
ARREGLOS EN JAVA I I N T R O D U C C I Ó N En las sesiones anteriores, los datos manejados en los programas han sido datos simples (carácter, entero, reales) En un gran número de problemas es necesario
Más detallesTema 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
Más detallesModelo de aplicaciones CUDA
Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas
Más detallesLEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)
APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde
Más detallesIntroducción al lenguaje de programación java
Introducción al lenguaje de programación java Algoritmia y Programación Slide 1 LENGUAJES DE PROGRAMACION Un lenguaje de programación es un idioma artificial diseñado y creado para expresar algoritmos
Más detallesTema 2. Espacios Vectoriales. 2.1. Introducción
Tema 2 Espacios Vectoriales 2.1. Introducción Estamos habituados en diferentes cursos a trabajar con el concepto de vector. Concretamente sabemos que un vector es un segmento orientado caracterizado por
Más detallesConcurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia
Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia
Más detallesObjetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
Más detallesSistemas de Gestión de Calidad. Control documental
4 Sistemas de Gestión de Calidad. Control documental ÍNDICE: 4.1 Requisitos Generales 4.2 Requisitos de la documentación 4.2.1 Generalidades 4.2.2 Manual de la Calidad 4.2.3 Control de los documentos 4.2.4
Más detallesIntroducción a la Programación Orientada a Objetos
Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir
Más detallesSistemas de archivos distribuidos. Alvaro Ospina Sanjuan alvaro.ospina@correo.upb.edu.co
Sistemas de archivos distribuidos Alvaro Ospina Sanjuan alvaro.ospina@correo.upb.edu.co >Abstracción del sistema operativo para representar y organizar los recursos de almacenamiento >Se debe hacer la
Más detallesCAPÍTULO 2 Sistemas De Base De Datos Multiusuarios
CAPÍTULO 2 Sistemas De De Multiusuarios Un sistema multiusuario es un sistema informático que da servicio, manera concurrente, a diferentes usuarios mediante la utilización compartida sus recursos. Con
Más detallesCOMO CREAR UN DIAGRAMA DE FLUJO
COMO CREAR UN DIAGRAMA DE FLUJO Los diagramas de flujo son una manera de representar visualmente el flujo de datos a través de sistemas de tratamiento de información. Los diagramas de flujo describen qué
Más detallesPART II: Moviendo al jugador
UNITY PART II: Moviendo al jugador El movimiento se lo vamos a dar a través de un programa Definición de programa: Un programa es una secuencia de instrucciones, escritas para realizar una tarea específica
Más detallesEJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO)
EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO) Luis José Sánchez 1. Realiza un programa que sume los 100 números siguientes a un número entero y positivo introducido por teclado. Se debe
Más detallesTema 6: Periféricos y entrada-salida
Tema 6: Periféricos y entrada-salida Soluciones a los problemas impares Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Tema 6: Hoja: 2 / 12 Tema 6: Hoja: 3 / 12 Base
Más detallesControl Digital en PC con MS-DOS
Control Digital en PC con MS-DOS Abel Alberto Cuadrado Vega 19 de abril de 2006 1. Introducción Un PC puede ser utilizado para realizar un sistema de control digital. Para ello necesita lo siguiente: tarjeta
Más detallesMONITORES 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 detallesMemoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).
Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos). Memoria Típica. Los datos almacenados en memoria tienen que pasar, en un momento
Más detallesEXCEPCIONES EN JAVA. Las sentencias que tratan las excepciones son try y catch. La sintaxis es:
EXCEPCIONES EN JAVA Uno de los problemas más importantes al escribir aplicaciones es el tratamiento de los errores. Errores no previstos que distorsionan la ejecución del programa. Las excepciones de Java
Más detallesLICENCIATURA EN EDUCACION FISICA RECREACION Y DEPORTES
CORREO ELECTRONICO PEDRONEL CASTAÑO GARCES UNIVERSIDAD DEL ATLANTICO LICENCIATURA EN EDUCACION FISICA RECREACION Y DEPORTES Página 1 QUE ES UN CORREO ELECTRÓNICO Un Correo electrónico, es una herramienta
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 detallesUtilidades de la base de datos
Utilidades de la base de datos Desde esta opcion del menú de Access, podemos realizar las siguientes operaciones: Convertir Base de datos Compactar y reparar base de datos Administrador de tablas vinculadas
Más detallesPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE II.3 Sincronización basada en memoria compartida: Semáforos J.M. Drake 1 Procesos concurrentes y memoria compartida. Si los diferentes procesos de un programa concurrente tienen
Más detalles2. Estructura de un programa en Java
24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador
Más detallesEjemplos de conversión de reales a enteros
Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print
Más detallesCreación y administración de grupos de dominio
Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia
Más detallesEstructuras de datos: Proyecto 2
Estructuras de datos: Proyecto 2 28 de mayo de 2013 Instrucciones Enviar las soluciones por email a los ayudantes, con copia a la profesora. Plazo de entrega: 16 de junio (durante todo el día). Se debe
Más detallesBase de datos en Excel
Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de
Más detallesMemoria 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
Más detallesCurso de PHP con MySQL Gratis
Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este
Más detallesdit 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 detallesMensajes. Interbloqueo
CONCURRENCIA DE PROCESOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Los procesos comparten variables globales, comparten y compiten por recursos, se ejecutan simultáneamente intercalándose
Más detallesCapítulo 5. Cliente-Servidor.
Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor
Más detallesManual de uso. Manual de uso - citanet 1
Manual de uso Manual de uso - citanet 1 1. Requisitos previos a la instalación... 3 2. Primer inicio de la aplicación.... 3 2.1. Pantalla de inicio de sesión.... 3 2.2. Datos de la empresa y configuración
Más detallesSolución al Examen de Prácticas de Programación (Ingeniería Informática)
Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa
Más detalles15. Parámetros o argumentos
Programación orientada a objetos con Java 161 15. Parámetros o argumentos Objetivos: a) Profundizar en el concepto de parámetro de una clase e indicar su mecanismo de funcionamiento. b) Interpretar el
Más detallesIngenierí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
Más detallesLABORATORIO Nº 3 PRÁCTICA DE FUNCIONES EN MICROSOFT EXCEL
OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar funciones en Microsoft Excel 2010. 1) LA FUNCIÓN SI EN EXCEL La función SI en Excel es parte del grupo
Más detalles