Computación de Alta Performance Curso 2009 PROGRAMACIÓN PARALELA EN LENGUAJE C

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Computación de Alta Performance Curso 2009 PROGRAMACIÓN PARALELA EN LENGUAJE C"

Transcripción

1 Computación de Alta Performance Curso 2009 MECANISMO DE PROGRAMACIÓN PARALELA EN LENGUAJE C

2 AGENDA Mecanismos a estudiar. Fork. Pipes y FIFOs. System V IPC: Semáforos. Cola de mensajes. Memoria compartida. RPC. Doors. SUN RPC. Sockets: UNIX Domain Sockets. Internet Domain Sockets. Signals.

3 fork() CREACIÓN DE PROCESOS La primitiva fork() crea un proceso hijo del proceso invocante ( clonación del proceso). Se crea una copia exacta del proceso que la invoca, pero con otro PID. El padre recibe el PID del hijo, y el hijo recibe 0. Se copia el área de datos (incluyendo archivos abiertos y sus descriptores asociados). La primitiva wait() espera que los hijos terminen. El hijo retorna un código (valor) de terminación al padre.

4 fork wait Si el padre muere antes que el hijo, el hijo queda huérfano. El proceso "init" (PID=1) hereda a los huérfanos. Si el hijo termina pero el padre no acepta su código de terminación (usando wait), el proceso pasa a estado zombi (no consume recursos salvo una entrada en la tabla de procesos). La llamada wait permite al padre recibir un valor del hijo. Este valor es de 8 bits; los otros 8 bits (MSB) son valores de estado. wait retorna el PID del hijo que termino. El proceso hijo puede retornar un valor usando la función exit de C.

5 EJEMPLO #include <stdio.h> /* creación de un proceso hijo e impresión en pantalla; la salida se mezcla evidenciando el time slicing */ main () { int j, pid ; if ( (pid = fork ()) == 0 ) { for (j=0; j<1000;j++) printf( H ); exit (0) ; for (j=0; j<1000;j++) printf( P ); exit (0) ;

6 PIPES Mecanismo de comunicación entre procesos que ejecutan en un mismo equipo. Unidireccional (half duplex pipe). No poseen nombre. Habitualmente utilizado para comunicación padre hijo. Acceso mediante operaciones read/write. Implementado en el núcleo del sistema operativo.

