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
2RESULT:
Thus C program for implementing interprocess communication using pipes has been executed successfully.
No comments:
Post a Comment