Question
Create a program that does the following. - Creates a master process with two child processes using fork() - The master process writes two files
-
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.
-
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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started