7 PIPES SIN NOMBRES int main () { int fd[2]; if (pipe(fd)) { perror( Error ); exit(1);

8 int main () { PIPES SIN NOMBRES int fd[2], pid; ; 0 ) { */ /* creación del pipe */ if (pipe (fd)) { perror( Error\n ) exit (1) ; if ( (pid = fork ()) == /* proceso hijo close (fd[1]); prochijo(fd[0]); close (fd[0]); else { /* proceso padre */ close (fd[0]); procpadre(fd[1]); close (fd[1]); waitpid(pid),null, 0);...

9 int main () { int fd1[2], fd2[2], pid; PIPES SIN NOMBRES /* creación del pipe */ if ( pipe (fd1) pipe (fd2)) { perror( Error\n ) ; exit (1) ; if ( (pid = fork ()) == 0 ) { /* proceso hijo */ close (fd1[1]); close (fd2[0]); prochijo(fd1[0],fd2[1]); close (fd1[0]); close (fd2[1]); else {... /* proceso padre */ close (fd1[0]); close (fd2[1]); procpadre(fd1[1],fd2[0]); close (fd1[1]); close (fd2[0]); waitpid(pid),null, 0);

10 FIFOs: PIPES CON NOMBRES Permiten la comunicación entre procesos no emparentados. Unidireccional (half duplex). Existen en el sistema de archivos como un archivo especial. Los procesos de diferentes padres pueden compartir datos mediante un pipe con nombre. Cuando se han realizados todas las I/O por procesos compartidos, el pipe con nombre permanece en el sistema de archivos para uso posterior. Funciones y comandos mknod mkfifo. Comandos $ mknod MIFIFO p $ mkfifo a=rw MIFIFO

11 FIFOs Función mkfifo #include <sys/mode.h> int main () { const char *camino = ; int modo = ; if (mkfifo(camino,modo) < 0 && (errno!= EEXIST)) perror( Error\n ); unlink(camino); camino : Camino completo del archivo (pipe) a crear. modo : Tipo de archivo y permisos de acceso.

12 FIFOs La función mkfifo es una interfaz del comando mknod para crear colas FIFO ( pipes ), las cuales no necesitan privilegios especiales del sistema. Un comando ls l identifica al pipe con el carácter descriptor p. El comando unlink permite eliminar un pipe del sistema de archivos.

13 SEMÁFOROS Dijkstra (1960s). Herramienta de sincronización. Tipos: Binarios Contadores (no binarios) Operaciones P : proberen. V : verhogen. Implementaciones: POSIX IPC. System V IPC. Persistencia en el sistema operativo.

14 SEMÁFOROS POSIX IPC Basados en memoria Implementados a través de memoria compartida. Uso entre procesos emparentados. Semáforos con nombre Mantenimiento a través del sistema de archivos. No necesariamente implementados dentro del núcleo del sistema. Uso entre procesos no emparentados.

15 SEMÁFOROS System V Agrega el concepto de Conjunto de semáforos. Conjunto de semáforos no binario.

16 SEMÁFOROS System V semget(key_t key, int nsems, int oflag). Crea un semáforo System V (Conjunto de semáforos). semctl(int semid, int semnum, int cmd). Operaciones de control: Inicialización con comando SETVAL. Consulta con comando GETVAL. Destrucción con comando IPC_RMID. semop(int semid, struct sembuf * ops, size_t nops). Operaciónes de P y V sobre el conjunto de semáforos. struct sembuf { short sem_num; // número de semáforo short sem_op; // operación sobre el semáforo short sem_flg; // banderas: IPC_NOWAIT, SEM_UNDO Atomicidad en la operación: Todas o ninguna.

17 MEMORIA COMPARTIDA La forma mas eficiente de comunicar dos procesos corriendo en la misma máquina. El proceso accede a través de direccionamiento directo y no a través del núcleo del sistema. Requiere sincronización explícita para acceder al recurso compartido.

18 MEMORIA COMPARTIDA: POSIX IPC Implementación a través de mapeo de archivos del sistema de archivos. shm_open(const char * name, ). Obtiene un descriptor a un segmento de memoria compartida. mmap(void *, size_t len, int, int fd, int, off_t). Mapea un archivo (a través del descriptor fd) al espacio de direccionamiento de memoria del proceso. Ej: struct memcomp * int ptr; fd; fd = shm_open(pathname, flags, FILE_MODE); ptr = mmap(null, length,modo,map_shared,fd,0); shm_unlink(const char *name). Destruye un espacio de memoria compartida.

19 MEMORIA COMPARTIDA: System V shmget(key_t key, size_t size, int oflag). Crea o accede a un segmento de memoria compartida shmat(int shmid, const void * shmaddr, int flag). Asocia un espacio de memoria compartida al direccionamiento del proceso shmdt(const void * shmaddr). Desasocia un espacio de memoria del direccionamiento del proceso shmctl(int shmid, int cmd, struct shmid_ds * buff). Operaciones de control sobre el segmento de memoria compartida: Destrucción. Cambios de permisos.

20 #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> #include <errno.h> main(){ int shmid, stat; char err[256]; char * datos; strcpy(err,"pru1"); EJEMPLO shmid = shmget(1, 11, 0777 IPC_CREAT); printf("id:%d \n",shmid); datos = shmat(shmid,null,0); strcpy(datos,"nil"); while ( strcmp(datos,"fin") && datos!= 1 ) { printf("ingrese:"); scanf("%s",datos); ;

21 EJEMPLO #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> #include <errno.h> main(){ int shmid, stat; char err[256]; char * datos, datos_vie[16]; strcpy(err,"pru1"); shmid = shmget(1, 11, 0777 IPC_CREAT); printf("id:%d \n",shmid); datos = shmat(shmid,null,0); strcpy(datos_vie,"nada"); while (strcmp(datos,"fin") && datos!= -1) { if (strcmp(datos,datos_vie)) { printf("hay:%s:\n",datos); strcpy(datos_vie,datos); ; ;

22 COLAS DE MENSAJES Lista encadenada de mensajes. Los procesos se intercambian mensajes a través de este tipo de estructuras. Manejan prioridades.

23 COLAS DE MENSAJES: POSIX IPC Implementados a través de un archivo del sistema operativo. Permite la generación de una señal o el inicio de un thread cuando un mensaje es enviado a la cola. Operaciones: mq_open(const char * name, int oflag, ). Crea o abre una cola de mensajes. mq_send(mqd_t mqdes,const char *ptr,size_t len, unsigned int prio). Envía un mensaje a la cola con la prioridad prio. mq_receive(mqd_t mqdes, char * ptr, size_t len, unsigned int * prio). Recibe el mensaje de mayor prioridad y que hace más tiempo que está en la cola. mq_close(mqd_t mqdes). Clausura el acceso a la cola para el proceso.

24 COLAS DE MENSAJES: POSIX IPC Operaciones: mq_unlink(const char * name). Elimina la cola del sistema operativo. mq_getattr y mq_setattr. Obtiene y cambia priopiedades de la cola. mq_notify(mqd_t mqdes, const struct sigevent * notification). Notificación de llegada de mensaje a cola vacía. Solo una notificación por cola. Permite al proceso seguir realizando otras tareas mientras no hay mensajes en la cola.

25 COLAS DE MENSAJES: System V Manipulación a través de descriptores de cola de mensajes. Permite recibir mensaje según tipo de mensaje. Operaciones: msgget(key_t key, int oflag). Crea o abre una cola de mensajes. Retorna un identificador de cola de mensajes. msgsnd(int msqid, const void *ptr, size_t len, int flag). Envía un mensaje a la cola. La estructura apuntada por ptr deberá tener el primer campo como long (tipo de mensaje) y luego los datos del mensaje (cualquier estructura ya sea texto o binario). flag: IPC_NOWAIT permite llamadas no bloqueantes.

26 COLAS DE MENSAJES: System V Operaciones: msgrcv(int msqid, void * ptr, size_t len, long type, int flag) Si type es 0, recibe el primer mensaje de la cola. Si type > 0, recibe el primer mensaje de la cola con ese tipo. Si type < 0, recibe el primer mensaje con el tipo más bajo que el valor absoluto de type. flag: IPC_NOWAIT permite llamadas no bloqueantes. msgctl(int msgid, int cmd, ). Operaciones de control sobre la cola.

27 COLA DE MENSAJES: System V Problemas: El uso de un descriptor de cola no permite utilizar la función select. Procesos que manejen conexiones de red y colas de mensajes deben estar haciendo polling para verificar si hay mensajes en la cola o actividad en la red. Esto genera un alto consumo de procesador. POSIX IPC no tiene este problema ya que dispone de la función mq_notify. Solución: fork con pipe: Generar un hijo que se reciba los mensajes de la cola y que los envíe al padre a través de un pipe (descriptor de archivo). El mensaje ahora pasa por 3 etapas en vez de solo una.

28 REMOTE PROCEDURE CALL (RPC) Mecanismo sincrónico de invocación a procedimientos remotos. DOORS Sun. RPC Sun.

29 CREACIÓN DE SERVIDORES RPC Se debe crear un archivo de especificación de los RPC (definición de protocolo). El comando rpcgen genera los stubs para el cliente y el servidor que tienen: Transformación de datos (XDR=External Data Representation). Invocación a procedimiento remoto. El cliente debe compilar contra el XDR y el stub del cliente generados por el comando rpcgen. El servidor debe compilar contra el XDR y el stub del servidor generados por el comando rpcgen.

30 CREACIÓN DE SERVIDORES RPC

31 PORTMAPPER El servicio primero se reporta al portmapper en un puerto de atención. Luego el cliente verifica la dirección a través del portmapper y, finalmente, accede al servicio.

32 SOCKETS Mecanismo de comunicación en el modelo cliente/servidor. un proceso servidor escucha requerimientos que llegan al socket y un proceso cliente se comunica con el server a través de otro socket. Las operaciones básicas con sockets comprenden la creación, apertura, cierre, lectura y escritura (send() y recv()). Dos tipos de sockets: Sockets TCP para comunicaciones en red. Unix domain sockets para IPC local. Los sockets tienen asociado un descriptor de archivos.

33 INTERNET DOMAIN SOCKETS Sockets TCP para comunicaciones en red. Orientados a conexión. Confiables.

34 UNIX DOMAIN SOCKET Mecanismo IPC local. Rapidez. Permiten recibir datos de múltiples procesos con un solo socket.

35 ESTRUCTURA PROGRAMAS Cliente socket() // Crear a socket connect() // Contactar a un servidor(ip + port) while (cond) { send() // Enviar a servidor recv() // Recibir de un servidor Servidor socket() // Crear un socket bind() // Asociar un socket a una dirección listen() // Crear una cola de espera while(1) { reply=accept() // Aceptar conexiones de clientes recv() // Recibir mensaje del cliente send() // Enviar mensaje al cliente

36 REPRESENTACIÓN DE DATOS Aparecen problemas de representación de datos (hardware): Little Endian signif xxx xxx +signif Big Endian +signif xxx xxx signif Funciones de transformación (host to nertwork, network to host) htonl, htons, ntohl, ntohs

37 EJEMPLO /*** PROCESO SERVIDOR ***/ #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> int main (int argc, char *argv[]) { int sockd, new_sd, adrlen, cont ; char buffer[80] ; struct sockaddr_in sock_name, *ptr_port ; struct sockaddr addr ; struct hostent *ptr_host ; if ( gethostname (host_name, 80) < 0 ) { fprintf (stderr, ERROR: en ejecución de gethostname()\n ) ; exit (1);

38 EJEMPLO if ( (ptr_host = gethostbyname (host_name)) == NULL ) { fprintf (stderr, ERROR: en ejecución de gethostbyname()\n ) ; exit (1); if ( sockd = socket (AF_INET, SOCK_STREAM, 0)) < 0 ) { fprintf (stderr, ERROR: en ejecución de socket ()\n ) ; exit (1); SockName.sin_family = AF_INET ; SockName.sin_port = 0 ; /* el sistema asigna el port */ bcopy (ptr_host->h_addr, &sock_name.sin_addr.s_addr, ptr_host-> h_length) ; if ( bind (sockd, &sock_name, sizeof (sock_name)) < 0 ) { fprintf (stderr, ERROR: en ejecución de bind()\n ) ; close (sockd) ; exit (1) ;

39 EJEMPLO adrlen = sizeof (addr) ; if ( getsockname (sockd, &addr, &adrlen) < 0 ) { fprintf (stderr, ERROR: en ejecución de getsockname()\n ) ; close (sockd) ; exit (1) ; prt_port = (struct sockaddr_in *) &addr ; printf ( hostname = %s; port = %s\n, sock_name.sin_addr.s_addr, ntohs (prt_port->sin_port) ; if ( listen (sockd, 5) < 0 ) { fprintf (stderr, ERROR: en ejecución de listen ()\n ) ; close (sockd) ; exit (1) ;

40 EJEMPLO while (1) { if ( (new_sd = accept (sockd, 0, 0)) < 0 ) { fprintf (stderr, ERROR: en ejecución de accept ()\n ) ; close (sockd); exit (1) ; if ( fork () == 0 ) { close (sockd) ; bzero (buffer, sizeof (buffer)) ; do { if ((cont = read (new_sd, buffer, sizeof (buffer)) < 0 ) { fprintf (stderr, ERROR: en ejecución de read ()\n ) ; close (new_sd) ; exit (1) ; if ( cont == 0 ) { printf ( recibo un mensaje de largo 0\n ) ; close (new_sd) ; continue ; printf ( Server> %s\n, buffer) ; bzero (buffer, sizeof (buffer) ; strcpy (buffer, Mensaje del servidor al cliente ) ; write (new_sd, buffer, sizeof (buffer)) ; while (cont!= 0 ) ;

41 EJEMPLO /*** PROCESO CLIENTE ***/ main (int argc, char *argv[]) { int sockd, cont ; struct sockaddr_in sock_name; struct hostent *ptr_host ; struct sockbuffer SockBuffer ; if ( argc < 3 ) { printf ("Uso: %s <Host> <Port>\n, argv[0]) ; exit (1) ; if (( sockd = socket (AF_INET, SOCK_STREAM, 0)) < 0 ) { fprintf (stderr, "ERROR: en ejecución de socket()\n") ; exit (1) ;

42 EJEMPLO SockName.sin_port = htons (atoi (argv[2])) ; SockName.sin_family = AF_INET ; if (( prt_host = gethostbyname (argv[1]) ) == NULL ) { fprintf (stderr, "ERROR: en ejecución de gethostbyname()\n") ; close (sockd) ; exit (1) ; bcopy (ptr_host->h_addr, &sock_name.sin_addr.s_addr, ptr_host- >h_length); if ( connect (sockd, &sock_name, sizeof (sock_name)) < 0 ) { fprintf (stderr, "ERROR: en ejecución de connect()\n") ; close (sockd) ; exit (1) ; bzero (buffer, sizeof (buffer)) ;

43 EJEMPLO do { strcpy (buffer, "Mensaje del cliente al servidor") ; write (sockd, &buffer, sizeof (buffer)) ; if (( cont = read (sockd, &buffer, sizeof (buffer)) ) < 0 ) { fprintf (stderr, "ERROR: ejecutando el read()\n") ; close (sockd) ; exit (1) ; if ( cont == 0 ) { printf ( se recibió un mensaje de largo 0.\n") ; close (sockd) ; continue ; printf ( Cliente> %s\n, buffer) ; while ( cont!= 0 ) ; exit (0) ;

44 SIGNALS Interrupciones generadas a través del software Pueden ser sincrónicas o asincrónicas (más comunes) Signals se numeran del 0 al 31: SIGHUP 1 /* hangup */ SIGINT 2 /* interrupt */ SIGQUIT 3 /* quit */ SIGILL 4 /* illegal instruction */ SIGABRT 6 /* used by abort */ SIGKILL 9 /* hard kill */ SIGALRM 14 /* alarm clock */ SIGTERM 15 /* Terminated */ SIGCONT 19 /* continue a stopped process */ SIGCHLD 20 /* to parent on child stop or exit */ SIGUSR1, SIGUSR2, etc

45 SIGNALS El programador crea handlers llamando a la función signal() pasando como parámetro el numero de señal y un puntero a la función que la va a atender. signal(sigtype,sig_ign) Elimina el handler de la señal SIGtype. signal(sigtype,sig_dfl)

46 EJEMPLO #include <stdio.h> void sigproc(void); void quitproc(void); main() { signal(sigint, sigproc); signal(sigquit, quitproc); for(;;); /* infinite loop */ void sigproc() { signal(sigint, sigproc); printf( Digitó ctrl c n ); void quitproc() { printf( Digitó quit ); exit(0);

47 REFERENCIAS UNIX Network Programing 2nd Edition Richard Stevens UNIX System Calls and Subroutines using C

IPC SYSTEM V. Técnicas Digitales III Ing. Gustavo Nudelman 2011. Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

IPC SYSTEM V. Técnicas Digitales III Ing. Gustavo Nudelman 2011. Universidad Tecnológica Nacional - Facultad Regional Buenos Aires IPC SYSTEM V Técnicas Digitales III Ing. Gustavo Nudelman 2011 IPC System V En la década del 70, se incorpora a Unix una gran cantidad de funcionalidades llamadas System V entre las cuales aparecen tres

Más detalles

Sockets (TCP) Tema 2.- Nivel de aplicación en Internet

Sockets (TCP) Tema 2.- Nivel de aplicación en Internet Sockets (TCP) Tema 2- Nivel de aplicación en Internet Dr Daniel Morató es de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Material parcialmente adaptado del libro Computer Networking:

Más detalles

sockets Flujo (SOCK_STREAM) Comunicación bidireccional Confiable (entrega garantizada) Información ordenada en el destino Datagrama (SOCK_DGRAM)

sockets Flujo (SOCK_STREAM) Comunicación bidireccional Confiable (entrega garantizada) Información ordenada en el destino Datagrama (SOCK_DGRAM) s s Comunicación punto-a-punto entre procesos Los s son los extremos de la comunicación Diferentes dominios UNIX: Entre procesos de un mismo equipo Internet: Entre procesos de diferentes equipos (TCP/IP)

Más detalles

Introducción a la programación con sockets en C

Introducción a la programación con sockets en C Introducción a la programación con sockets en C Enrique Bonet Departamento de Informática Universidad de Valencia Índice Introducción Socket Creación de un socket Cierre de un socket Asociación de un socket

Más detalles

Introducción de Sockets en C.

Introducció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 detalles

Mecanismos IPC: sockets

Mecanismos IPC: sockets Mecanismos IPC: sockets Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Sockets Los sockets son una abstracción lógica que permiten la comunicación bidireccional

Más detalles

Qué es un socket? Dominios de comunicación. Tipos de sockets en el dominio AF_INET. Sockets Stream. Sockets Datagram. Sockets Raw

Qué es un socket? Dominios de comunicación. Tipos de sockets en el dominio AF_INET. Sockets Stream. Sockets Datagram. Sockets Raw Qué es un socket? Es una interfaz de entrada salida de datos que permite la intercomunicación entre procesos. Los procesos pueden estar ejecutándose en el mismo o en distintos sistemas, unidos mediante

Más detalles

Boletín 7- Sockets. Departamento de Lenguajes y Sistemas Informáticos

Boletín 7- Sockets. Departamento de Lenguajes y Sistemas Informáticos Boletín 7- Sockets Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción. 2. Tipos de sockets. 3. socket() 4. bind() 5. listen() 6. accept() 7. connect() 8. send()/ ()/recv(). 9. Funciones

Más detalles

BOLETIN 8 INDICE. ordenación de bytes. conversión de nombre y direcciones.

BOLETIN 8 INDICE. ordenación de bytes. conversión de nombre y direcciones. Sockets BOLETIN 8 INDICE 1. Introducción. 2. Tipos de sockets. 3. socket() 4. bind() 5. listen() 6. accept() 7. connect() 8. send()/recv(). 1. Funciones de ordenación de bytes 2. Funciones de conversión

Más detalles

3.- Procesos. Concepto de Proceso. Despacho (calendarización) de Procesos. Operaciones en Procesos. Procesos en cooperación

3.- Procesos. Concepto de Proceso. Despacho (calendarización) de Procesos. Operaciones en Procesos. Procesos en cooperación 3.- Procesos Despacho (calendarización) de Procesos Operaciones en Procesos Procesos en cooperación Compunicación Interprocesos Communicación en sistemas Cliente-Servidor Sistema de Batch jobs Sistema

Más detalles

Estructuras y funciones de programación de sockets.

Estructuras y funciones de programación de sockets. Estructuras y funciones de programación de sockets. Introducción. En estos apuntes se incluye una breve descripción de las estructuras y funciones cuyo uso puede ser necesario para el desarrollo de las

Más detalles

Práctica 1 Programación de Aplicaciones Distribuidas: Sockets UDP. Laboratorio de Comunicación de Datos ITT Telemática Septiembre 2011

Práctica 1 Programación de Aplicaciones Distribuidas: Sockets UDP. Laboratorio de Comunicación de Datos ITT Telemática Septiembre 2011 Práctica 1 Programación de Aplicaciones Distribuidas: Sockets UDP Laboratorio de Comunicación de Datos ITT Telemática Septiembre 2011 Introducción Aplicaciones Distribuidas Su funcionalidad se distribuye

Más detalles

Boletín 5- Señales. Departamento de Lenguajes y Sistemas Informáticos

Boletín 5- Señales. Departamento de Lenguajes y Sistemas Informáticos Boletín 5- Señales Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción 2. Envío de señales desde la shell: kill 3. Llamadas al Sistema kill: envío de señal a un proceso raise: autoenvío

Más detalles

Problemas de Redes de Computadores. Conjunto de problemas 1

Problemas de Redes de Computadores. Conjunto de problemas 1 Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Pregunta 1.1: Si configuro mi servidor Web para que no acepte conexiones desde la dirección IP 130.206.1.1,

Más detalles

Sistemas Operativos Práctica 3

Sistemas Operativos Práctica 3 Sistemas Operativos Práctica 3 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que

Más detalles

PRÁCTICA 4 PASO DE MENSAJES

PRÁCTICA 4 PASO DE MENSAJES PRÁCTICA 4 PASO DE MENSAJES Introducción Cuando los procesos interactúan unos con otros pueden necesitar intercambiar información. Uno de los métodos posibles para conseguir esto es el paso de mensajes.

Más detalles

Clase de Sockets en lenguaje C. Prof. Ricardo González

Clase de Sockets en lenguaje C. Prof. Ricardo González Clase de Sockets en lenguaje C Prof. Ricardo González 1 Modelo de Programación Cliente-Servidor Cliente: un programa que envía peticiones. Servidor: un programa que ofrece un servicio que satisface peticiones

Más detalles

LABORATORIO 2. La biblioteca a nivel de usuario semso (semáforos Sistemas Operativos) brinda las siguientes primitivas:

LABORATORIO 2. La biblioteca a nivel de usuario semso (semáforos Sistemas Operativos) brinda las siguientes primitivas: 1 Introducción LABORATORIO 2 En esta tarea se desea implementar un servicio sincronización de procesos a través de semáforos binarios con prioridad para el sistema operativo Linux. Para esto se deberá

Más detalles

Migrando aplicaciones a IPv6

Migrando aplicaciones a IPv6 Migrando aplicaciones a Fundamentos técnico: DualStack y Socket.h Alonso Sandoval A. Hernán Vargas L. Universidad Técnica Federico Santa María asandova@alumnos.inf.utfsm.cl, hvargas@alumnos.inf.utfsm.cl

Más detalles

Sistemas Operativos. Curso 2016 Procesos

Sistemas Operativos. Curso 2016 Procesos Sistemas Operativos Curso 2016 Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor

Más detalles

SOLUCION EXAMEN junio 2006

SOLUCION 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 detalles

COMUNICACIÓN ENTRE PROCESOS SOCKETS

COMUNICACIÓN ENTRE PROCESOS SOCKETS COMUNICACIÓN ENTRE PROCESOS SOCKETS Diseño de Sistemas Operativos Curso 2007/08 Grupo: Mi30 Martín Santana, A. David Martínez Santana, Luis Ignacio Qué son?(definición) n) Los sockets son mecanismos de

Más detalles

Administración de Redes

Administración de Redes Administración de Redes PROCESOS EN LINUX Profesor Carlos Figueira Departamento de Computación y T. I. USB Grandes objetivos de un Sistema de Operación (SO) Intercalar ejecución de varios procesos para

Más detalles

Sockets: funcionamiento y programación. Sockets tipo UNIX. MSc. Ivan A. Escobar

Sockets: funcionamiento y programación. Sockets tipo UNIX. MSc. Ivan A. Escobar Sockets tipo UNIX MSc. Ivan A. Escobar Creación socket: socket() int socket(familia, tipo, protocolo) Regresa un valor entero Parecido descriptor de archivos: descriptor socket sockfd int familia familia

Más detalles

SISTEMAS OPERATIVOS AVANZADOS

SISTEMAS OPERATIVOS AVANZADOS SISTEMAS OPERATIVOS AVANZADOS TEMA 3 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 3. PROCESOS CONCURRENTES 3.1 Conceptos de programación concurrente 3.2 El problema de la sección crítica 3.3

Más detalles

UNIVERSIDAD DE CANTABRIA DEPARTAMENTO DE INGENIERÍA DE COMUNICACIONES GRUPO DE INGENIERÍA TELEMÁTICA

UNIVERSIDAD DE CANTABRIA DEPARTAMENTO DE INGENIERÍA DE COMUNICACIONES GRUPO DE INGENIERÍA TELEMÁTICA UNIVERSIDAD DE CANTABRIA DEPARTAMENTO DE INGENIERÍA DE COMUNICACIONES GRUPO DE INGENIERÍA TELEMÁTICA MANUAL DE SOCKETS EN C TABLA DE CONTENIDOS Introducción.. 4 Sockets en C.. 7 2.1 Conceptos Básicos..

Más detalles

TELEPROCESO Y SISTEMAS DISTRIBUIDOS

TELEPROCESO Y SISTEMAS DISTRIBUIDOS Universidad Nacional del Nordeste TELEPROCESO Y SISTEMAS DISTRIBUIDOS La Interfaz Socket Lic. Vanesa S. Roffé Año 2009 Introducción - Origen de la INTERFAZ SOCKET La Interfaz Socket es una API para redes

Más detalles

SOR -::- Prácticas -::- Curso 05/06. RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX.

SOR -::- 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 detalles

Informática Electrónica Interfaces para los programas de aplicación (APIs)

Informática Electrónica Interfaces para los programas de aplicación (APIs) Informática Electrónica Interfaces para los programas de aplicación (APIs) DSI- EIE FCEIA 2015 Que es un API? Application Program Interface (interface para programas aplicativos) es el mecanismo mediante

Más detalles

Introduccion 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 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 detalles

Sockets (UDP) Tema 2.- Nivel de aplicación en Internet

Sockets (UDP) Tema 2.- Nivel de aplicación en Internet Sockets (UDP) Tema 2.- Nivel de aplicación en Internet Dr. Daniel Morató es de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Sockets y UDP UDP: no hay conexión entre cliente y servidor»

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Tema 6 : IPC del Unix System V Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción El paquete de comunicación

Más detalles

Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid

Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Manejo de Señales Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Señales Concepto Evento que interrumpe la ejecución normal de un proceso La acción por defecto suele

Más detalles

Características de un lenguaje ideal para robótica

Características de un lenguaje ideal para robótica COMUNICACIÓN MEDIANTE SOCKETS Enrique Ortega Edrodoso Ingeniería Técnica de Informática de Gestión Introducción Los vehículos autoguiados comerciales disponibles en la actualidad tienen una serie de inconvenientes

Más detalles

Módulo 2 Comunicación

Mó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 detalles

Redes (IS20) Ingeniería Técnica en Informática de Sistemas - (2º Curso)

Redes (IS20) Ingeniería Técnica en Informática de Sistemas - (2º Curso) Redes (IS20) Ingeniería Técnica en Informática de Sistemas - (2º Curso) Práctica 2: Programación en Red. Protocolos TCP y UDP. Comunicación entre procesos mediante Sockets Descripción del equipo: 1. Ordenadores

Más detalles

SOCKET S. Alberto Castro Rojas

SOCKET S. Alberto Castro Rojas SOCKET S EL64E Alberto Castro Rojas 1 Interfaz de programación genérica Soporte de múltiples suites de protocolos de comunicación (familias) Representaciones de direcciones sin dependencias (endpoint)

Más detalles

07 << Acceso en exclusiva al recurso compartido >>

07 << Acceso en exclusiva al recurso compartido >> Sistemas Operativos 4º Semestre. Grados II y MI Cuarto Parcial. Sistema de Ficheros. 2 de Junio de 2014. Dispone de 50 minutos. Publicación de notas el Jueves 5 de Junio 2014. Revisión el Viernes 6 de

Más detalles

Programación C/S Básica

Programación C/S Básica 1 de 16 Programación C/S Básica Enrique Alba Torres Universidad de Málaga (UMA) 2 de 16 Los servicios Internet se ofertan como sistemas Cliente/Servidor Los protocolos de base suelen ser peer-to-peer (igual-a-igual)

Más detalles

Diseño de aplicaciones distribuidas ÍNDICE

Diseño de aplicaciones distribuidas ÍNDICE Aplicaciones Distribuidas (s) Aplicaciones Distribuidas (s) TCP TCP Protocolos de Protocolos de Transporte Transporte UDP UDP STREAM STREAM (TCP) (TCP) SOCKET SOCKET Etapas en la Creación Etapas en la

Más detalles

Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1

Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Preguntas cortas Pregunta 1.1: Si configuro mi servidor Web para que no acepte conexiones desde

Más detalles

Concurrencia: Exclusión mutua y Sincronización

Concurrencia: 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 detalles

Adaptación de aplicaciones a IPv6

Adaptación de aplicaciones a IPv6 Adaptación de aplicaciones a IPv6 extensión de la interfaz de sockets Eva M. Castro ecastro@dit.upm.es Tutorial IPv6 -Adaptación de aplicaciones a IPv6 1 Contenido * Introducción Modelo de sockets BSD

Más detalles

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia

Concurrencia: 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 detalles

EDITRAN/TR. Windows/Unix. Manual de referencia

EDITRAN/TR. Windows/Unix. Manual de referencia EDITRAN/TR Windows/Unix Manual de referencia INDRA 30 de octubre de 2014 ÍNDICE 1. INTRODUCCIÓN.... 1-1 2. INTERFAZ DE PROGRAMACIÓN.... 2-1 2.1. DESCRIPCION... 2-1 2.2. FUNCIONES DE ENVIO Y RECEPCION...

Más detalles

Mecanismos IPC System V

Mecanismos IPC System V Mecanismos IPC System V Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Mecanismos IPC System V: generalidades (1) Existen tres tipos de mecanismos IPC

Más detalles

Tema 4: Sockets: Un interfaz con TCP/IP

Tema 4: Sockets: Un interfaz con TCP/IP Tema 4: Sockets: Un interfaz con TCP/IP Introducción. Conceptos básicos. Dirección de un socket. Llamadas básicas de los sockets. Diferencias entre BSD-Sockets y WinSockets. Asignación de puertos a procesos.

Más detalles

RPC. Llamadas a Procedimientos Remotos (RPC) Paradigmas. Conceptos. Modelo Conceptual

RPC. Llamadas a Procedimientos Remotos (RPC) Paradigmas. Conceptos. Modelo Conceptual 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 detalles

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO PRÁCTICA 4: Implementación de un Cliente de Correo

Más detalles

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. http://www.icc.uji.es. CAPÍTULO 8: El nivel de transporte en Internet

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. http://www.icc.uji.es. CAPÍTULO 8: El nivel de transporte en Internet Redes (IS20) Ingeniería Técnica en Informática de Sistemas http://www.icc.uji.es CAPÍTULO 8: El nivel de transporte en Internet ÍNDICE 1. Introducción Curso 2002-2003 - Redes (IS20) -Capítulo 8 1 1. Introducción

Más detalles

Componentes de un S.O.

Componentes 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 detalles

7. Manejo de Archivos en C.

7. 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 detalles

Sistemas Operativos I Manual de prácticas

Sistemas Operativos I Manual de prácticas Sistemas Operativos I Manual de prácticas Grupo de Sistemas Operativos (DSIC/DISCA) Práctica 3: Procesos POSIX ANTES DE EMPEZAR...... 2 PRÁCTICA 3: PROCESOS POSIX... 2 CREACIÓN DE PROCESOS MEDIANTE FORK...

Más detalles

SOCKETS en Linux. Lic. Leonardo de - Matteis. Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 2011

SOCKETS en Linux. Lic. Leonardo de - Matteis. Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 2011 Introducción al uso de SOCKETS en Linux Lic. Leonardo de - Matteis Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 2011 Interfaz de programación de aplicaciones NAPI

Más detalles

Tema 4.1: - TRANSPORTE-

Tema 4.1: - TRANSPORTE- Tema 4.1: - TRANSPORTE- -Introducción - Terminología OSI - Tipologia y complejidad - Servicios - Calidad de servicio - Conexiones de transporte - Transporte en Internet - Introducción. Su función básica

Más detalles

DESARROLLO DE APLICACIONES DISTRIBUIDAS. SOCKETS en UNIX

DESARROLLO DE APLICACIONES DISTRIBUIDAS. SOCKETS en UNIX DESARROLLO DE APLICACIONES DISTRIBUIDAS PRÁCTICAS CURSO 2002-2003 SOCKETS en UNIX 1. Los SOCKETS en OSI/ISO - Como ya conocéis, el modelo OSI/ISO estructura los diferentes elementos que conforman una red

Más detalles

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */ Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones

Más detalles

Concurrencia. Primitivas IPC con bloqueo

Concurrencia. Primitivas IPC con bloqueo Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región

Más detalles

Aplicaciones Cliente/Servidor en Gambas Prof: Mileti, P.

Aplicaciones Cliente/Servidor en Gambas Prof: Mileti, P. Aplicaciones Cliente/Servidor en Gambas Prof: Mileti, P. Al igual que un usuario se comunica con el programa por medio del teclado, dos programas se pueden comunicar entre sí por medio Sockets. Se podría

Más detalles

ARQUITECTURA DE REDES Laboratorio

ARQUITECTURA DE REDES Laboratorio 1nsloo.cl ARQUITECTURA DE REDES Laboratorio Práctica 2: Ejercicios de aplicación de Sockets en C 1. OBJETIVOS. El objetivo de esta práctica es que el alumno llegue a conocer los principales conceptos relacionados

Más detalles

Curso de Redes Computadores 1 Tema 3 Introducción a la capa de transporte. Interfaz de programación en redes. Sockets.

Curso de Redes Computadores 1 Tema 3 Introducción a la capa de transporte. Interfaz de programación en redes. Sockets. Curso de Redes Computadores 1 Tema 3 Introducción a la capa de transporte. Interfaz de programación en redes. Sockets. Prof. Ricardo Gonzalez Redes de Computadores Tema 3 1 1 Modelo Cliente-Servidor Dos

Más detalles

Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información Curso de Redes I CI-4815 Trimestre Septiembre Diciembre 2013

Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información Curso de Redes I CI-4815 Trimestre Septiembre Diciembre 2013 Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información Curso de Redes I CI-4815 Trimestre Septiembre Diciembre 2013 Proyecto I Autores: Lairon Acosta. Carnet: 09-10927 Jueves

Más detalles

Análisis Experimental de la Transmisión de Datos

Análisis Experimental de la Transmisión de Datos UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE ELECTRÓNICA Análisis Experimental de la Transmisión de Datos ELO322 Redes de Computadores I Pablo Ahumada D. Jorge Cápona G. Resumen Se muestra

Más detalles

Programación con Sockets

Programación con Sockets Programación con Sockets INTRODUCCIÓN 1 Qué son los Sockets? Son un mecanismo de comunicación entre procesos: Dentro de una misma máquina. Distribuidos en diferentes máquinas. Que pueden ser identificados

Más detalles

Programación de aplicaciones distribuidas usando sockets

Programación de aplicaciones distribuidas usando sockets Programación de aplicaciones distribuidas usando sockets 1 a Versión: José Luis Díaz. Octubre 1994. 2 a Versión: José Ramón Arias. Nov. 1998, Oct. 1999, Oct. 2000. Índice general 1. Programación de aplicaciones

Más detalles

ARQUITECTURA DE REDES Laboratorio PRÁCTICA 2: MANUAL DE SOCKETS EN C. Grado en Ingeniería Informática Curso 2014/15

ARQUITECTURA DE REDES Laboratorio PRÁCTICA 2: MANUAL DE SOCKETS EN C. Grado en Ingeniería Informática Curso 2014/15 ARQUITECTURA DE REDES Laboratorio PRÁCTICA 2: MANUAL DE SOCKETS EN C Grado en Ingeniería Informática Curso 2014/15 ÍNDICE 1. INTRODUCCIÓN.. 3 1.1 La familia de protocolos TCP/IP. 3 1.2 Nivel de red (IP)..

Más detalles

1. Sistema Operativo Unix

1. Sistema Operativo Unix 1. Sistema Operativo Unix 1.1 Introducción al S.O. Unix y su entorno 1.2 Subsistema de Archivos 1.3 Subsistema de Procesos 1.4 Políticas de Gestión de Memoria Dpto. Lenguajes y Sistemas Informáticos. Universidad

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN 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 detalles

Mensajes. Interbloqueo

Mensajes. 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 detalles

LENGUAJE. Tema 1 - Introducción

LENGUAJE. 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 detalles

Modem IBM Compatible. IBM Compatible. Ethernet IBM AS/400. Laser printer. Workstation. Mac II. El Interfaz. Socket. versión perliminar

Modem IBM Compatible. IBM Compatible. Ethernet IBM AS/400. Laser printer. Workstation. Mac II. El Interfaz. Socket. versión perliminar IBM Compatible Modem IBM Compatible Ethernet IBM AS/400 Laser printer Workstation Mac II El Interfaz Socket versión perliminar ÍNDICE 1. INTRODUCCIÓN. 2. QUÉ ES UN SOCKET?. 2.1. Dominio de un socket. 2.2.

Más detalles

Práctica 2 Programación de Aplicaciones Distribuidas: Sockets TCP. Laboratorio de Comunicación de Datos ITT Telemática 26 de Septiembre 2011

Práctica 2 Programación de Aplicaciones Distribuidas: Sockets TCP. Laboratorio de Comunicación de Datos ITT Telemática 26 de Septiembre 2011 Práctica 2 Programación de Aplicaciones Distribuidas: Sockets TCP Laboratorio de Comunicación de Datos ITT Telemática 26 de Septiembre 2011 Introducción Aplicaciones Orientadas a Conexión TCP:Servicio

Más detalles

Juan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN

Juan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN UNICIENCIA 24 pp. 83-89 2010 IMPLEMENTACIÓN DE UN SERVIDOR FTP UTILIZANDO EL MODELO CLIENTE/SERVIDOR MEDIANTE EL USO DE SOCKETS EN LENGUAJE C UNIX CON EL FIN DE MEJORAR LOS TIEMPOS DE RESPUESTA EN LA RED

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Tema 5 : Comunicación entre Procesos mediante Tuberías Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Algunas

Más detalles

Introducción a las Redes de Computadoras. Obligatorio 2 2011

Introducción a las Redes de Computadoras. Obligatorio 2 2011 Introducción a las Redes de Computadoras Obligatorio 2 2011 Facultad de Ingeniería Instituto de Computación Departamento de Arquitectura de Sistemas Nota previa - IMPORTANTE Se debe cumplir íntegramente

Más detalles

Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente:

Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente: (3 ptos) Memoria Compartida y Semáforos R/W 1. Objetivo En esta práctica se pretende crear una librería que dé la funcionalidad de un semáforo para resolver problemas con múltiples lectores y escritores

Más detalles

Comunicación entre Procesos

Comunicación entre Procesos Sincronización y Comunicación de Procesos Sincronización y Comunicación de Procesos Sincronización Sincronización Comunicación Comunicación Condiciones de Condiciones de Carrera Carrera Memoria Memoria

Más detalles

Sistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I.

Sistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I. Sistemas Operativos Clase # 9 Tipos de llamadas al Sistema Viernes, 3 de Mayo de 2002 Agenda Sorpresa! no hay prueba. Tipos de llamadas al sistema. Iván Bernal, Ph.D. Escuela Politécnica Nacional email:

Más detalles

CDI Exclusión mutua a nivel alto. conceptos

CDI Exclusión mutua a nivel alto. conceptos conceptos El concepto de usar estructuras de datos a nivel alto libera al programador de los detalles de su implementación. El programador puede asumir que las operaciones están implementadas correctamente

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Tema 7 : Comunicación mediante sockets Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Los sockets (también

Más detalles

Analista Universtiario en Sistemas. Sistemas Operativos. IPC - Sockets SOCKETS

Analista Universtiario en Sistemas. Sistemas Operativos. IPC - Sockets SOCKETS SOCKETS Introducción Permiten la comunicación entre dos o más procesos ejecutando en un mismo equipo o equipos independientes La comunicación que posibilitan es full-duplex (bi-direccional) Sigue el modelo

Más detalles

Modelo de Objetos Distribuidos

Modelo de Objetos Distribuidos Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo

Más detalles

Sistema de Captura Electrónica

Sistema de Captura Electrónica Sistema de Captura Electrónica Instructivo de Instalación y Configuración de Lote Server a PC Versión del Documento v2.01 INDICE INDICE... 2 Consideraciones generales de las aplicaciones... 4 Especificaciones

Más detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

Más detalles

MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35. Facultad de Ingeniería, UBA. Junio 2002. Cátedra: Pablo Cosso

MICQ. 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 detalles

TEMA 2 Técnicas básicas de construcción de aplicaciones distribuidas. Universidad de Oviedo / Dpto. de Informática

TEMA 2 Técnicas básicas de construcción de aplicaciones distribuidas. Universidad de Oviedo / Dpto. de Informática TEMA 2 Técnicas básicas de construcción de aplicaciones distribuidas Lección 2 Modelos de aplicaciones distribuidas Modelos de aplicaciones distribuidas Una aplicación distribuida sería una pieza de software

Más detalles

Memoria Compartida. Llave de acceso. Segmento Compartido. estructura definida en A. estructura definida en B. Proceso B. Proceso A

Memoria Compartida. Llave de acceso. Segmento Compartido. estructura definida en A. estructura definida en B. Proceso B. Proceso A Memoria Compartida Llave de acceso 1234 Segmento Compartido apuntador estructura definida en A apuntador estructura definida en B Proceso A Proceso B Dr. Roberto Gómez Diapo No. 1 Librerías y estructuras

Más detalles

Nivel de Transporte en Internet

Nivel de Transporte en Internet Nivel de Transporte en Internet Nivel de Transporte en TCP/ La capa de transporte transmite mensajes entre las aplicaciones de dos ordenadores. La programación de aplicaciones sobre el nivel de transporte

Más detalles

Sistema Cliente Servidor Con Sockets

Sistema Cliente Servidor Con Sockets Sistema Cliente Servidor Con Sockets Rafael Benedicto Tovar Antonio Soler Muñoz 0 Índice 1. Resumen del proyecto 2 Introducción teórica 2.1 - Qué es un socket? 2.2 - Dominios de comunicación 2.3 - Tipos

Más detalles

Tema 4. Gestión de entrada/salida

Tema 4. Gestión de entrada/salida Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada

Más detalles

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

18 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 detalles

Mecanismo(s) de intercambio de información entre 2 ó más computadores conectados entre sí o a través de otros.

Mecanismo(s) de intercambio de información entre 2 ó más computadores conectados entre sí o a través de otros. Comunicaciones Comunicaciones: Mecanismo(s) de intercambio de información entre 2 ó más computadores conectados entre sí o a través de otros. Terminología: Trama: unidad de información a transmitir Medio:

Más detalles

Contenidos. Archivos en C++ Archivos en C++ Introducción

Contenidos. Archivos en C++ Archivos en C++ Introducción Contenidos 1. Introducción. 2. Manipulación de ficheros. 3. Organización de archivos. 4. Tipo de almacenamiento. 5. Biblioteca de flujos. 6. Operaciones asociadas a archivos: Abrir fichero, Cerrar fichero,

Más detalles

COMUNICACIÓN Sistemas Distribuidos

COMUNICACIÓN Sistemas Distribuidos COMUNICACIÓN Sistemas Distribuidos Alvaro Ospina Sanjuan Universidad Pontificia Bolivariana Medellín 2010 Agenda Comunicación centralizada y distribuida Protocolos con capas Modelo cliente servidor Sockets

Más detalles

Prácticas de Sistemas operativos

Prácticas de Sistemas operativos Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Tercera Semana: Comunicación entre procesos con Tuberías 1 Entregas 2 Introducción

Más detalles

Ingeniería Técnica de Telecomunicación, esp. Telemática Universidad de Jaén

Ingeniería Técnica de Telecomunicación, esp. Telemática Universidad de Jaén Contenido. Introducción Primitivas Sockets orientadas a conexión (TCP) Primitivas orientadas a no conexión (UDP) Programación con Sockets en Internet Funciones sockets Funciones auxiliares 1 Bibliografía.

Más detalles

Sistemas 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 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 detalles

Introducción a las redes de computadores

Introducció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 detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles