RPC. Llamadas a Procedimientos Remotos (RPC) Paradigmas. Conceptos. Modelo Conceptual
|
|
- Encarnación Poblete Carrizo
- hace 8 años
- Vistas:
Transcripción
1 Llamadas a Procedimientos Remotos (RPC) Basado en el libro Internetworking with TCP/IP. Vol III. D. E Comer y D. Stevens Algunas Ilustraciones se tomaron de Practical Unix Programming. K. Robbins y Robbins RPC Conceptos Generación de Programas Distribuidos (Concepto de RPCGEN) Ejemplo 1 2 Paradigmas 3 Conceptos 4 Diseño orientado a comunicaciones Se comienza con el protocolo Se diseña el formato de los mensajes y cómo el cliente y el servidor reaccionan y responden a los mensajes Diseño orientado a la aplicación Se diseña una aplicación para resolver el problema. Se hacen pruebas en una sola máquina Se divide el programa en varias piezas que se ejecutarán en distintos computadores y se añade el protocolo. Modelo Conceptual Subrutinas Llamadas al Sistema Espacio Usuario Espacio del Kernel Espacio usuario Programa usuario Función de librería main func() Espacio Usuario func(void ){ sys_func() sys_func(void ){ trap del trap proc 1 proc 2 proc 3 System call proc 5 proc 6 Thread de ejecuci ón Thread de ejecuci ón Thread bloqueado Espacio del kernel Trap-return 5 6 1
2 Programa Distribuido Computador 1 main Computador 2 Comp. local func() Comp. remoto Funciones del Servidor func(void ){ Remota Proceso en el Stub del Llamada y lógico Funciones del Serv. Proceso en el Servidor Stub del Servidor proc 1 proc 2 proc 3 proc 4 proc 5 Thread de ejecuci ón Red Thread bloqueado Llamada a proc. remota kernel del cliente Kernel del servidor RPC (Remote Procedure Call) Es una poderosa técnica para el desarrollo de aplicaciones distribuidas, basadas en el paradigma cliente/servidor. Extiende la noción de s a procedimientos locales, de forma tal que el procedimiento llamado no tiene que estar en la misma máquina donde reside el llamador. RPC y Procedimientos Locales En RPC se transfiere el control al procedimiento llamado. El llamador se suspende. La respuesta del servidor es análoga al return(). El flujo de control vuelve al llamador y el llamado deja de ejecutarse. Existen s anidadas: un procedimiento remoto puede llamar a otro. El Servidor se convierte en cliente de otro servicio RPC y Procedimientos Locales (cont.) Un procedimiento convencional permanece inactivo. El proceso servidor existe en el sistema remoto y está esperando solicitudes de sus clientes. Un procedimiento convencional acepta pocos argumentos y retorna pocos resultados. Un servidor acepta y retorna cantidades arbitrarias de datos. RPC y Procedimientos Locales (cont.) RPCs pueden ser varios ordenes de magnitud más lentas que una local. Se pueden pasar apuntadores como argumentos de procedimientos locales. Un procedimiento remoto opera en un espacio de direcciones distinto. No se pueden pasar apuntadores
3 RPC y Procedimientos Locales (cont.) El procedimiento remoto no comparte el ambiente del llamador. No tiene acceso directo a los descriptores de archivo o a las funciones del SOP. SUN RPC: Definición Define: El formato de los mensajes que el cliente (llamador) envía al invocar un procedimiento remoto. El formato de los resultados Permite al programador usar TCP o UDP Usa XDR (external data representation) Ofrece un compilador que facilita el desarrollo del programa Un programa remoto es la unidad básica de software que se ejecuta en un computador remoto. Equivale al servidor. Se compone de un conjunto de procedimientos y datos globales proc 1 proc 2 proc 3 Datos Globales Compartidos Argumentos: se pasan en una estructura (struct de C). Identificación: A cada programa se le asigna un identificador de 32 bits A cada procedimiento se le asigna un número entero: 1,2,..N. También se incluye un número de versión. (prog,vers, proc) Exclusión Mutua: Como máximo se puede invocar un procedimiento en un programa remoto (exclusión mutua entre procedimientos) Semántica de Comunicación: permite elegir entre TCP: confiable UDP: eficiente Al menos una vez Si una a procedimiento remota retorna, el llamador puede concluir que el procedimiento se invocó al menos una vez. Cero o más veces: Si una a proc. remota no retorna, éste pudo haber sido invocado cero o más veces. Cada a procedimiento debe ser idempotente
4 19 Retransmisiones: Existe una estrategia de retransmisión sencilla basada en timeouts. Los timeouts no se adaptan a las condiciones de la. El software en la máquina del llamador puede, después de varios intentos, declarar que el procedimiento remoto no se pudo ejecutar. Esto no garantiza que nunca se ejecutó. Para hacer posible la comunicación, a cada servicio se le asigna un número de puerto que conocen todos los clientes. Programas RPC (32 bits), puertos (16 bits). Los programas remotos obtienen puertos dinámicamente. Las asignaciones son temporales. El servidor, cuando inicia su ejecución, pregunta al sistema por un puerto. El sistema puede elegir cada vez un número de puerto diferente. 20 Al no conocer el puerto, el cliente no puede contactar al servidor directamente. El cliente sólo conoce el host y el número de programa. Debe ser capaz de obtener el puerto asignado al servidor. El mapping o asociación se debe hacer de forma dinámica. RPC incluye un servicio de asociación dinámica. Cada máquina que ofrece un programa RPC con un mecanismo que permite al cliente obtener el número de puerto del servidor: port mapper. Server: Programa RPC Server registra (programa, puerto) Port Mapper Puerto que Usa el servidor remoto Puerto bien conocido Marshaling Cuando un servidor RPC comienza a ejecutarse, solicita un puerto del sistema que usa para sus comunicaciones El servidor contacta al port mapper para añadir la siguiente información a la BD: (Nro. Programa, puerto) Ahora los llamadores pueden saber el puerto del servidor enviando un mensaje al port mapper al puerto 111. Al saber el puerto el cliente puede contactar 23 Para transferir los argumentos entre computadoras estos deben ser representados con un formato externo. Las listas, por ejemplo, deben colocarse en una representación compacta (marshaling). Los siguientes términos se usan para denotar la tarea de codificar argumentos: marshal, linearize, serialize directamente al servidor. 24 4
5 Generación de Programas Distribuidos: RPCGEN Mecanismos de programación Sun RPC ofrece: Rutinas para convertir datos simples y complejos al formato XDR Rutinas de librería para llamar un procedimiento remoto, registrar un servicio con el port_mapper, conducir una al procedimiento adecuado dentro del prog. remoto. Una herramienta que produce programas fuentes en C XDR (Interface Description Language) Similar a declaraciones en C, pero son lenguajes diferentes Se ofrecen los tipos básicos: int, short,char long. Números de doble precisión (float, double). El tipo void. Se da el soporte para tipos definidos por el usuario: typedef, structs, unions, arrays, tipos enumerados Se definen tipos extra: bool, string XDR Enum Priority { PRIO_LOW = 1; PRIO_MED = 1; PRIO_HIGH = 1; ; Struct alarm { Priority prio; string text<>; /* string de tamaño variable */ rpcgen h N test.x > test.h Unions Enum ReturnType { RESULT_NAME = 1; RESULT_CODE = 2; ; Union Result switch(return type){ case RESULT_NAME: string name<>; case RESULT_CODE: int code; default: void; ; XDR Listas struct List { List* next; string data<>; ; typedef List* ListPtr; Program RPCDEMO { version RPCDEMO_VERS_ORIG { void RPCDEMO_PRINT(ListaPtr lp) = 1; = 1; = ; Especificación de los programas Program PROG { version PROG1 { void PROG_PROC1(int a) = 1; void PROG_PROC2(string str<>) = 2; = 1; version PROG2 { void PROG_PROC1(int a, int b) = 1; void PROG_PROC2(string str<>) = 2; = 2; = ; Rutinas de Librería Enviar un mensaje a un servidor: clientrpc(host,prog, progver, procnum, inproc, im, outproc, out) inproc: progrma que hace el marshaling de los argumentos a enviar. in: dirección de los argumentos outproc: procedimiento local para hacer unmarshaling de los resultados. out:dirección en memoria donde se quedan los resultados
6 Rutinas de Librería Handle = cln_create (host,prog, ver, proto) Crea un identificador que puede usarse para enviar mensajes RPC. host, prog y ver: host, programa y versión. proto: protocolo RPCGEN Genera código para el cliente y el servidor útil para: Empaquetar los argumentos (marshaling) Enviar un mensaje RPC Conducir (dipatch) una solicitud del cliente al procedimiento adecuado. Enviar un reply Desempaquetar los argumentos Programación Distribuida Proc. A Proc. B Los argumentos deben coincidir con los parámetros formales. Hay que añadir código: los procedimientos adicionales se llaman Stubs. En el cliente, el stub reemplaza al procedimiento llamado. En el servidor, reemplaza al llamador. Proc. A1 Stub C. B1 Stub del Proc. A2 Stub C. B2 Llamada remota Llamada remota Stub del Servidor Proc. B1 Stub S. B1 Dispatcher Proc. B2 Stub S. B Proceso en el Remota Infaz. cliente Stub del Comm. Proceso en el Servidor Funciones del Serv. Infaz. servidor Comm. servidor rdict.x Archivos rpcgen rdict_clnt.c rdict.h rdict.c Aplic. Comp. C rdict_cif.c Iface rdict RPC Especificación del programa rdict_xdr.h rdict_svc.h Comp. C rdictd Servidor kernel del cliente Kernel del servidor Proc. remotos rdict_srp.c Server Iface Rdict_sif.c 36 6
7 Archivos de Salida Pasos para el desarrollo de una aplicación distribuida rdict.h = declaraciones de constantes y tipos rdict_xdr.h = rutinas XDR para codificar los argumentos rdict_clnt.c = Stub de comunicaciones del lado del cliente rdict_svc.c = Stub de comunicaciones del lado del servidor 37 Desarrolle y pruebe una aplicación convencional Elija un conjunto de procedimientos para colocarlos en una máquina remota. Colóquelos en un archivo separado. Escriba la especificación para rpcgen y ejecute rpcgen Escriba las interfaces para cliente y servidor Genere el ejecutable del cliente: aplicación, stubs, rutinas XDR Genere el ejecutable del servidor: stubs, procedimientos, rutinas XDR. Ejecute el servidor en una máquina remota. Ejecute el cliente. 38 Ejemplo nextin insertw main initw deletew lookupw Comando Argumento Función I i d l palabra palabra palabra Inicializa la BD. Elimina todas las palabras Inserta una palabra en la BD Elimina una palabra de la BD Busca una palabra en la BD en Comp1 main nextin Programa remoto en Comp2 initw insertw deletew lookupw Estructura de datos del diccionario q Termina el programa 39 7
Llamadas a Procedimientos Remotos (RPC) Conceptos. Modelos de Programación
Llamadas a Procedimientos Remotos (RPC) Basado en el libro Internetworking with TCP/IP. Vol III. D. E Comer y D. Stevens Algunas Ilustraciones se tomaron de Practical Unix Programming. K. Robbins y Robbins
Más detallesSOR -::- Prácticas -::- Curso 05/06. RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX.
RPC RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX. El RPC es una interfaz de programación de aplicación (API) disponible para el desarrollo de
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 Cada capa de la pila añade a los datos a enviar a la capa inferior, información de control para que el envío sea correcto. Esta información
Más detallesRPC. ONC (Open Network Compu2ng) n Ru2nas para la conversión de datos XDR. n XDR maneja estructuras complejas n Herramienta de generación de programas
3-1.- Linux RPC RPC ONC (Open Network Compu2ng) n Ru2nas para la conversión de datos XDR n XDR maneja estructuras complejas n Herramienta de generación de programas 2 Proceso de programación RPC n Programación
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 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 detallesSistemas de Operación II
Sistemas de Operación II Sistemas de Archivos Distribuidos Prof. Carlos Figueira Basado en material de Yudith Cardinale (USB) Andrew Tanembaum y Marteen van Steen Contenido Introducción Requisitos Aspectos
Más detallesservicios. El API es definido al nivel de código fuente y proporciona el nivel de
GLOSARIO API Application Program -ming- Interface Es la interfaz por la cual una aplicación accede al sistema operativo u a otros servicios. El API es definido al nivel de código fuente y proporciona el
Más detalles8. Sentencia return y métodos
92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente
Más detallesRPC Llamadas a Procedimientos Remotos
RPC Llamadas a Procedimientos Remotos TABLA DE CONTENIDO 1.INTRODUCCIÓN... 3 2.GENERALIDADES... 3 3.CARACTERÍSTICAS DE TRANSPARENCIA... 6 3.1.PASE DE PARÁMETROS... 7 3.2.ENLACE... 7 3.3.PROTOCOLO DE TRANSPORTE...
Más detallesPlanificación y administración de redes SNMP
Planificación y administración de redes SNMP Jesús Moreno León Raúl Ruiz Padilla jesus.moreno.edu@ juntadeandalucia.es Mayo 2012 Jesús Moreno León, Mayo de 2012 Algunos derechos reservados. Este artículo
Más detallesCapitulo V Administración de memoria
Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal
Más detallesEjercicio 1 (2 puntos. Tiempo: 25 minutos)
Fecha de publicación de notas: jueves 18 de Julio. Fecha de revisión: viernes 19 de Julio a las 10:00h. Despacho C-209. Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Se desea desarrollar un programa en C
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 detalles1. Visión general de RMI
1. Visión general de RMI Java RMI permite al programador ejecutar métodos de objetos remotos utilizando la misma semántica que si fueran invocaciones locales (Véase Figura 1). Máquina Local (Cliente) Máquina
Más detallesLENGUAJE. Tema 1 - Introducción
LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del
Más detallesEscuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática
Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 2. Algoritmos, diagramas de flujo y pseudocódigo Contenido Algoritmos Diagramas de flujo
Más detalles8 Conjunto de protocolos TCP/IP y direccionamiento IP
8 Conjunto de protocolos TCP/IP y direccionamiento IP 8.1 Introducción a TCP/IP 8.1.1 Historia de TCP/IP El Departamento de Defensa de EE.UU. (DoD) creó el modelo de referencia TCP/IP porque necesitaba
Más detallesBASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN
BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN 3.3 Aplicaciones Definición de Aplicación (Application). Programa informático que permite a un usuario utilizar una computadora con un fin específico. Las
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 detallesIntroducción de Sockets en C.
PRÁCTICA 2: Introducción de Sockets en C. 1 La Interfaz Socket es una API para redes TCP/IP que se compone de funciones o rutinas. Originalmente se construyó a principios de los 80 para el sistema operativo
Más detallesTema: Arreglos de Objetos en C++.
Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.
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 detallesIntroduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Más detallesSoporte lógico de computadoras
Soporte lógico de computadoras Software: Sistemas Operativos Lenguajes de programación Lenguajes de Programación. Clasificación Proximidad del lenguaje al que entiende el ordenador: Bajo nivel: específico
Más detallesRemote 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)
Más detallesDISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA
DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA José Luis Pastrana Brincones (pastrana@lcc.uma.es) Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga
Más detallesCapítulo 4. Prueba de Adaptabilidad
Capítulo 4 Prueba de Adaptabilidad Capítulo 4. Prueba de Adaptabilidad Como se mencionó en el capítulo 2 actualmente no es válido que el software únicamente funcione bien y resuelva el problema que le
Más detallesANEXOS. Algoritmo que genera un valor hash de algún dato, como una clave de. mensaje o de sesión. Con un buen algoritmo de hash, los cambios que se
ANEXOS GLOSARIO A Algoritmo de hash Algoritmo que genera un valor hash de algún dato, como una clave de mensaje o de sesión. Con un buen algoritmo de hash, los cambios que se produzcan en los datos de
Más detallesLección 8 Introducción a las llamadas a procedimientos remotos (RPC) Universidad de Oviedo / Dpto. de Informática
Lección 8 Introducción a las llamadas a procedimientos remotos (RPC) Objetivo Extender a los sistemas distribuidos el mecanismo de llamadas a procedimientos y subrutinas de los lenguajes de programación.
Más detallesINSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++
5.- Herencia Múltiple. Un hecho natural es que una persona tenga más de un pariente mayor, esta situación también se puede dar en la herencia de clases, naturalmente este tipo de herencia involucra un
Más detallesLa vida en un mundo centrado en la red
La vida en un mundo centrado en la red Aspectos básicos de networking: Capítulo 6 1 Objetivos Explicar la estructura del direccionamiento IP y a convertir entre números binarios y números decimales. Clasificar
Más detallesBase de datos relacional
Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar
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 detalles1. Solicitando una cuenta de correo a nuestro proveedor de Internet. 2. Adquiriendo una cuenta de correo a través de la web (webmail).
CORREO ELECTRÓNICO NIVEL BÁSICO DE CORREO ELECTRÓNICO INICIACIÓN A CORREO ELECTRÓNICO OBTENER UNA CUENTA DE CORREO ELECTRÓNICO GRATUITA Al correo electrónico también se lo conoce como e-mail, abreviatura
Más detallesTema: Sobrecarga de Operadores.
Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen
Más detallesCapítulo 6. Asociaciones y Declaraciones.
Capítulo 6. Asociaciones y Declaraciones. Lenguajes de Programación Carlos Ureña Almagro Curso 2011-12 Contents 1 Asociaciones, entornos y ámbitos 2 2 Declaraciones y definiciones 6 3 Definiciones de valores,
Más detallesINSTITUTO TECNOLÓGICO DE SALINA CRUZ. Fundamentos De Redes. Semestre Agosto-Diciembre 2014. Reporte De Lectura
INSTITUTO TECNOLÓGICO DE SALINA CRUZ Fundamentos De Redes Semestre Agosto-Diciembre 2014 Reporte De Lectura Lectura Capítulo IV UNIDAD 3: Capa de red y direccionamiento de la red: IPv4 NOMBRE: Liña Quecha
Más detallesCurso: FT433 - Introducción a la virtualización con VirtualBox
forumtecnico.com Curso: FT433 - Introducción a la virtualización con VirtualBox Configuración de red Uno de los aspectos de la virtualización con más número de opciones es la configuración de red. Recordemos
Más detallesIntroducción Programar es enseñar Iniciación a la programación Finalidad de este libro
Introducción Programar es enseñar Iniciación a la programación Finalidad de este libro 1. Aplicaciones de la programación Paco y sus inmensas hojas de cálculo Irene siente la llamada de Internet El genio
Más detallesInstitución Educativa Inem Felipe Pérez de Pereira 2012 Estrategia taller. AREA: Sistemas de información Taller 1 2 3 4 Previsto 1 2 3 4 5 6 7 8 9 10
Grado 10º Tiempo (semanas) GUÍA DE FUNDAMENTACIÓN Institución Educativa AREA: Sistemas de información Taller 1 2 3 4 Previsto 1 2 3 4 5 6 7 8 9 10 Fecha Real 1 2 3 4 5 6 7 8 9 10 Área/proyecto: es y Mantenimiento
Más detallesNivel aplicación Interacción Cliente Servidor. ELO322: Redes de Computadores Agustín J. González
Nivel aplicación Interacción Cliente Servidor ELO322: Redes de Computadores Agustín J. González 1 Introducción Recordar que todo lo visto hasta ahora sólo se justifica por las aplicaciones a nivel aplicación.
Más detallesIntroducción al enrutamiento y envío de paquetes
Introducción al enrutamiento y envío de paquetes Conceptos y protocolos de enrutamiento. Capítulo 1 Ing. Aníbal Coto 1 Objetivos Identificar un router como una computadora con SO y hardware diseñados para
Más detallesAUTORES: OBREGON CARLA 20.621.330 ROMERO MARIA 19.118.452 MARACAIBO FEBRERO 2012
REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL DE LAS FUERZAS ARMADAS BOLIVARIANA DOCENTE: JOSE PARRA CATEDRA: REDES MARACAIBO FEBRERO
Más detallesCAPÍTULO I. Sistemas de Control Distribuido (SCD).
1.1 Sistemas de Control. Un sistema es un ente cuya función es la de recibir acciones externas llamadas variables de entrada que a su vez provocan una o varias reacciones como respuesta llamadas variables
Más detallesUnidad 3 Direccionamiento IP (Subnetting)
Unidad 3 Direccionamiento IP (Subnetting) Las direcciones denominadas IPv4 se expresan por combinaciones de números de hasta 32 bits que permiten hasta 2 32 posibilidades (4.294.967.296 en total). Los
Más detallesINSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES CÁRDENAS ESPINOSA CÉSAR OCTAVIO racsec_05@hotmail.com Boleta: 2009350122 CASTILLO GUTIÉRREZ
Más detallesAplicaciones clientes servidor y sockets
Aplicaciones clientes servidor y sockets Ejercicio 1. Desarrollar un servidor que permita obtener la hora, la fecha y el día de la semana en la que cae un dia determinado. Diseñar y desarrollar el cliente
Más detallesDireccionamiento de la red: IPv4
Direccionamiento de la red: IPv4 Aspectos básicos de networking: Capítulo 6 1 Objetivos Explicar la estructura del direccionamiento IP y demostrar la capacidad de convertir números decimales en números
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 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 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 detallesOrganización de Computadoras
Organización de Computadoras Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre de 2015 Proyecto N 1 Programación en Lenguaje C El objetivo principal
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 detallesUNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval
UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I Licda. Consuelo Eleticia Sandoval OBJETIVO: ANALIZAR LAS VENTAJAS Y DESVENTAJAS DE LAS REDES DE COMPUTADORAS. Que es una red de computadoras?
Más detallesCAPITULO 3: SISTEMAS ADICIONALES PARA EL CENTRO DE LLAMADAS DE EMERGENCIA
CAPITULO 3: SISTEMAS ADICIONALES PARA EL CENTRO DE LLAMADAS DE EMERGENCIA 3.1 INTRODUCCIÓN En un centro de llamadas de emergencia de nueve llamadas que se reciben solo una es real y las ocho restantes
Más detallesArquitectura Cliente/Servidor
Arquitectura Cliente/Servidor Claudio Cubillos Escuela de Ingeniería Informática Pontificia Universidad Católica de Valparaíso, Chile claudio.cubillos@ucv.cl Arquitectura cliente/servidor v Servidor: rol
Más detallesTutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:
Tutorial de UML Introducción: El Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar y documentar cada una de las partes que comprende
Más detallesInternet Explorer proporciona diversas características que le ayudan a proteger su privacidad y
INTERNET NIVEL MEDIO DE INTERNET MÁS SOBRE INTERNET OPCIONES DE SEGURIDAD Internet Explorer proporciona diversas características que le ayudan a proteger su privacidad y aumentan la seguridad de su equipo
Más detallesPráctica 2: Simón dice
Práctica 2: Simón dice Fecha de entrega: 31 de enero de 2016 0.- Descripción del juego (Wikipedia.org) Simon dice es un juego electrónico, creado por Ralph Baer, que consiste en reproducir una secuencia
Más detallesProcesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1
Procesos Procesos Mario Medina mariomedina@udec.cl El sistema operativo como administrador de procesos Controla la ejecución de procesos para optimizar criterios Asigna recursos a procesos Facilita sincronización
Más detalles2. Conceptos básicos Abstracción La abstracción como un proceso mental natural La abstracción en el desarrollo de software
2. Conceptos básicos Hoy en día las aplicaciones son demasiado voluminosas y complejas para ser manejadas por una sola persona. Las aplicaciones de software son complejas porque modelan la complejidad
Más detallesFundamentos de la Programación
Fundamentos de la Programación El Software Las operaciones que debe realizar el hardware son especificadas con una lista de instrucciones, llamadas programas o software. Dos grandes grupos de software
Más detalles9. Objetos y clases. 9.1. Clases
Programación orientada a objetos con Java 103 9. Objetos y clases Objetivos: a) Presentar el concepto de objeto, clase, atributo, método e instancia b) Interpretar el código fuente de una aplicación Java
Más detallesUnidad I: La capa de Red
ARP El protocolo de resolución de direcciones es responsable de convertir las dirección de protocolo de alto nivel (direcciones IP) a direcciones de red físicas. Primero, consideremos algunas cuestiones
Más detallesVARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora
Más detallesEstructuras de Sistemas Operativos
Estructuras de Sistemas Operativos Definicion de Sistema Operativos Un sistema operativo es un programa que actua como inter entre el usuario y el hardware de un computador y su proposito es proporcionar
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 detallesRequerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso
Requerimientos Principales de un Sistema Operativo Descripción y Control de Procesos Capítulo 3 Entrelazar la ejecución de varios procesos para maximizar el uso del procesador a la vez que se mantiene
Más detallesTEMA 3: EL LENGUAJE C: PRESENTACIÓN
TEMA 3: EL LENGUAJE C: PRESENTACIÓN Historia del lenguaje C Características del lenguaje C Estructura de un programa en C El editor de textos: elementos Funciones: de usuario y de librería Librerías de
Más detallesComunicación entre Procesos y Sockets
Temas de la clase de hoy Proceso Sockets Dominios, protocolos y tipos vinculados a los sockets Introducción a Stream y Datagram El modelo cliente-servidor Funciones del cliente Funciones del servidor Orientación
Más detallesCentro de Capacitación en Informática
Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.
Más detallesCapa de TRANSPORTE. Ing. José Martín Calixto Cely Original: Galo Valencia P.
Capa de TRANSPORTE Ing. José Martín Calixto Cely Original: Galo Valencia P. Capa de Transporte La Capa 1 crea y transporta las corrientes de bits; La Capa 2 encapsula los paquetes de datos en tramas, y
Más detalles2.1. Introducción al lenguaje Java
Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida
Más detallesTEMA 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
Más detallesRequerimientos principales de un sistema operativo
Descripción y control de procesos Requerimientos principales de un sistema operativo Intercalar la ejecución de varios procesos para maximizar el uso del procesador proporcionando un tiempo de respuesta
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 detalles18 y 19 Sistemas de Archivos Distribuidos y Tarea 05
18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco)
Más detallesPráctica 3 de Redes de Área Local Cliente y Servidor de ficheros concurrente
Práctica 3 de Redes de Área Local Cliente y Servidor de ficheros concurrente 3 o curso de Ingeniería Técnica en Informática de Sistemas 13 de abril de 2007 El objetivo de esta práctica es realizar una
Más detallesGuía Corta: Alcance y Asociaciones. 1. Preliminares: Nombres y Asociaciones
Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información CI3641 Lenguajes de Programación I Guía Corta: Alcance y Asociaciones Esta guía presenta algunos conceptos básicos y
Más detallesPráctica 2: Java Remote Method Invocation (RMI)
Práctica 2: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es conocer un poco más sobre el paradigma de objetos remotos. La idea principal es
Más detallesPRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador.
PRACTICA #1 Aprender a programar una interrupción software empleando C y/o Ensamblador. Aprender a manipular dispositivos externos (8253, 8255) desde C y/o ensamblador. PROCEDIMIENTO: Vamos a programar
Más detallesLección 12 Seguridad y criptografía. Universidad de Oviedo / Dpto. de Informática
Lección 12 Seguridad y criptografía Seguridad Los sistemas distribuidos son más inseguros que los centralizados por que exponen más la información. Un sistema distribuido tiene más puntos atacables. Contrapartida:
Más detallesAprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS
Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Por Andrés Raúl Bruno Saravia Entrega Nº 5. Cómo declaramos una variable en Lenguaje C? En C siempre se deben declarar las variables.
Más detallesObjetivo de aprendizaje del tema
Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar
Más detallesGESTIÓN ACADÉMICA GUÍA DIDÁCTICA HACIA LA EXCELENCIA COMPROMISO DE TODOS! Nombres y Apellidos del Estudiante:
PÁGINA: 1 de 6 Nombres y Apellidos del Estudiante: Grado: SEXTO Periodo: TERCERO N 1 Docente: Área: TECNOLOGIA E INFORMATICA Duración: 8 HORAS Asignatura: INFORMATICA ESTÁNDAR: Analizo y expongo razones
Más detallesSistemas de numeración y aritmética binaria
Sistemas de numeración y aritmética binaria Héctor Antonio Villa Martínez Programa de Ciencias de la Computación Universidad de Sonora Este reporte consta de tres secciones. Primero, la Sección 1 presenta
Más detallesMANUAL DE USUARIO DE OFICINA CONECTADA
MANUAL DE USUARIO DE OFICINA CONECTADA 1 OFICINA CONECTADA INDICE 1 INTRODUCCIÓN...3 2 USO DEL SERVICIO...4 2.1 CONFIGURACIÓN EQUIPO CLIENTE...4 2.2 ADMINISTRACIÓN AVANZADA...5 2.2.1 Gestión de usuarios...7
Más detallesINSTALACIÓN DE GOLDMINE PREMIUM PASO A PASO CREACIÓN DE UNA NUEVA BASE DE DATOS EN GOLDMINE PREMIUM PASO A PASO
INSTALACIÓN DE GOLDMINE PREMIUM PASO A PASO Y CREACIÓN DE UNA NUEVA BASE DE DATOS EN GOLDMINE PREMIUM PASO A PASO 1. REQUISITOS PREVIOS PARA LA INSTALACIÓN Sistema Operativo Se recomienda disponer de Windows
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 detallesComponentes de un S.O.
Componentes de un S.O. En Particular Minix está dividido en módulos 1) MicroKernel 2) Tareas E/S 3) Procesos Servidores 4) Procesos de Usuarios Son módulos independientes Para arquitectura FLYNN - SISD
Más detallesMódulo 2 Comunicación
Sistemas Distribuidos Módulo 2 Comunicación Facultad de Ingeniería Departamento de Informática Universidad Nacional de la Patagonia San Juan Bosco Comunicación en Sistemas Distribuidos Modelos de Comunicaciones
Más detallesTEMA: PROTOCOLOS TCP/IP
TEMA: PROTOCOLOS TCP/IP HISTORIA: El Protocolo de Internet (IP) y el Protocolo de Transmisión (TCP), fueron desarrollados inicialmente en 1973 por el informático estadounidense Vinton Cerf como parte de
Más detallesPROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04
Autorización Este documento entra en vigor a partir del 2 de agosto del 2005, a través de su autorización por parte del Dr. Francisco Javier Rojas Monroy, Coordinador de Operaciones, Calidad y Teclogía
Más detallesSOLUCION EXAMEN junio 2006
SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los
Más detallesJava Avanzado Facultad de Ingeniería. Escuela de computación.
2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 3 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas
Más detallesDiagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases
El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. Debido a que el UML es un lenguaje, cuenta con reglas para combinar tales elementos. La finalidad de los
Más detallesTema 8 Procesos. * Definición informal: un proceso es un programa en ejecución
Tema 8 Procesos 8.1 Aspectos básicos de los procesos 8.1.1 Concepto de proceso * Definición informal: un proceso es un programa en ejecución Un programa ejecutable es un conjunto de instrucciones y datos
Más detallesSISTEMA DE GESTIÓN DE BASE DE DATOS (Database Management System (DBMS))
SISTEMA DE GESTIÓN DE BASE DE DATOS (Database Management System (DBMS)) Los sistemas de gestión de bases de datos son un tipo de software muy específico, dedicado a servir de interfaz entre la base de
Más detalles