Question: Create a program that does the following. - Creates a master process with two child processes using fork() - The master process writes two files

  1. Create a program that does the following.

- Creates a master process with two child processes using fork()

- The master process writes two files child1.txt containing the line child 1 and child2.txt containing the line child 2

- Each of the two child processes waits one second then reads the contents of their text file and prints the contents.

  1. Create a program that does the following.

- Create a global array length five, moving_sum, and initialize it to zeros.

- Prompts a user for fives numbers

- For each number creates a thread

- Each thread executes a function factorial which takes a struct containing the number and index of the number entered (0 - 4) and does the following:

- Calculates the factorial (e.g. 5! = 5x4x3x2x1 = 120, 0! = 1).

- Using a semaphore, gets the previous value in the moving_sum[index-1] if the value at that index is > 0. If the value is retrieved it is added to the factorial calculated and the sum is added to moving_sum[index].

- Until the value in moving_sum[index-1] is > 0, performs an infinite loop, each time it must perform signal and wait to allow other threads access to the critical section.

- After all threads finish (using join()) print the contents of moving_sum

- Reading and writing files between processes is a simplified method of IPC.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!