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.