DESARROLLO DE SERVIDORES Iterativos Concurrentes.

Slides:



Advertisements
Presentaciones similares
Arquitectura cliente-servidor
Advertisements

Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
GESTION DE PROCESOS.
GESTION DE PROCESOS Procesos y tareas
Lenguajes de Descripción de Hardware
Tabla de Contenido Concurrencia.
Estructuras de Repetición Algoritmos
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
TEMA 2 Técnicas básicas de construcción de aplicaciones distribuidas
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Sockets y Threads en JAVA
Introducción a Programación Concurrente
Transmisión Asíncrona
Servidor.pl #!/usr/local/bin/perl use Socket; ($port) $port = 2345 unless $port; Empleamos el módulo Socket, equivalente a las definiciones que.
Comunicación y sincronización de procesos Comunicación por tuberías.
Servidor de Batalla Naval.
Qué pasa cuando varios clientes tratan de conectarse al mismo teimpo a un servidor Una forma es ir atendiéndolos de a uno en un ciclo: como en el programa.
1 E/S Driver Impresora –Airam Godoy Hernández –Jose Yeray Suárez Perdomo.
El compilador usa una técnica llamada “unificación” que comprueba que en cualquier aplicación, los tipos coinciden con los tipos correspondientes de los.
Entradas FF Sincrónicas y Asincrónicas
Semana 4 - periferico.
Sockets en Java. Sockets ● Para programar aplicaciones en red en Java se utilizan los Sockets. ● Un socket permite establecer y manejar una conexión entre.
Archivos. fopen(...) Para comenzar a utilizar un archivo primero se debe abrir, invocando a la función fopen(...) FILE * fopen(char* nombre_arch, char*
Semáforos Cecilia Hernández
Ing Florencia Ferrigno Tecnicas Digitales 3
1 Amelia Guillén Rodríguez Michael Kokaly Kokaly Linux : Pipe.
Unidad III Administración de procesos
Programación Avanzada Proyecto Final
Sistemas Concurrentes: Paso de mensajes
CONTROL REMOTO SEGURO Álvaro Bravo Mercado Domingo Devotto Nelson Figueroa.
SISTEMAS OPERATIVOS.
Teoría de Sistemas Operativos
Arquitectura NFS El servidor NFS exporta uno o más directorios
Memorias RAM Características: Son de lectura escritura
SOCKETS.
1 Nivel aplicación Interacción Cliente Servidor Agustín J. González ELO309.
 Hardware de E/S  Interfaz de aplicación E/S (API)  Sub-sistema de E/S en el Kernel  Transformando solicitudes de E/S en operaciones de hardware 
Gestión de procesos Sistemas Operativos Edwin Morales
Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
E/S Avanzada E/S Avanzada Programación de Sistemas.
1 Capítulo 21: Interacción Cliente Servidor ICD 327: Redes de Computadores Agustín J. González.
Elementos básicos del lenguaje
Materia: Técnicas Digitales 3
Módulo LCD Controlador HD44780.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Circuitos Digitales.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Diseño de Servidores Cc52n Que es un Servidor Básicamente se puede definir como un proceso que da un servicio El servicio en general se describe.
Teoría de Sistemas Operativos Sistemas Archivos de Red
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Andres Marín L. Programación sockets en java.
LABORATORIO DE ESTRUCTURA DE COMPUTADORES II Desarrollo de aplicación Cliente-Servidor.
Estados de procesos El estado de un proceso define su actividad actual. Durante su existencia, un proceso pasa por una serie de estados discretos. Transiciones.
Threads en Java  Threads: programas multitarea  Creación de threads  Ciclo de vida de un thread  Sincronización.
Curso Redes (IS20) -Capítulo 5 1 Redes (IS20) Ingeniería Técnica en Informática de Sistemas Práctica 2- Comunicación de procesos mediante sockets.
Yeray Caballero López Juan Pablo Quesada Nieves
Paralelización de Análisis de Reglas de Asociación Andrés Villavicencio T.
DIAGRAMA DE FLUJO Y SECUENCIAL DE UN SERVIDOR DE ENVIO DE CORREO
Servidor de Almacenamiento de correo SG14, SG15, SG16 y SG17.
Comunicación SimplexHalf DúplexFull Dúplex Se realiza en un solo sentido Se realiza en ambos sentidos ambos sentidos simultáneamente DISPOSITIVOS Y MEDIOS.
Tipos de datos básicos en Java
Curso: Fundamentos de Computación
Programación de microcontroladores PIC16f877a en linux
SISTEMAS OPERATIVOS Contenido: Descripción del proceso proceso nulo estado del procesador imagen del proceso información del BCP Miguel Ángel Martínez.
Desventajas Poco eficiente: lectura y escritura en disco es lenta Necesita otro mecanismo de sincronización para acceder a los datos Son los procesos.
SISTEMAS ELECTRÓNICOS 3ºGIERM1 1. Introducción 2. Tipos de datos 3. Estructuras típicas de programación 4. Manejo de bits Tema 7. Programación de microcontroladores.
PROCESO CONCURRENCIA SINCRONIZACION EXCLUSION MUTUA INTERBLOQUE O.
Programación con sockets I
SERVIDOR PUBLICO. Servidor Público.
Transcripción de la presentación:

DESARROLLO DE SERVIDORES Iterativos Concurrentes

Servidores Iterativos socket(...) bind(...)listen(...)Accept(...)Transacción()

Servidores Concurrentes socket(...) bind(...)listen(...)Accept(...)fork() >0 Transaccion() =0

Costo de la concurrencia Sea S  tiempo de duracion de la transaccion n.S  tiempo para resolver n servicios que se puedan encolar en el backlog Sea C  tiempo para crear un proceso hijo o un thread Debe ser S >> C

Entrada/Salida asíncrona A veces es necesario que nuestro programa reciba información desde más de una fuente simultáneamente. No podemos bloquear un proceso a la espera de una conexión por un puerto determinado si tambien debemos esperar conexiones por otro puerto Tambien podriamos tener que esperar simultaneamente una conexión y un dato de un driver. Podemos utilizar un Accepr no bloqueante mediante la system call ioctl() Podemos utilizar una funcion para bloquar al proceso por un set definido de file descriptors y que se desbloquee ante actividad I/O de alguno de ellos indicandonos por cual existio actividad

Funcion Select retcod=select ( maxfd, lect_fd, esc_fd, exc_fd, tiempo ); Descriptor de mayor valor +1 Set de escritura Tiempo de bloqueo Set de lectura Set de excepción -1: error N de descriptores listos #include Tipo fd_set struct timeval { long tv_sec; /* segundos */ long tv_usec; /* microsegundos */ };

Tipo fd_set Son arrays de enteros en los que cada bit representa un file descriptor Cuando se desbloquea por uno de ellos el bit correspondiente cambia a 1 Por suerte existen macros para operar sobre estos bits. FD_ZERO( &fdset ); /* Inicializa todos los bits a cero */ FD_SET ( fd, &fdset ); /* Pone a 1 el bit indicado por fd */ FD_CLR ( fd, &fdset ); /* Pone a 0 el bit indicado por fd */ FD_ISSET( fd, &fdset ); /* Comprueba si el bit indicado por fd está a 1 */