Question
1. Create a program that does the following. - Creates a parent and child process using a fork(). - The child process sleeps for 1
1. Create a program that does the following.
- Creates a parent and child process using a fork().
- The child process sleeps for 1 second and prints Child process.
- The parent process instead of immediately executing, waits for the child process to terminate using the wait() function before printing Parent process.
- The parent process must check the return status of the child process after it has finished waiting.
- See the following for more information on forking and waiting: http://www.cs.rutgers.edu/~pxk/416/notes/c-tutorials/
Template #define _XOPEN_SOURCE 700 // required for barriers to work
#include
#include
#include
#include
int main(void) { }
3. 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
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