Monday, December 26, 2011

Exercise Program - 6 INTERPROCESS COMMUNICATION USING PIPES

AIM:

To write a C program for implementing interprocess communication using pipes.

ALGORITHM:

Step 1: Start the program.

Step 2: Create the child process using fork().

Step 3: Create the pipe structure using pipe().

Step 4: Enter the limit for calculating Fibonacci series at the Parent process.

Step 5: Now close the read end of the parent process using close().

Step 6: Write the data in the pipe using write().

Step 7: Now close the write end of child process using close().

Step 8: Read the data in the pipe using read().

Step 9: Calculate the Fibonacci series using the data read from the pipe.

Step 10: Display the series.

Step 11: Stop the program.

PROGRAM:

#include

#include

#include

#include

#include

main()

{

int pid,pfd[2],n,a,b,c;

if(pipe(pfd)==-1)

{

printf("\nError in pipe connection\n");

exit(1);

}

pid=fork();

if(pid>0)

{

printf("\nParent Process");\

printf("\n\n\tFibonacci Series");

printf("\nEnter the limit for the series:");

scanf("%d",&n);

close(pfd[0]);

write(pfd[1],&n,sizeof(n));

close(pfd[1]);

exit(0);

}

else

{

close(pfd[1]);

read(pfd[0],&n,sizeof(n));

printf("\nChild Process");

a=0;

b=1;

close(pfd[0]);

printf("\nFibonacci Series is:");

printf("\n\n%d\n%d",a,b);

while(n>2)

{

c=a+b;

printf("\n%d",c);

a=b;

b=c;

n--;

}

}

}

SAMPLE OUTPUT:

[it65@AntiViruS ~]$ cc ipc.c

[it65@AntiViruS ~]$ ./a.out

Parent Process

Fibonacci Series

Enter the limit for the series:4

Child Process

Fibonacci Series is:

0

1

1

2


RESULT:

Thus C program for implementing interprocess communication using pipes has been executed successfully.


No comments: