[Cuestión 1.]Resuelva con una orden UNIX las siguientes tareas:
|
|
- Adolfo Ferreyra Navarrete
- hace 6 años
- Vistas:
Transcripción
1 [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 rutas.txt situado en el directorio temporal del sistema. echo $PATH >> /tmp/rutas.txt Apartado b.- Modifique los permisos del fichero pdatos.txt del directorio precursos de su directorio de usuario de tal forma que el propietario tenga todos los perm isos sobre él, el grupo sólo lectura y ejecución, y el resto de usuarios, sólo posean permiso de lectura. Chmod 754 $HOME/precursos/pdatos.txt Apartado c.- Mostrar un listado con información sobre los directorios del sistema (a cualquier nivel) cuyo nombre empieza por bin y sólo tienen permiso de lectura para el propietario. El grupo y otros no disponen de permiso de lectura. Los permisos de escritura y ejecución no nos importan. ls lr / grep bin[^ ]*$ grep ^dr Apartado d.- Copiar el contenido existente, a cualquier nivel, que se encuentra en el directorio padre del directorio actual al subdirectorio copia que se encuentra en el directorio que indica la variable de entorno BACKUP. Cp R.. $BACKUP/copia Puntuación: 2 ptos. Tiempo estimado: 10 min. 1
2 2
3 [Cuestión 2.]Debe implementarse en C un programa denominado ficheros_regulares_ejecutables, que admita como parámetro la ruta absoluta de un directorio y muestre por pantalla la ruta y el tamaño en bytes de los ficheros regulares contenidos, a cualquier nivel, en dicho directorio que tengan al menos permiso de ejecución para el propietario. Si se ejecuta el programa ficheros_regulares_ejecutables sin indicar ningún argumento adicional, se mostrará el siguiente mensaje: Uso: ficheros_regulares_ejecutables <directorio> En la figura 1 aparece un fragmento de un ejemplo de ejecución de este programa: murillo:/export/home/examen>./ficheros_regulares_ejecutables /sbin Directorio = /sbin Ruta del archivo ejecutable = /sbin/su Tamanno = bytes Ruta del archivo ejecutable = /sbin/autopush Tamanno = bytes Ruta del archivo ejecutable = /sbin/dhcpagent Tamanno = bytes Ruta del archivo ejecutable = /sbin/dhcpinfo Tamanno = bytes Ruta del archivo ejecutable = /sbin/fdisk Tamanno = bytes Ruta del archivo ejecutable = /sbin/in.mpathd Tamanno = bytes Ruta del archivo ejecutable = /sbin/init Tamanno = bytes Ruta del archivo ejecutable = /sbin/jsh Tamanno = bytes Ruta del archivo ejecutable = /sbin/mount Tamanno = bytes Ruta del archivo ejecutable = /sbin/netstrategy Tamanno = bytes Ruta del archivo ejecutable = /sbin/rc0 Tamanno = 2792 bytes Ruta del archivo ejecutable = /sbin/sh Tamanno = bytes Ruta del archivo ejecutable = /sbin/bpgetfile Tamanno = 8892 bytes Ruta del archivo ejecutable = /sbin/setbootdev Tamanno = bytes Ruta del archivo ejecutable = /sbin/apboot Tamanno = bytes Ruta del archivo ejecutable = /sbin/apcheck Tamanno = bytes Figura 1: Fragmento de un ejemplo de ejecución del programa ficheros_regulares_ejecutables. NOTAS: Debe comprobarse que el segundo argumento que se indica en la línea de comandos es un directorio. Para determinar si el propietario tiene permiso de ejecución puede emplear la constante S_IXUSR. Los errores que se produzcan deberán mostrarse por la salida estándar de error. No se puede utilizar la llamada a system. Puntuación: 2 ptos. Tiempo estimado: 25 min. /***********************************************************/ /*********************** ejercicio2.c *********************/ /***********************************************************/ #include <stdio.h> #include <sys/stat.h> #include <sys/file.h> #include <dirent.h> #include <fcntl.h> #define LONGITUD_MAX 255 void obtener_entradas_directorio (char *); 3
4 int main(int argc, char* argv[]) struct stat atributos; if (argc!= 2) printf("uso: %s <directorio>\n", argv[0]); exit (-1); // Obtenemos información del segundo argumento (archivo o directorio) if (stat(argv[1], &atributos) == -1) perror("error en stat"); exit (-2); if (atributos.st_mode & S_IFDIR) fprintf(stdout, "Directorio = %s \n", argv[1]); obtener_entradas_directorio(argv[1]); else fprintf(stdout, "El argumento %s no es un directorio \n", argv[1]); exit(-3); return 0; void obtener_entradas_directorio (char *directorio) DIR *dirp; struct dirent *direntp; struct stat atributos; int retorno; char ruta[longitud_max]; dirp = opendir (directorio); if (dirp == NULL) fprintf(stderr,"no se puede acceder al directorio %s\n", directorio); exit (-4); // Obtenemos la primera entrada del directorio (ED) direntp = readdir(dirp); // Mientras haya entradas en el directorio while (direntp!= NULL) // Construimos la ruta sprintf(ruta, "%s/%s", directorio, direntp->d_name); // Obtenemos información de la ED actual retorno = stat(ruta, &atributos); if (retorno == -1) fprintf(stderr, "Error en stat de %s \n", direntp->d_name); else // Si es un fichero regular y tiene permiso de ejecución, mostramos la ruta y el tamanno if (atributos.st_mode & S_IFREG) // if (S_ISREG (atributos.st_mode) ) if(atributos.st_mode & S_IXUSR) 4
5 fprintf(stdout, "Ruta del archivo ejecutable = %s Tamanno = %d bytes \n", ruta, atributos.st_size); // Si es un directorio seguimos por el subdirectorio siguiente else if (S_ISDIR (atributos.st_mode) && strcmp (direntp->d_name,".")!= 0 && strcmp (direntp->d_name,"..")!= 0) obtener_entradas_directorio (ruta); // Obtenemos la siguiente ED direntp = readdir(dirp); closedir(dirp); 5
6 6
7 [Cuestión 3.]Se desea resolver en C, haciendo uso de la librería de semáforos vista en clase, el problema de los lectores/escritores, teniendo en cuenta los siguientes aspectos de sincronización: Existirán varios procesos escritores, cada uno de los cuales realizará como máximo diez escrituras en el fichero bd.txt; en caso de que exista el fichero, se añadirán por el final. Suponga que transcurre un segundo entre dos operaciones seguidas de escritura. Los lectores accederán concurrentemente a dicho fichero e irán leyendo las líneas de una en una; una vez leída una línea será borrada. No existe relación filial entre los lectores y los escritores. A continuación, se detallan el resto de consideraciones del ejercicio: Los elementos que se escribirán en el fichero tendrán el siguiente formato: He escrito el elemento <i> (Proceso Escritor <PID>). Sólo un proceso, de cualquier tipo, puede estar accediendo al fichero en un determinado instante. Se instalará un manejador en el lector, asociado a la señal SIGINT, que será el encargado de destruir el/los semáforo/s y el fichero. Los prototipos de las funciones para el acceso al fichero son los siguientes: i. void Escribir_Linea (char *fichero, char* cadena).- Añade una línea con la cadena de caracteres al final del fichero. ii. void Leer_Linea (char *fichero).- Leerá y eliminará la primera línea del fichero, en caso de no estar vacío. Por tanto, debe implementar al menos dos programas, uno para para el lector y otro para el escritor. Sobre las funciones auxiliares, suponga ya definida la función Leer_Linea, por lo que necesitará codificar la función Escribir_Linea y el manejador asociado a la señal SIGINT. Puntuación: 3 ptos. Tiempo estimado: 40 min. #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <string.h> #include <errno.h> #include <signal.h> #include "Semaph.h" void Iniciador (); void Terminador (int sig); void Escribir_Linea(char *fichero, char* cadena); Semaph excmut, escritos; /*************************************************************/ // lector.c // /*************************************************************/ #include "funciones.h" int main() Iniciador(); if (signal(sigint, Terminador)== SIG_ERR) perror ("Error al instalar el manejador asociado a SIGINT"); while(1) Semaph_Down(escritos); 7
8 Semaph_Down(excmut); fprintf(stdout, "Voy a leer un valor\n"); Leer_Linea("bd.txt"); Semaph_Up(excmut); /*************************************************************/ // escritor.c // /*************************************************************/ #include "funciones.h" int main() int i=0; char cadena[255]; Iniciador(); if (signal(sigint, Terminador)== SIG_ERR) perror ("Error al instalar el manejador asociado a SIGINT"); for(i=0;i<10;i++) Semaph_Down(excmut); sprintf(cadena, "He escrito el elemento %d (Proceso Escritor %ld)\n", i,getpid()); Escribir_Linea("bd.txt", cadena); Semaph_Up(excmut); Semaph_Up(escritos); // Entre dos operaciones de escritura el escritor // está ocioso un segundo. sleep(1); /*************************************************************/ // funciones.c // /*************************************************************/ #include "funciones.h" void Iniciador () excmut = Semaph_Create("excmut", 1); if (excmut == -1) perror("error al crear/acceder semaforo excmut"); exit(-1); escritos = Semaph_Create("escritos", 0); if (escritos == -1) perror("error al crear/acceder semaforo escritos"); exit(-1); void Terminador (int sig) Semaph_Destroy("excmut", excmut); Semaph_Destroy("escritos", escritos); unlink("bd.txt"); void Escribir_Linea(char *fichero, char* cadena) int fd; fd = open("bd.txt", O_CREAT O_WRONLY O_APPEND, 0600); 8
9 if (fd == -1) perror("error en open"); exit(-1); // Escribe la cadena en el fichero if (write(fd, cadena, strlen(cadena)) == -1) perror("error en la escritura"); exit(-1); fprintf(stdout, "%s \t escrito en datos.txt\n", cadena); fprintf(stdout, " \n"); close(fd); 9
10 10
11 [Cuestión 4.]Realice un cliente en C que se conecte al puerto 2323 de un servidor que se indicará como primer argumento al invocar el programa. Además, el cliente tomará los siguientes argumentos como nombres de usuarios que hay que enviar al servidor en un determinado protocolo para que éste nos diga si existen en el sistema. La información recibida del servidor se mostrará por pantalla. NOTAS: - Si el usuario no pasa a nuestro cliente el número de argumentos adecuados, mostrará un mensaje de uso por pantalla. - La cadena que se debe enviar al servidor para comprobar si existe el usuario en dicho servidor es: USER usuario, reemplazando usuario por cada uno de los nombres que se han pasado como argumentos. El servidor contestará con OK si el usuario existe y con NOK en caso de que el usuario no exista en el servidor. Para terminar, debe enviarse el mensaje FIN al servidor y éste contestará también con dicho mensaje y se cerrará la conexión. - Implemente únicamente el cliente A continuación se muestra un ejemplo del funcionamiento del programa: $./usuarios murillo.eii.us.es juanpe fragu moreno Envío: USER juanpe Respuesta: OK Envío: USER fragu Respuesta: NOK Envío: USER moreno Respuesta: OK Envío: FIN Respuesta: FIN $ Figura 2. Ejemplo de funcionamiento del programa. Puntuación: 3 ptos. Tiempo estimado: 30 min. #include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <netdb.h> #include <string.h> #include <stdio.h> #include <arpa/inet.h> #include <errno.h> #include <sys/wait.h> #include <signal.h> #define LONG_HOSTNAME 100 #define TAM_MENSAJE 100 int main(int argc, char * argv[]) int socket_escucha, puerto; int s; struct sockaddr_in sin; struct hostent *hp; char hostname[long_hostname]; char mensaje[tam_mensaje]=""; char fichero[tam_mensaje]; 11
12 int n_bytes=0,i; if (argc < 3) fprintf(stderr, "Uso: %s <maquina> <usuario>...\n", argv[0]); /* Almacenamos host */ sscanf(argv[1],"%s", hostname); n"); /* Obtenemos la direccion IP a partir del nombre */ hp = gethostbyname(hostname); if (hp == NULL) perror("error al obtener la direccion IP asociada al nombre de la maquina\ /* Creamos el socket de escucha */ if ((s = socket(af_inet, SOCK_STREAM,0))<0) perror("error al crear el socket"); /* Creamos la direccion a la que enlazar el socket de escucha */ sin.sin_family = AF_INET; /* Tipo internet */ sin.sin_port = htons(2323); /* Puerto en Network byte order */ memmove(&sin.sin_addr, hp->h_addr, hp->h_length); /* Obtenemos la direccion IP de Network byte order */ if (connect(s, (struct sockaddr *) &sin, sizeof(sin))<0) perror("error al hacer accept"); for(i=2;i<argc;i++) sprintf(mensaje,"user %s", argv[i]); printf("envio: %s\n", mensaje); n_bytes=send(s,mensaje, strlen(mensaje),0); if (n_bytes < 0) perror("error en send"); n_bytes=recv(s,mensaje, sizeof(mensaje),0); if (n_bytes > 0) mensaje[n_bytes]='\0'; printf("respuesta: %s\n", mensaje); fflush(stdout); else fprintf(stderr,"error en recv\n"); //for argumentos sprintf(mensaje,"fin"); printf("envio: %s\n", mensaje); n_bytes=send(s,mensaje, strlen(mensaje),0); if (n_bytes < 0) perror("error en send"); 12
13 close(s); /*main*/ n_bytes=recv(s,mensaje, sizeof(mensaje),0); if (n_bytes > 0) mensaje[n_bytes]='\0'; printf("respuesta: %s\n", mensaje); fflush(stdout); 13
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 detallesPrá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 detallesARQUITECTURA 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 detallesUniversidad 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 detallessockets 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 detallesSCHOOL 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 detallesPRÁ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 detallesPRÁ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 detallesSistemas 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 detalles1_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 detallesProblemas 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 detallesAplicació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 detallesARQUITECTURA 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 detallesSistema 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 detallesSistemas 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 detallesProgramació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 detallesSockets (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 detallesPrueba 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 detallesAná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 detallesProblemas 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-> 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 detallesCaracterí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 detallesExamen 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 detallesIntroducció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 detallesBloque 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 detallesQué 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 detallesPrimer 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 detallesSistemas 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 detalles07 << 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 detallesSistemas 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 detallesLenguaje 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 detallesRedes (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 detallesIntroducció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 detallesIntroducción a C++ y Code::Blocks
Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete
Más detallesSOCKETS 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 detallesSockets Básicos. Sockets Básicos
Sockets Básicos Pedro Merino Gómez Jesus Martínez Cruz Dpto. Lenguajes y Ciencias de la Computación Universidad de Málaga Sockets Básicos Temas a tratar... APIS para acceso a TCP/IP El socket como descriptor
Más detallesEjercicios 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 detallesARQUITECTURA 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 detallesSockets Básicos. APIS para acceso a TCP/IP. APIS para acceso a TCP/IP. APIS para acceso a TCP/IP. APIS para acceso a TCP/IP. Temas a tratar...
Sockets Básicos Pedro Merino Gómez Jesus Martínez Cruz Dpto. Lenguajes y Ciencias de la Computación Universidad de Málaga Temas a tratar... Sockets Básicos El como descriptor para E/S Funciones básicas
Más detallesUNIVERSIDAD 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 detallesProgramación I Funciones
1 Funciones Iván Cantador 2 Funciones: definición, sintaxis, ejemplos (I) Una funciónes un bloque de sentencias identificado con un nombre que se ejecutan de manera secuencial ofreciendo una funcionalidad
Más detallesLLAMADAS AL SISTEMA SISTEMAS OPERATIVOS
LLAMADAS AL SISTEMA SISTEMAS OPERATIVOS 26/05/2013 eduar14_cr@hotmail.com cilred_tlapa@hotmail.com LLAMADAS AL SISTEMA Las llamadas al sistema proporcionan la interfaz entre un proceso y el sistema operativo,
Más detallesTaller 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 detallesComputación de Alta Performance Curso 2009 PROGRAMACIÓN PARALELA EN LENGUAJE C
Computación de Alta Performance Curso 2009 MECANISMO DE PROGRAMACIÓN PARALELA EN LENGUAJE C AGENDA Mecanismos a estudiar. Fork. Pipes y FIFOs. System V IPC: Semáforos. Cola de mensajes. Memoria compartida.
Más detallesUNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO. Facultad de Ingeniería
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Facultad de Ingeniería Arquitecturas Cliente/Servidor Sockets en C Alumnos: Arellano Santiago Víctor Manuel Girón Capistrán Aldo Iván Guerrero Ramirez Eduardo Daniel
Más detallesCapitulo 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 detallesRedes 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 detallesRedes 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 detallesPROGRAMACIÓN CON SOCKETS
UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA PROGRAMACIÓN CON SOCKETS Celeste Campo Carlos García Rubio {celeste,cgr}@it.uc3m.es PROGRAMACIÓN CON SOCKETS Pág. 1 1. Introducción.
Más detallesEsquema de un programa en C: bloques básicos
Esquema de un programa en C: bloques básicos // Incluimos los ficheros de cabecera que necesitemos. // Esto es un comentario #include #include // Si queremos definir alguna constante,
Más detallesGestión y Comunicación de procesos
1 Resumen Gestión y Comunicación de procesos Material de apoyo para la asignatura de Taller de Sistemas Operativos 1 Preparado por Gabriel Astudillo Muñoz Escuela de Ingeniería Civil Informática Universidad
Más detallesEDITRAN/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 detallesProgramación (PRG) PRACTICA 3. Compilación: concepto. Ejecución de programas.
Programación (PRG) PRACTICA 3. Compilación: concepto. Ejecución de programas. Facultad de Informática Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Curso 2002/2003
Más detallesMemoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente:
(3 ptos) Memoria Compartida y Semáforos R/W 1. Objetivo En esta práctica se pretende crear una librería que dé la funcionalidad de un semáforo para resolver problemas con múltiples lectores y escritores
Más detallesLenguaje de Programación: C++ ARCHIVOS I/O
UG C++ Lenguaje de Programación: C++ ARCHIVOS I/O Universidad de Guanajuato Octubre 2010 Como abrir un archivo Antes de poder escribir datos en un archivo, debemos abrirlo, esto significa que debemos decirle
Más detallesIntroducción a Sockets en Linux
Introducción a Sockets en Linux Horacio Goetendía Bonilla 6 de Enero de 2003 Índice 1. Conceptos 2 1.1. Socket............................... 2 2. Sockets en Unix standar 2 2.1. Namespace (int dominio)(dominio
Más detallesIMPLEMENTACIÓN DE APLICACIONES DE SEGURIDAD CON OPENSSL
IMPLEMENTACIÓN DE APLICACIONES DE SEGURIDAD CON OPENSSL Índice Lectura de Certificados con OpenSSL I Proyecto Leer_certificado1 Lectura de Certificados con OpenSSL II Proyecto Leer_certificado2 Proyecto
Más detallesIntroducción a Sistemas Operativos: Concurrencia
Introducción a Sistemas Operativos: Concurrencia Clips xxx Fr ancisco J Ballesteros 1. Semáforos Quizá la abstracción más conocida para sincronizar procesos en programación concurrente controlar el acceso
Más detallesProgramación de Sistemas. Programación de Sistemas con Ansi C sobre UNIX. Gestión de errores. Gestión de errores. Ficheros regulares
Programación de Sistemas con Ansi C sobre UNIX Pedro Merino Gómez Jesus Martínez Cruz Dpto. Lenguajes y Ciencias de la Computación Universidad de Málaga Programación de Sistemas Llamadas al sistema Gestión
Más detallesSi el fichero hashes existe, el script debe notificar el error y salir como corresponde. A continuación se muestra un ejemplo:
Examen de Sistemas Operativos ITIS Fuenlabrada Junio 2009 Tiempo total: 3 horas. Problema: Llamadas al sistema (5 puntos) Escriba en C para Plan 9 un programa llamado catsha1 cuyo propósito es crear un
Más detallesOperaciones de E/S en ANSI C
Operaciones de E/S en ANSI C Las operaciones de entrada/salida estándar (realizadas habitualmente con printf y scanf) se realizan en realidad sobre ficheros que representan los dispositivos mediante los
Más detallesSistemas 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 detallesMigrando 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 detallesSistemas 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 detallesProcesos 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 detallesSISTEMAS OPERATIVOS: Lección 12: Directorios
SISTEMAS OPERATIVOS: Lección 12: Directorios Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García Blas José Manuel Pérez Lobato Introducción y conceptos básicos
Más detallesExamen de Fundamentos de Redes de Computadores Junio 2005
Examen de Fundamentos de Redes de Computadores Junio 2005 1. (1.5 puntos) Se quiere enviar un mensaje de 20 Kbytes entre dos hosts conectados directamente. La conexión entre ellos presenta las siguientes
Más detalles; hcomment.rc HTTP://AA.ES/INFO.HTML http://www.bb.com http://www.cc.org/a.html aa.es www.bb.com www.cc.org ;
Examen de Sistemas Operativos ITIS Fuenlabrada Mayo 2011 Problema: Llamadas al sistema (3 puntos) Implemente en C para Plan 9 un programa hlines que a partir de una URL que se le pasa como argumento, escriba
Más detallesMecanismos 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 detallesExamen Teórico (1/3 de la nota final)
Examen Teórico (1/3 de la nota final) 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
Más detallesFunciones 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 detallesArquitectura de Computadores: Exámenes y Controles
2º curso / 2º cuatr. Grado en Ing. Informática Doble Grado en Ing. Informática y Matemáticas Arquitectura de Computadores: Exámenes y Controles Examen de Prácticas AC 05/07/2013 resuelto Material elaborado
Más detallesPrá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 detallesLenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Lenguaje C Funciones Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Qué es una función o rutina/subrutina? Se presenta como un subalgoritmo
Más detallesCOMUNICACIÓ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 detallesSea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): Se pide:
Sea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): 1 /* c0p1 origen destino 2 * Copia "origen" sobre "destino" byte a byte, 3 * haciendo
Más detallesEstructuras 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 detallesSockets (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 detallesEstructuras y funciones de programación de sockets.
Estructuras y funciones de programación de sockets. Introducción. Autor: Enrique Bonet En estos apuntes se incluye una breve descripción de las estructuras y funciones cuyo uso puede ser necesario para
Más detallesDiseñ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 detallesUNIVERSIDAD 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 detallesIntroducción de Sockets en C.
PRÁCTICA 2: Introducción de Sockets en C. 1 La Interfaz Socket es una API para redes TCP/IP que se compone de funciones o rutinas. Originalmente se construyó a principios de los 80 para el sistema operativo
Más detallesProgramación Estructurada
Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 11 Nombre: Manejo de archivos Contextualización En los lenguajes de programación estructurada como C, que carecían de una conexión a base
Más detallesProgramación con sockets
Programación con sockets Internetworking with TCP/IP Client/Server Programming and Applications: Linux/POSIX Sockets Version Douglas E. Comer David L. Stevens Capítulos: 2, 5, 7 Grupo de Sistemas y Comunicaciones
Más detallesSegundo control de teoría
JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA EJERCICIO 1: Preguntas cortas (2 puntos) 1) Qué es el superbloque de un sistema de ficheros? qué tipo de información podemos
Más detallesTema 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 detallesPráctica de gsoap. int ns enviar (unsigned nodo, std::string cadena, std::string &resultado); int ns recibir(unsigned nodo, std::string &resultado);
Práctica de gsoap Para desarrollar programas que utilicen gsoap para llevar a cabo las comunicaciones, debemos bajar el paquete gsoap linux 2.7.tgz disponible en: http://atc.ugr.es/pedro/docencia/irhc/irhc.html
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 10 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1.1 EJERCICIO 1: MI PRIMER FICHERO EN BINARIO... 1 1.2 EJERCICIO 2: LEYENDO MI PRIMER FICHERO
Más detallesPROTOCOLO FTP PROTOCOLO DE TRANSFERENCIA DE ARCHIVOS ING. RAUL BAREÑO GUTIERREZ RAUL BAREÑO GUTIERREZ 1
PROTOCOLO FTP PROTOCOLO DE TRANSFERENCIA DE ARCHIVOS RAUL BAREÑO GUTIERREZ 1 FTP. Qué es? Es un protocolo que permite pasar ficheros de un computador que los tiene (servidor FTP) a un computador que los
Más detallesIntroducción a Sistemas Operativos: Procesos
Introducción a Sistemas Operativos: Procesos Clips xxx Fr ancisco J Ballesteros 1. Variables de entorno Otra forma de darle información a un proceso (además de usando sus argumentos) es utilizar las llamadas
Más detallesClase 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 detallesIntroducción a Sistemas Operativos: Ficheros
Introducción a Sistemas Operativos: Ficheros Clips xxx Fr ancisco J Ballesteros 1. Entrada/salida y buffering El interfaz proporcionado por open, close, read, write, etc. es suficiente la mayoría de las
Más detallesExamen Principios de Programación Febrero 2012
Por favor siga las siguientes indicaciones: Escriba con lápiz. Escriba su nombre y número de documento en todas las hojas que entregue. Numere las hojas e indique el total de hojas en la primera de ellas.
Más detallesComunicación entre procesos mediante Sockets Preparado por Gabriel Astudillo Muñoz Escuela de Ingeniería Civil Informática Universidad de Valparaíso
1 Resumen Comunicación entre procesos mediante Sockets Preparado por Gabriel Astudillo Muñoz Escuela de Ingeniería Civil Informática Universidad de Valparaíso Este documento tiene como objetivo describir
Más detallesTeorí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 detallesIngenierí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 detallesBibliografía [COM00] Internetworking with TCP/IP, vol. 3, Cap. 2 y del 7 al 15.
Tema 5: El Modelo Cliente-Servidor Conceptos básicos. Características y estructura de un cliente. Obtención de información. Algoritmos del cliente TCP y UDP. Ejemplos. Características y estructura de un
Más detalles7.3. Estructura de un programa
TEMA 7 ALGORITMOS Y PROGRAMAS. ESTRUCTURA DE UN PROGRAMA 7.1. Algoritmos 7.2. Compilación 7.3. Estructura de un programa 7.1. Algoritmos Objetivo: Resolver problemas mediante computadoras (usando el lenguaje
Más detallesTema 4. Gestión del sistema de ficheros
Tema 4. Gestión del sistema de ficheros Índice Definición de fichero Atributos de un fichero Estructura interna de los ficheros Métodos de acceso Operaciones básicas sobre ficheros El sistema de directorios
Más detallesDESARROLLO DE FUNCIONES EN EL SISTEMA INFORMÁTICO EJEMPLO DE CUESTIONES BÁSICAS A CONOCER:
DESARROLLO DE FUNCIONES EN EL SISTEMA INFORMÁTICO EJEMPLO DE CUESTIONES BÁSICAS A CONOCER: 1) Para que sirve la función wait ( & dato ) y que valor se obtendría en la variable dato. 2) Diferencias entre
Más detalles