Should spawn 2 processes and each of the children processes


Q1. Write a C program Gen.c that generates a ordered sequence of 20 random numbers within a range of 1000 to 9999. The program is invoked by a command line 

% gen datfile1

In the above line, gen is the executable, datfile1 is the argument to the execution of gen. It specifies the name of the output file for the 20 random numbers.
To make Gen.c possible, your main() program should accept arguments like

#include
void main (int argc, char *argv[])
{
char *fname = argv[1]; 
....
fp = fopen(fname,"w");
....

Q2. Write a C program Sort.c that performs a merge sort on 2 number sequences produced by the program in

Q1. Sort.c
should spawn 2 processes and each of the children processes would exec() the Gen program to produce a sequence.
Sort.c should also specify the filenames for the number sequences when spawning the children processes. The parent process should then wait for the termination of the children processes and perform a merge sort on the 2 data files. The final sorted sequence is written to the file "Sort.out".

The algorithm for merge sort could be roughly described as
1. read num1 from datafile1
2. read num2 from datafile2
3. write the smaller between num1 and num2 to output
4. "refill" num1 or num2 according to which one has been
outputted in step(3).
5. repeat (3) and (4) until both files are exhausted.


END 

Request for Solution File

Ask an Expert for Answer!!
Programming Languages: Should spawn 2 processes and each of the children processes
Reference No:- TGS088673

Expected delivery within 24 Hours