Examen de Laboratorio de Sistemas Operativos. Primera Convocatoria. 2007/2008. Tercero Ingeniería Informática. Apellidos: 18 de Junio de 2008

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

Download "Examen de Laboratorio de Sistemas Operativos. Primera Convocatoria. 2007/2008. Tercero Ingeniería Informática. Apellidos: 18 de Junio de 2008"

Transcripción

1 [Cuestión 1.] Resuelva con una línea de comandos UNIX las siguientes tareas: Apartado a.- Compile y enlace en una única instrucción los archivos de código C principal.c, funciones.c y procesos.c. Como resultado se deberá generar un archivo ejecutable cuyo nombre será programa1. gcc principal.c funciones.c procesos.c o programa1 Apartado b.- Borre el grupo de semáforos cuyo identificador es el ipcrm s 2008 Apartado c.- Obtenga un listado de todos los sockets de tipo UNIX que hay actualmente en el sistema y añádalos al final del fichero sock_un_log.txt. ls lr / grep ^s >> sock_un_log.txt Apartado d.- Liste todos los archivos regulares del directorio actual que tengan al menos permiso de lectura y escritura para el propietario. ls l grep ^-rw Puntuación: 2 ptos. Tiempo estimado: 5 min. 1

2 2

3 [Cuestión 2.] Realice un programa en C, recorrido, que en ejecución resulte en la creación de tres procesos, un proceso padre y dos procesos hijos (procesos A y B). El programa recibirá como argumento la ruta de un directorio que deberá ser recorrido por el proceso hijo A. Para cada entrada de directorio, el proceso A enviará al proceso B la ruta de la entrada de directorio leída. El proceso hijo B, por su parte, deberá comprobar si dicha entrada de directorio es un fichero regular con permiso de escritura para el propietario e informar al proceso A de ello. En concreto, el proceso B enviará al proceso A la señal SIGUSR1 en caso de que la entrada de directorio cumpla los criterios especificados y la señal SIGUSR2 en caso contrario. Note que el proceso A deberá mostrar por pantalla un mensaje informando, para cada entrada de directorio, su ruta y si ésta cumple los criterios especificados. Al finalizar el recorrido del directorio, el proceso A enviará la cadena FIN al proceso B y ambos terminarán. La Figura 1 muestra un esquema del funcionamiento del programa: Padre A B SIGUSR1 SIGUSR2 Figura 1. Esquema de funcionamiento del programa recorrido La Figura 2 muestra un ejemplo del programa en ejecución: murillo>recorrido /tmp /tmp/. : NO ES FICHERO REGULAR CON PERMISO DE ESCRITURA /tmp/.. : NO ES FICHERO REGULAR CON PERMISO DE ESCRITURA /tmp/.x11-unix : NO ES FICHERO REGULAR CON PERMISO DE ESCRITURA /tmp/.x11-pipe : NO ES FICHERO REGULAR CON PERMISO DE ESCRITURA /tmp/ps_data : FICHERO REGULAR CON PERMISO DE ESCRITURA /tmp/.removable : NO ES FICHERO REGULAR CON PERMISO DE ESCRITURA Figura 2. Ejemplo del programa recorrido en ejecución NOTAS: Note que hasta que no se ha comprobado una entrada de directorio no se continúa con la siguiente. No deje procesos huérfanos ni zombis. No se permite el uso de la llamada system. Puntuación: 2 ptos. Tiempo estimado: 30 min. 3

4 #include <stdio.h> #include <unistd.h> #include <dirent.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/file.h> #include <string.h> #include <fcntl.h> #include <stdlib.h> #include <errno.h> #include <signal.h> #define MAX_LONG_RUTA 255 void manejadorsigusr1(int sig); void manejadorsigusr2(int sig); int main(int argc, char * argv[]) int i,nbytes,status; pid_t childpid, childpida; char ruta[max_long_ruta]; int fd[2]; if (argc!=2) fprintf(stderr,"uso %s <ruta_dir>", argv[0]); // Creacion de tuberías if ((pipe(fd) < 0)) perror("ocurrió un error al crear la tubería\n"); for(i=0;i<=2;i++) childpid=fork(); if (childpid < 0) perror("error al hacer fork"); if (i==0) childpida = childpid; if (childpid == 0) if (i==0) /* PROCESO HIJO A */ DIR *dirp; struct dirent *direntp; /* Cerrar descriptores innecesarios */ close(fd[0]); // Manejador para SIGUSR1 if (signal (SIGUSR1, manejadorsigusr1) == SIG_ERR) perror("error en signal"); 4

