DATOS
 
Daniel Arancibia Carocca
2021026-5
Cesar León Soledispa
2092011-4

 

DESCRIPCION
 
 
Nombre
 
Ping gráfico con FFT
 
 
Sintaxis
 
gping [destination]
 
 
¿Qué es gping?     
 
Es un programa que permite ejecutar el comando ping de Unix y  observar su 
resultado en forma grafica.
 
 
¿Qué hace?               
 
Ejecuta el comando ping de Unix y despliega un grafico temporal y una fft de 
los datos que entrega el ping, permitiendo realizar un análisis del desempeño 
del comando. Para ello gping hace uso de las capacidades gráficas de 
matlab.
 
Esquema
 
 
A continuación se presenta el estado de los descriptores utilizados todos 
los procesos del programa.
 
 
PADRE
 
Nombre
Estado
Objetivo
DA[0]
Abierto
Recibe datos del ping enviados
DA[1]
Cerrado
desde el hijo1
DB[0]
Cerrado
Envia comandos de ejecución
DB[1]
Abierto
Matlab hacia el hijo2
 
 
 
HIJO1
 
Nombre
Estado
Observaciones
DA[0]
Cerrado
Envia datos desde ping hacia
DA[1]
Abierto
el padre
DB[0]
Cerrado
 
DB[1]
Cerrado
 
 
 
 
HIJO2
 
Nombre
Estado
Observaciones
DA[0]
Cerrado
 
DA[1]
Cerrado
 
DB[0]
Abierto
Recibe comandos de ejecución
DB[1]
Cerrado
Matlab enviados desde el padre
DC[0]
Cerrado
Envia datos de salida de Matlab
DC[1]
Abierto
hacia el hijo2
 
 
 
HIJO21
 
Nombre
Estado
Observaciones
DA[0]
Cerrado
 
DA[1]
Cerrado
 
DB[0]
Cerrado
 
DB[1]
Cerrado
 
DC[0]
Abierto
Recibe datos de la salida de 
DC[1]
Cerrado
Matlab enviados por el hijo 2
 
 
 
¿Cómo funciona?          
 
Inicialmente, se crean dos pipas (A,B) y dos hijos (hijo1, hijo2) a partir de un
proceso padre.
 
 
 
El primer hijo (hijo1) se encarga de la ejecución del comando ping y el 
segundo hijo (hijo2) se encarga de ejecutar la aplicación matlab que 
despliega los gráficos.
 
 
 
El padre se encarga de procesar los datos entregados por el hijo1, a través 
de la pipaA  por su extremo de lectura. Finalmente, la rutina que ejecuta el 
padre filtra los datos entregados por el comando ping (hijo1) y rescata el 
numero del paquete enviado y su tiempo de respuesta.
 
 
 
Además, el padre con los valores obtenidos genera dos vectores en codigo 
matlab, los cuales envia al hijo 2 por la pipaB por su extremo de escritura.
 
 
 
El hijo2 que corre la aplicacion matlab, se encarga de generar un grafico de 
la  respuesta temporal del comando ping y la respuesta en frecuencia (fft) de 
los  vectores entregados por el padre.
 
 
 
Finalmente, el proceso hijo2 crea una pipa (C) y un nieto (hijo21) del proceso 
padre. La  pipa C permite capturar la salida del hijo2 (salida de la consola 
matlab) y eliminar los datos entregados por matlab, que resultaban 
irrelevantes para el usuario que ejecuta la aplicación gping.
 
 
 
Para terminar la ejecución de gping, se envia una señal kill (CTRL-C) al 
Padre, el cual recibe esa señal, despliega un mensaje de información y se
cierra.
 
 
Observaciones
 
En el texto anterior, cuando se hace referencia a las pipas, solo se 
mencionan sus  extremos (escritura y lectura) que están habilitados. Los 
lados no mencionados deben entenderse cerrados.