Introduccion a las redes capa fisica c++
Proyecto de Simulación
Objetivo
• Realizar una simulación del funcionamiento de un enlace punto a punto con las siguientes características:
– Medio de trasmisióndigital serial simplex con fallas. – Protocolo de capa de enlace de datos
• Detección de errores por medio de FCS. • Tramas tipo PPP de longitud variable.
Herramientas
• • • • Sistema operativoLinux. Compilador C. Programación multiproceso. Servicios de coordinación inter-proceso IPC (inter-process communication).
– Específicamente PIPES.
Conceptos fundamentales
• Programa
– Conjunto deinstrucciones – Usualmente contenidos en archivos. – Para ejecutarse son trasladados a memoria principal.
• Proceso
– Programa en ejecución. – Dos procesos pueden utilizar el mismo programa(instancias).
• Ejemplo: dos instancias del block de notas.
– Los procesos se identifican mediante un PID.
La llamada de sistema fork()
• Genera un proceso clon (hijo) del que la invoca.
– Padree hijo comparten el código. – El espacio de datos es copiado con los valores actuales de las variables. – El desarrollo ulterior de ambos procesos es independiente.
• Espacios y tiempos individuales.• Procesos concurrentes que pueden ser vistos como “paralelos” aunque no lo son. • Para la comunicación entre ellos se recurre a los IPC.
Funcionamiento de fork()
main() { int pid; pid = fork();if( pid == 0 ) printf( “Soy el hijo\n”); else printf( “Soy el padre\n”); }
Pipes
• Mecanismo de comunicación entre procesos. • Implementa una “tubería” bidireccional. • Los procesosindependientes pueden utilizarlo para comunicarse y coordinarse.
Utilizando pipes
• Se declara un arreglo de elementos enteros.
– int tubo[2];
•
•
Se inicializa el pipe.
– pipe(tubo);
Se escribecon write en el elemento 1
– write( tubo[1], &dato, sizeof(dato) ); – Si el pipe está lleno el proceso que escribe es congelado hasta que se abra espacio.
•
Se lee con read en el elemento 0...
Regístrate para leer el documento completo.