Question: Write a program to approximate (using the Trapezoidal rule) by using N processes to sum up n trapezoids (n>N). N should vary in the range
Write a program to approximate (using the Trapezoidal rule)
by using N processes to sum up n trapezoids (n>N). N should vary in the range of 1 to 8, while n will be input by the user. The parent process should create N (? [1, 8]), child processes using fork(). There should be N pairs of pipes through which the parent process assigns jobs to associated child processes, and receives results back from them when the calculation is completed. More specifically, the parent process will initially assign the first N pieces to the N child processes to do their respective calculation. Whenever a process has done its calculation of the area of another trapezoid, it will send it back to the parent process. Upon receiving such a piece, the parent process will update the sum accordingly, and, if there are still un-calculated pieces, the parent will also assign the next piece to the just returned child process. After the parent has received all the n results, it prints out the final answer. Some useful Points: Use atof() to convert from string to a numerical floating point value.
*cos(z)dx *cos(z)dx
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
