Xorra
ESCOM
Reporte Práctica 1.
Comunicación: Interprocesos dentro de una sola PC
Método de Tuberías
Integrantes:
Landero Reyes Mauricio
Núñez Rodríguez LuisÁngel
Ortiz de la Cruz Roberto
Sistemas Operativos II
Jiménez Benítez José Alfredo
Grupo: 5CV2
Código
El programa consiste en que existe un proceso padre el cual crea un arreglo de100 x 100 que llena con números reales aleatorios en el rango de 1.0-100.0, posteriormente realiza la creación de una tubería para poder comunicarse con sus procesos hijos (crea 10 hijos). Cada hijoaccede a 10 renglones –diferentes- del arreglo creado por el padre, calcula el promedio y la desviación estándar de los valores que tomo y regresa los resultados al proceso padre por medio de latubería, el proceso padre recibe los resultados de cada hijo y los muestra.
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <math.h>main(){
float mat[100][100];
int fd[2], pid, num,i=0,j=0,k=0,aux,x,y,a,b;
float varianza, varianzax,promedio,suma,result,result2;
char buf[1024];
char buf2[1024];
srand(time(NULL));/*-----------Se llena la matriz con números aleatorios----------*/
for(i=0;i<100;i++){
for(j=0;j<100;j++){
num=1+rand()%(100-1);mat[i][j]=num;
}
}
/*--------------Se imprime la matriz------------------*/
for(i=0;i<100;i++){
for(j=0;j<100;j++){
printf("\t%f\t",mat[i][j]);
}printf("\n");
}
i=0;
/*---------------------------Creacion de la tubería----------------------------------*/
if(pipe(fd)<0){
perror("Creando la tuberia");
exit(-1);}
for(k=0;k<10;k++){ /*-------------------Se crean 10 hijos con 10 filas cada uno---------------------------*/
if((pid=fork())==0){ /*---------Procesos hijo-----------*/...
Regístrate para leer el documento completo.