5 // Manejador para SIGUSR2 if (signal (SIGUSR2, manejadorsigusr2) == SIG_ERR) perror("error en signal"); if ((dirp = opendir(argv[1])) == NULL) fprintf(stderr, "No se puede abrir el directorio %s. Error: %s\n", argv[1], strerror(errno)); return (-2); while ( (direntp = readdir( dirp ))!= NULL ) sprintf(ruta, "%s/%s", argv[1], direntp->d_name); write(fd[1],ruta,strlen(ruta)); printf("%s : ",ruta); fflush(stdout); pause(); // Informamos de que hemos llegado al final del recorrdio write(fd[1],"fin",3); exit(0); else if (i==1)/* PROCESO HIJO B */ struct stat atributos; /* Cerrar descriptores innecesarios */ close(fd[1]); while (1) for(i=0;i<max_long_ruta;i++) ruta[i]=0; /* Leer ruta fichero */ nbytes = read(fd[0],ruta,sizeof(ruta)); if (strcmp(ruta,"fin")==0) exit(0); //sleep(1); if(stat (ruta, &atributos) < 0) fprintf (stderr, "\nerror %d (%s) al hacer stat en %s", errno, strerror(errno), ruta); 5

6 & S_IWUSR)) if ((atributos.st_mode & S_IFREG) && (atributos.st_mode kill(childpida,sigusr1); else kill(childpida,sigusr2); /* PROCESO PADRE */ while (wait(&status)!=-1); return 0; void manejadorsigusr1(int sig) printf("fichero REGULAR CON PERMISO DE ESCRITURA\n"); signal (SIGUSR1, manejadorsigusr1); void manejadorsigusr2(int sig) printf("no ES FICHERO REGULAR CON PERMISO DE ESCRITURA\n"); signal (SIGUSR2, manejadorsigusr2); 6

7 [Cuestión 3.] Un padre tiene tres hijos: Adela, Benito y Cristina. Los domingos salen a pasear llevando al parque la única bicicleta que poseen. Para asegurar un uso equitativo de dicha bicicleta, cada hijo da una vuelta al parque y le deja la bicicleta al siguiente hermano. Primero daría la vuelta Adela que es la menor, luego Benito el segundo hijo, y por último Cristina, la mayor. En cada salida, programan dar un número de vueltas establecido previamente. La segunda y siguientes vueltas se realizan siempre siguiendo el mismo orden, empezando por Adela. Se pide desarrollar en C un programa, paseo, que simule el escenario presentado. Debe crear la estructura de un proceso padre con tres procesos hijos. El primer hijo simulará el paseo de Adela, el segundo el de Benito, y el tercero el de Cristina. El número de vueltas del paseo debe recogerse como argumento. Figura 3. Jerarquía de procesos del programa paseo La sincronización entre los procesos deberá implementarse a través de la biblioteca de semáforos vista en clase. Debe crear e inicializar los semáforos convenientemente. Suponga implementada la siguiente función: - void vuelta (char * cadena): Simula la vuelta en bicicleta realizada por el hijo cuyo nombre se encuentra en la cadena. murillo>./paseo Uso:./paseo <vueltas> murillo>./paseo 3 Vuelta de Adela Vuelta de Benito Vuelta de Cristina Vuelta de Adela Vuelta de Benito Vuelta de Cristina Vuelta de Adela Vuelta de Benito Vuelta de Cristina Figura 4. Ejemplo del programa paseo en ejecución NOTAS: Asegúrese de que los semáforos son eliminados cuando cualquiera de los procesos reciba la señal SIGINT. El acceso a la bicicleta, realizado por la función vuelta debe estar protegido mediante exclusión mutua. No se permite el uso de ningún tipo de variable compartida. No se permite dejar hijos huérfanos ni zombis. Debe tratar correctamente el número de argumentos. Puntuación: 3 ptos. Tiempo estimado: 30 min. 7

8 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> #include <signal.h> #include <errno.h> #include "Semaph.h" Semaph excmut,a,b,c; void iniciador () excmut = Semaph_Create("excmut", 1); A = Semaph_Create("A", 1); B = Semaph_Create("B", 0); C = Semaph_Create("C", 0); if ((excmut == -1) (A == -1) (B == -1) (C == -1)) perror("error al crear semaforos"); exit(-1); void terminador (int sig) Semaph_Destroy("excmut", excmut); Semaph_Destroy("A", A); Semaph_Destroy("B", B); Semaph_Destroy("C", C); exit(0); void vuelta(char *cadena) printf("vuelta de %s\n",cadena); int main (int argc, char * argv[]) int i,v,vueltas,status,waitreturn; int padre; padre = 1; if(argc!=2) printf("uso: %s <vueltas>\n",argv[0]); exit(1); sscanf(argv[1],"%d",&vueltas); iniciador(); if(signal(sigusr1,terminador)==sig_err) perror("signal\n"); exit(-1); for (i=0; i < 3; i++) if (padre == 1) if (fork() == 0) /* Proceso hijo */ if(i==0) //hijo A for(v=0;v<vueltas;v++) Semaph_Down(A); 8

9 Semaph_Down(excmut); vuelta("adela"); Semaph_Up(excmut); Semaph_Up(B); if(i==1) //hijo B for(v=0;v<vueltas;v++) Semaph_Down(B); Semaph_Down(excmut); vuelta("benito"); Semaph_Up(excmut); Semaph_Up(C); if(i==2) //hijo C for(v=0;v<vueltas;v++) Semaph_Down(C); Semaph_Down(excmut); vuelta("cristina"); Semaph_Up(excmut); Semaph_Up(A); padre = 0; else /* Proceso padre */ padre = 1; //if padre //for while(waitreturn = wait(&status)) if ((waitreturn == -1) && (errno!= EINTR)) break; return 0; 9

10 10

11 [Cuestión 4.] Se desea implementar en C un cliente y un servidor de archivos concurrente que trabajen en modo conectado y que puedan funcionar a través de Internet. La implementación del servidor constará de las siguientes funciones: int crear_conexion_servidor (int puerto) Esta función realiza las siguientes acciones: o Crea el socket que se empleará como socket de escucha. o Une el socket a la dirección IP de la máquina en la que se ejecuta el código y al puerto indicado como parámetro de entrada. o Asigna el tamaño de la cola de espera de acuerdo al valor de la constante TAM_COLA. En caso de error, la función devuelve -1. int aceptar_conexion (int socket_escucha) Toma como argumento el descriptor del socket de escucha y devuelve el descriptor del socket conectado correspondiente a la última conexión. En caso de error, devuelve -1. int procesar_conexion_servidor (int sock_conectado) Toma como parámetro de entrada el descriptor de un socket conectado y procesa la conexión de forma adecuada en función de las órdenes introducidas por el cliente. Si todo va bien devuelve 0, en caso contrario -1. Por su parte, la implementación del cliente constará de las siguientes funciones: int crear_conexion_cliente (char * nombre_maquina, int puerto) Esta función realiza las siguientes acciones: o Crea el socket conectado en el cliente. o Conecta el socket al servidor cuyo nombre y puerto se introducen como parámetros. La función devuelve el descriptor del socket conectado. En caso de error, la función devuelve -1. int procesar_conexion_cliente (int socket_conexion) Esta función procesa la conexión adecuadamente leyendo las órdenes del usuario, transmitiéndolas al servidor y procesando la información que éste devuelve. Si todo va bien devuelve 0, en caso contrario -1. Una vez que el servidor se encuentre en funcionamiento, éste deberá enviar a los clientes la información que éstos soliciten a través de órdenes específicas. En la versión actual del servidor, las órdenes disponibles son: help: Si un cliente envía al servidor la cadena help, el servidor deberá enviar a dicho cliente el contenido del fichero help.txt localizado en el servidor seguido de la cadena <FIN>. El cliente, por su parte, deberá leer la información recibida del servidor y mostrarla por pantalla. La siguiente figura muestra un ejemplo del programa servidor y cliente en ejecución: murillo>servidor 8028 ================================= Servidor murillo Puerto: 8028 ================================= ================================= Cliente: Puerto cliente: ================================= Servidor a la espera de recibir ordenes... Orden "HELP" recibida murillo>cliente murillo 8028 Escriba la orden que desee enviar al servidor: help ============================================ SERVIDOR DE FICHEROS LSO AYUDA DEL SISTEMA ============================================ El servidor de ficheros LSO es un sistema... <FIN> Escriba la orden que desee enviar al servidor: Figura 5. Ejemplo del programa servidor y cliente en ejecución 11

12 Se pide: Apartado a.- Implemente la función crear_conexión_cliente (1,5 ptos.). Apartado b.- Implemente la función procesar_conexión_servidor incluyendo el código necesario para dar soporte a la órden help. Para la implementación deberá hacer uso de alguna de las llamadas exec (1,5 ptos.). NOTAS: Implemente tantas funciones auxiliares como considere necesarias. No se permite el uso de la llamada system. Puntuación: 3 ptos. Tiempo estimado: 40 min Apartado a.- /* Crea un socket de escucha en modo stream en el dominio de Internet */ int crear_conexion_cliente(char * nombre_maquina, int puerto) int s; struct sockaddr_in sin; struct hostent *hp; /* Obtenemos la dirección IP a partir del nombre */ hp = gethostbyname(nombre_maquina); if (hp == NULL) fprintf(stderr, "Error al obtener la dirección IP asociada al nombre de la maquina\n"); return (-1); /* Creamos el socket de conexion */ if ((s = socket(af_inet, SOCK_STREAM,0))<0) perror("error al crear el socket"); return (-1); /* Nos conectamos al servidor */ sin.sin_family = AF_INET; /* Tipo internet */ sin.sin_port = htons(puerto); /* Puerto en Network byte order */ memmove(&sin.sin_addr, hp->h_addr, hp->h_length); /* Obtenemos la dirección IP de Network byte order */ if (connect(s, (struct sockaddr *) &sin, sizeof(sin))<0) perror("error al hacer connect"); return (-1); return s; Apartado b.- /* Comunicación con el cliente */ int procesar_conexion_servidor(int socket_conexion) char mensaje[tam_mensaje]; int n_bytes=0; int i,fin=0; printf("servidor a la espera de recibir ordenes...\n"); while(!fin) for(i=0;i<tam_mensaje;i++) mensaje[i]=0; 12

13 n_bytes=recv(socket_conexion,mensaje, sizeof(mensaje),0); if (n_bytes < 0) fprintf(stderr,"error en recv\n"); return -1; // Fin? if (strcmp(mensaje,"bye\n")==0) fin=1; // Opcion help else if (strcmp(mensaje,"help\n")==0) printf("orden \"HELP\" recibida\n"); mostrar_ayuda(socket_conexion); else // Mostramos el mensaje tal cual printf("%s", mensaje); fflush(stdout); return 0; // Envía al cliente el contenido del fichero de ayuda void mostrar_ayuda(int socket_conexion) long childpid; char ruta[tam_mensaje]; // Creamos la ruta sprintf(ruta,"%s/help.txt",dir_serv); childpid=fork(); if (childpid==-1) // Error fprintf(stderr,"mostrar listado: Error al hacer fork\n"); else if (childpid==0) // Proceso hijo dup2(socket_conexion,1); execlp("cat","cat",ruta,0); fprintf(stderr,"error en exec: %s\n", strerror(errno)); else // Proceso padre sleep(2); send(socket_conexion,"<fin>\n",6,0); 13

Apartado a.- Obtenga un listado de todos los ficheros regulares del sistema terminados en.y ó.c, con permiso de lectura para el grupo.

Apartado a.- Obtenga un listado de todos los ficheros regulares del sistema terminados en.y ó.c, con permiso de lectura para el grupo. Examen de Sistemas Operativos (Parte práctica). Primera Convocatoria. Curso 2008/09. Tercero Ingeniería Técnica Informática Nombre: Gestión Sistemas Apellidos: 5 de Febrero de 2009 [Cuestión 1.] Resuelva

Más detalles

Resuelva con una orden UNIX las siguientes tareas:

Resuelva con una orden UNIX las siguientes tareas: Examen de Laboratorio de Sistemas Operativos. Convocatoria Diciembre. Curso 2008/09. Tercero Ingeniería Informática Nombre: Apellidos: 25 de Noviembre de 2009 [Cuestión 1.] Resuelva con una orden UNIX

Más detalles

[Cuestión 1.]Resuelva con una orden UNIX las siguientes tareas:

[Cuestión 1.]Resuelva con una orden UNIX las siguientes tareas: [Cuestión 1.]Resuelva con una orden UNIX las siguientes tareas: Apartado a.- Copie todas las rutas de los directorios donde el intérprete de comandos busca los programas ejecutables al final del fichero

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

Redirecciones y Tuberías

Redirecciones y Tuberías Redirecciones y Tuberías Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Redirecciones Redirección de la entrada y la salida estándar Unix/Linux definen

Más detalles

Ejercicio Sockets Suma Resta. Descripción

Ejercicio Sockets Suma Resta. Descripción Ejercicio Sockets Suma Resta Siguiendo con nuestra propuesta de construir embriones de servicios, como hemos hecho en la práctica programando un embrión de Telnet, un embrión de cliente de un servidor

Más detalles

Funciones POSIX (I): Introducción

Funciones POSIX (I): Introducción Funciones POSIX I Funciones POSIX I Llamadas al Llamadas al Sistema Sistema Gestión Básica Gestión Básica de Procesos de Procesos Procesos Procesos fork fork Señales Señales getpid getpid Memoria Memoria

Más detalles

Formatos para prácticas de laboratorio

Formatos para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA IC 2003-1 5314 Sistemas Operativos PRÁCTICA No. 6 LABORATORIO DE NOMBRE DE LA PRÁCTICA Comunicación entre procesos Tuberías DURACIÓN (HORA)

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

Práctica 1: Intérprete de mandatos. Sistemas Operativos Área de Arquitectura y Tecnología de Computadores

Práctica 1: Intérprete de mandatos. Sistemas Operativos Área de Arquitectura y Tecnología de Computadores Práctica 1: Intérprete de mandatos Introducción Desarrollo de un intérprete de mandatos (minishell) en UNIX/Linux en lenguaje C. Debe permitir: Ejecución de mandatos simples ls, cp, mv, rm, etc. Ejecución

Más detalles

Boletín 3- Archivos. Departamento de Lenguajes y Sistemas Informáticos

Boletín 3- Archivos. Departamento de Lenguajes y Sistemas Informáticos Boletín 3- Archivos Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción al acceso a Archivos 1. Acceso a archivos en alto nivel 2. Acceso a archivos en bajo nivel 2. El acceso a los

Más detalles

Biblioteca de sistema

Biblioteca de sistema * Para la realización del presente examen se aconseja un tiempo de 2 horas. Teoría 1. Explique en detalle cómo se pasa una llamada al sistema operativo. El sistema operativo se activa cuando debe responder

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

Sistemas Operativos sesión 12: tuberías

Sistemas Operativos sesión 12: tuberías Sistemas Operativos sesión : tuberías Grado en Ingeniería Informática Universidad Carlos III de Madrid Agenda Linux Comunicación con tuberías Ejercicios Agenda Linux Comunicación con tuberías Ejercicios

Más detalles

Aplicación Multiproceso sobre HTTP Ejemplo -

Aplicación Multiproceso sobre HTTP Ejemplo - LABORATORIO DE SISTEMAS OPERATIVOS (Curso 2013/2014) PRÁCTICA 3 Aplicación Multiproceso sobre HTTP Ejemplo - Objetivos del documento Este documento presenta un ejemplo, en el contexto de desarrollo planteado

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

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

Llamadas al Sistema para la Creación de Procesos

Llamadas al Sistema para la Creación de Procesos Llamadas al Sistema para la Creación de Procesos Transparencias realizadas por M. Curiel. Se utiliza material ya publicado en la WEB y elaborado por todos los prof. que hemos dado el curso. Llamada al

Más detalles

Ficheros y Directorios

Ficheros y Directorios Ficheros y Directorios Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Archivos Archivos UNIX Abstracción de datos que representa un espacio de almacenamiento,

Más detalles

ARQUITECTURA DE REDES Laboratorio

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

Más detalles

Prueba de Laboratorio Modelo B01 Semáforos y Memoria Compartida

Prueba de Laboratorio Modelo B01 Semáforos y Memoria Compartida Prueba de Laboratorio APELLIDOS: NOMBRE: GRUPO DE LABORATORIO: Indicaciones: No se permiten libros, apuntes ni teléfonos móviles. Cuando tenga una solución al ejercicio muéstrela al profesor (compilación

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

MC Hilda Castillo Zacatelco PROCESOS

MC Hilda Castillo Zacatelco PROCESOS MC Hilda Castillo Zacatelco hildacz@gmail.com PROCESOS Definición y atributos Un proceso es la instancia de un programa en ejecución. Desde el punto de vista del SO, un proceso es la entidad más pequeña

Más detalles

-> Todo socket viene definido por dos características fundamentales:

-> Todo socket viene definido por dos características fundamentales: LOS SOCKETS. Los sockets no son más que puntos o mecanismos de comunicación entre procesos que permiten que un proceso hable (emita o reciba información) con otro proceso incluso estando estos procesos

Más detalles

Redes de Computadores Nivel de Aplicación: Programación con sockets 3

Redes de Computadores Nivel de Aplicación: Programación con sockets 3 Redes de Computadores Nivel de Aplicación: Programación con sockets 3 Área de Ingeniería Telemática Dpto. Automática y Computación http://www.tlm.unavarra.es/ En clases anteriores... Clientes y servidores

Más detalles

Primer control de teoría

Primer control de teoría rimer control de teoría Ejercicio : reguntas cortas ( puntos) Tiempo estimado 5 min.. En un sistema actual de propósito general, las direcciones (funciones, referencias a datos, etc) que encontramos en

Más detalles

Prácticas de Sistemas Operativos

Prácticas de Sistemas Operativos Prácticas de Sistemas Operativos Toñi Reina, David Ruiz, Juan Antonio Álvarez, Antonio Tallón, Javier Gutiérrez, Pablo Neira, Paco Silveira, Sergio Segura y José Ángel Bernal Boletín 4: Procesos Curso

Más detalles

2. Problema de Análisis y Diseño Orientado a Objetos (5 puntos - 30 minutos)

2. Problema de Análisis y Diseño Orientado a Objetos (5 puntos - 30 minutos) APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y DISEÑO INDSUTRIAL Departamento de Ingeniería Eléctrica, Electrónica, Automática y Física Aplicada ASIGNATURA:

Más detalles

Teoría. Procesos. Escuela Politécnica Superior Universidad Autónoma de Madrid 1

Teoría. Procesos. Escuela Politécnica Superior Universidad Autónoma de Madrid 1 Grupos Realización Entrega/Evaluación Lunes 22 de Febrero, 1, 8, 15 de Marzo 22 de Marzo Martes 23 de Febrero, 2, 9 y 16 de Marzo 23 de Marzo Miércoles 24 de Febrero, 3, 10 y 17 de Marzo 24 de Marzo Viernes

Más detalles

Examen Final de Teoría. Grupo de teoría:

Examen Final de Teoría. Grupo de teoría: Preguntas Cortas (2 puntos) 1. Respecto a la optimización de gestión de memoria CoW, explica brevemente: a. Qué soporte hardware utiliza el sistema para poder implementarla? b. Qué permisos aplica el sistema

Más detalles

SCHOOL OF HACKING 2015 RETO BUFFER OVERFLOW

SCHOOL OF HACKING 2015 RETO BUFFER OVERFLOW SCHOOL OF HACKING 2015 RETO BUFFER OVERFLOW INSTRUCCIONES Para la resolución del reto habrá que tener una máquina física o virtual Linux instalada al menos con las siguientes características: - Compilador

Más detalles

Procesos e hilos: el downloader

Procesos e hilos: el downloader Departamento de Automática 1 / 8 Descarga de archivos con procesos en paralelo Objetivo principal: descarga de un archivo de gran tamaño de forma eficiente desde Internet Otros objetivos: Utilizar la biblioteca

Más detalles

Clases 04 y 05: Repaso de programación de sistemas basados en UNIX

Clases 04 y 05: Repaso de programación de sistemas basados en UNIX Clases 04 y 05: Repaso de programación de sistemas basados en UNIX Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof.

Más detalles

Ejercicios sobre tuberías

Ejercicios sobre tuberías Boletín 3. Ejercicios sobre tuberías July 14, 016 1. Indica de manera justificada si las siguientes afirmaciones sobre la utilización de tuberías como mecanismo de sincronización entre dos procesos son

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

Introducción y Gestión de Procesos

Introducción y Gestión de Procesos Introducción y Gestión de Procesos Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Llamadas al sistema Concepto Constituye el juego de instrucciones del sistema operativo

Más detalles

1_servicio_eco_stream_secuencial/eco_clie_tcp.c Tue Mar 09 09:57:

1_servicio_eco_stream_secuencial/eco_clie_tcp.c Tue Mar 09 09:57: 1_servicio_eco_stream_secuencial/eco_clie_tcp.c Tue Mar 09 09:57:01 2010 1 #include #include int s, leido; struct sockaddr_in dir; struct hostent *host_info; host_info=gethostbyname("localhost");

Más detalles

Bloque I: Principios de sistemas operativos

Bloque I: Principios de sistemas operativos Bloque I: Principios de sistemas operativos Tema 1. Principios básicos de los sistemas operativos Tema 2. Concurrencia Tema 3. Ficheros Tema 4. Sincronización y programación dirigida por eventos Tema 5.

Más detalles

Ejercicios de la sesión 4 de C resueltos

Ejercicios de la sesión 4 de C resueltos Ejercicios de la sesión 4 de C resueltos 1. Usando el procedimiento del ejercicio 2 del seminario anterior, escribe un programa que multiplique dos matrices A y B leídas de ficheros, la primera de tamaño

Más detalles

Boletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos

Boletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos Boletín 4- Procesos Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción (Procesos) 2. Identificadores de usuarios y procesos 3. La llamada fork() 4. Las llamadas wait() y exit() 5.

Más detalles

Boletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos

Boletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos Boletín 4- Procesos Departamento de Lenguajes y Sistemas Indice 1. Introducción n (Procesos) 2. Identificadores de usuarios y procesos 3. La llamada fork() 4. Las llamadas wait() y exit() 5. La llamada

Más detalles

Introducción a Sistemas Operativos: La red

Introducción a Sistemas Operativos: La red Introducción a Sistemas Operativos: La red Clips xxx Fr ancisco J Ballesteros 1. Sockets La red no existía cuando hicieron UNIX. Cuando posteriormente las máquinas empezaron a erconectarse (antes de la

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

Nombre y apellidos: DNI: 1

Nombre y apellidos: DNI: 1 R E R B 1 R E R 1 R R P Nombre y apellidos: DNI: 1 Examen de Redes de Computadores. Ingeniería Técnica en Informática de Gestión eptiembre de 28 Número de identificación del examen: examid Duración: 2

Más detalles

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Octubre 2015

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Octubre 2015 2. Problema de Análisis y Diseño Orientado a Objetos (10 puntos - 20 minutos) Para el código de test adjunto, se pide. 1. Diagrama de clases de diseño (2.5 puntos). 2. Implementación en C++ de la solución

Más detalles

Arquitectura de Computadores. Práctica 3: Mecanismos de comunicación entre procesos

Arquitectura de Computadores. Práctica 3: Mecanismos de comunicación entre procesos - 1 - Arquitectura de Computadores Práctica 3: Mecanismos de comunicación entre procesos Miguel Martínez de Falcón Pérez Mikel Anthony Rodríguez Manderson - 2-1) TUBERÍAS SIN NOMBRE a) Para comprobar su

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

Llamadas al sistema básicas de control de procesos

Llamadas al sistema básicas de control de procesos Actividad 7 (v. 16046) Pablo González Nalda Depto. de Lenguajes y Sistemas Informáticos lsi.vc.ehu.es/pablogn Llamadas al sistema básicas de control de procesos Observa, analiza y prueba los programas:

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 Segunda Semana: Procesos, Procesos Padre y Procesos Hijo, familia exec() 1 Entregas

Más detalles

Un ejemplo: UNIX PROCESOS UNIX

Un ejemplo: UNIX PROCESOS UNIX PROCESOS UNIX Un ejemplo: UNIX Cada proceso sólo puede tener un flujo: el concepto proceso engloba todo Dos llamadas implicadas en la creación de procesos crear proceso cargar programa La relación de procesos

Más detalles

PRÁCTICA 2: Cliente-servidor UDP

PRÁCTICA 2: Cliente-servidor UDP PRÁCTICA 2: Cliente-servidor UDP El objetivo de esta práctica es la familiarización con aplicaciones elementales que usan los servicios de transporte de los sockets UDP. A lo largo de la práctica se realizarán

Más detalles

Concurrencia en UNIX / LINUX. Introducción: Procesos e Hilos POSIX

Concurrencia en UNIX / LINUX. Introducción: Procesos e Hilos POSIX Concurrencia en UNIX / LINUX Introducción: Procesos e Hilos POSIX El estándar POSIX POSIX: Interfaz de sistemas operativos portables. Basado en UNIX A pesar de que UNIX es ya de por sí estándar, habí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

Servicios de Internet

Servicios de Internet Servicios de Internet Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios 3º Ingeniería de Telecomunicación 1 Temario 1. Introducción 2. Arquitecturas,

Más detalles

Polimorfismo 2. Nº Mat. Calificación. class One: public Base { void ph1(){cout << "b ";} void ph2(){cout << "d ";} };

Polimorfismo 2. Nº Mat. Calificación. class One: public Base { void ph1(){cout << b ;} void ph2(){cout << d ;} }; APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y DISEÑO INDSUTRIAL Departamento de Ingeniería Eléctrica, Electrónica, Automática y Física Aplicada ASIGNATURA:

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 2 : entorno programación linux Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Francisco J. Santana 1 Programación

Más detalles

Procesos e Hilos en C

Procesos e Hilos en C Procesos e Hilos en C 6 de febrero de 2012 En esta sesión vamos a escribir programas en lenguaje C que utilicen hilos y procesos para comparar el rendimiento del sistema ante la gestión de unos y otros.

Más detalles

Introducción y Gestión de Procesos

Introducción y Gestión de Procesos Introducción y Gestión de Procesos Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Llamadas al sistema Concepto Constituye el juego de instrucciones del sistema operativo

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

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

Enunciado 2 Descifrar claves cifradas con crypt

Enunciado 2 Descifrar claves cifradas con crypt Enunciado 2 Descifrar claves cifradas con crypt INDICE 1 Definición del problema...1 2 Solución secuencial...1 3 Tabla de tiempos...3 4 Para saber más...3 5 Listado de programas...3 5.1 cifrado.h...4 5.2

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 Quinta semana: señales 1 Cronograma semanal 2 Entregas 3 Introducción 4 Envío de

Más detalles

Plataformas de Tiempo Real

Plataformas de Tiempo Real Master en Computación Plataformas de Tiempo Real POSIX Avanzado y Extensiones Tema 2. Gestión de Interrupciones en MaRTE OS Tema 3. Monitorización y control del tiempo de ejecución Tema 4. Planificación

Más detalles

Apellidos: Nombre: Matrícula: Examen Programación para Sistemas Grado en Ingeniería Informática (2009)

Apellidos: Nombre: Matrícula: Examen Programación para Sistemas Grado en Ingeniería Informática (2009) Examen 105000016 - Programación para Sistemas Grado en Ingeniería Informática (2009) Lenguajes y Sistemas Informáticos e Ingeniería de Software Facultad de Informática Universidad Politécnica de Madrid

Más detalles

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Enero 2016

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Enero 2016 APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y DISEÑO INDSUTRIAL Departamento de Ingeniería Eléctrica, Electrónica, Automática y Física Aplicada ASIGNATURA:

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

Área de Arquitectura y Tecnología de Computadores. Universidad Carlos III de Madrid SISTEMAS OPERATIVOS. Ejercicio. Programación en bash

Área de Arquitectura y Tecnología de Computadores. Universidad Carlos III de Madrid SISTEMAS OPERATIVOS. Ejercicio. Programación en bash Área de Arquitectura y Tecnología de Computares Universidad Carlos III de Madrid SISTEMAS OPERATIVOS Ejercicio. Programación en bash Gra de Ingeniería en Informática Curso 2016/2017 AUTORES (Nombre, Apellis,

Más detalles

Sistemas Operativos 1

Sistemas Operativos 1 Ejercicio 1. Se desea implementar una aplicación de n procesos concurrentes, donde cada proceso ejecuta una determinada tarea en forma de pipeline. Un ejemplo de esta aplicación con n=4 sería la siguiente:

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

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

Prácticas de Sistemas Operativos

Prácticas de Sistemas Operativos Prácticas de Sistemas Operativos Toñi Reina, David Ruiz, Juan Antonio Álvarez, Antonio Tallón, Javier Gutiérrez, Pablo Neira, Paco Silveira, José Ángel Bernal y Sergio Segura Boletín 2: Introducción a

Más detalles

Introducción a Sistemas Operativos: Ficheros

Introducción a Sistemas Operativos: Ficheros Introducción a Sistemas Operativos: Ficheros Clips Fr ancisco J Ballesteros 1. Entrada/Salida Es importante saber cómo utilizar ficheros. En UNIX, es aún más importante dado que gran parte de los recursos,

Más detalles

Sistemas Operativos. Grado Ingeniería Informática. TGR Procesos.

Sistemas Operativos. Grado Ingeniería Informática. TGR Procesos. Sistemas Operativos. Grado Ingeniería Informática. TGR Procesos. 1.-Considerar los siguientes procesos con los tiempos de llegadas, prioridades y ráfagas de cpu. Proceso Ráfaga de CPU Prioridad Tiempo

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

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

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS Caso 1: 1.- Necesitamos un cd o Dvd para grabar alguna de las versiones de livecd de Linux. 2.- Liga de una

Más detalles

Para C un chero no es más que una porción de almacenamiento

Para C un chero no es más que una porción de almacenamiento Ficheros en C Para C un chero no es más que una porción de almacenamiento de memoria. C representa un chero como una estructura, de hecho el chero stdio.h contiene la dención de un chero como si fuese

Más detalles

PROTOCOLOS PARA LA INTERCONEXIÓN DE REDES

PROTOCOLOS PARA LA INTERCONEXIÓN DE REDES UNIVERSIDAD DE CANTABRIA DEPARTAMENTO DE INGENIERÍA DE COMUNICACIONES GRUPO DE INGENIERÍA TELEMÁTICA PROTOCOLOS PARA LA INTERCONEXIÓN DE REDES PRÁCTICA 4: DESARROLLO DE APLICACIONES CLIENTE/SERVIDOR MEDIANTE

Más detalles

Laboratorio de Sistemas Operativos

Laboratorio de Sistemas Operativos Laboratorio de Sistemas Operativos Juan Antonio Álvarez, Toñi Reina, David Ruiz, Antonio Tallón, Pablo Neira, José Ángel Bernal y Sergio Segura Boletín 8: Mecanismo de IPC de Berkeley. Sockets Curso 2006/07

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

Introducción a Sistemas Operativos: Comunicación entre Procesos

Introducción a Sistemas Operativos: Comunicación entre Procesos Introducción a Sistemas Operativos: Comunicación entre Procesos Clips xxx Fr ancisco J Ballesteros 1. Pipefroms Otra función de utilidad realiza el trabajo inverso, permite leer la salida de un comando

Más detalles

PRÁCTICA 1: PROCESOS Y COMUNICACIÓN ENTRE PROCESOS

PRÁCTICA 1: PROCESOS Y COMUNICACIÓN ENTRE PROCESOS PRÁCTICA 1: PROCESOS Y COMUNICACIÓN ENTRE PROCESOS v1.3.0 Rodrigo García Carmona Antes de empezar la práctica, copia los ficheros que se encuentran en la carpeta SOS-Practica_1-Materiales al directorio

Más detalles

Taller de Sistemas Operativos Introducción

Taller de Sistemas Operativos Introducción Taller de Sistemas Operativos Introducción Escuela de Ingeniería Civil en Informática Universidad de Valparaíso, Chile http:// Conceptos generales 2 Proceso stdin Descriptor Flujo (FILE*) 0 stdout 1 Proceso

Más detalles

Tema 4: Gestión de Procesos

Tema 4: Gestión de Procesos Tema 4: Gestión de Procesos SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla - La Mancha Marzo

Más detalles

Nombre y apellidos: DNI: 1

Nombre y apellidos: DNI: 1 R E R B 1 R E 0 0 0 R S 1 R S R P 0 Nombre y apellidos: DNI: 1 Examen de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Septiembre de 2008 Número de identificación del examen: examid

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 I Teoría : Entrada/Salida - Archivos.

Programación I Teoría : Entrada/Salida - Archivos. Programación I Teoría : Entrada/Salida - Archivos http://proguno.unsl.edu.ar proguno@unsl.edu.ar Entrada/Salida Interacción del programa con su ambiente para leer (entrada) y escribir (salida) datos. 2

Más detalles

Capitulo VI Arquitectura del sistema de archivos

Capitulo VI Arquitectura del sistema de archivos Capitulo VI Arquitectura del sistema de archivos Las características que posee el sistema de archivos de UNIX son las siguientes: Posee una estructura jerárquica. Realiza un tratamiento consistente de

Más detalles

Funciones POSIX III Funciones POSIX III. No Nombrados Nombrados. sem_open sem_open. sem_close sem_close. sem_unlink sem_unlink

Funciones POSIX III Funciones POSIX III. No Nombrados Nombrados. sem_open sem_open. sem_close sem_close. sem_unlink sem_unlink Funciones POSIX III Funciones POSIX III Sincronización Sincronización Procesos Procesos Semáforos Semáforos (sem_t) (sem_t) Sincronización Sincronización Threads Threads Mutex Mutex (pthread_mutex_t) (pthread_mutex_t)

Más detalles

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III Lenguaje C 1 Puntos previos Los códigos fuentes generados en C requieren ser compilados

Más detalles

Sistemas Operativos Primer Parcial Tema2

Sistemas Operativos Primer Parcial Tema2 Dpto. 1: Realice la gráfica de la estructura de procesos generada por el siguiente código, en la gráfica asigne PID a cada proceso. (2) int n = 4;pid_t pid; while( n!= 0){ if ( pid == 0 ) break; n--; return

Más detalles

Redes de Computadores: Relación de problemas 1. Sockets

Redes de Computadores: Relación de problemas 1. Sockets Redes de Computadores: Relación de problemas 1. Sockets 1. Obtención de nombres y direcciones IP Uso de gethostbyname y gethostbyaddr. Bajo el sistema operativo Linux, esta información se puede obtener

Más detalles

Redes de Computadores Nivel de Aplicación: Programación con sockets I

Redes de Computadores Nivel de Aplicación: Programación con sockets I Redes de Computadores Nivel de Aplicación: Programación con sockets I Área de Ingeniería Telemática Dpto. Automática y Computación http://www.tlm.unavarra.es/ En clases anteriores... El nivel de aplicación

Más detalles