Question: Programming in C, pthreading Processes 1. Write a C program to create two child processes using pthread_create(). Create a global int while the second child

Programming in C, pthreading

Programming in C, pthreading Processes 1. Write a C program to create

Processes 1. Write a C program to create two child processes using pthread_create(). Create a global int while the second child process does the same, but decrements the same variable. Have the parent of the children wait for the two children to complete and then print the value of the variable 2. Run your program several times. Do you always see 0 as the result? Explain 3. Trace system calls used by your program using strace nameofyourexecutable (-c option gives a summary of system calls only) 4. Identify the system call responsible for creation of your child process. 5. Modify your program so that your child processes protect the global variable using pthread_mutex lock() and pthread mutex unlockO) 6. Run your program several times. Do you always see 0 as the result? Explain 7. Trace system calls used by your program using strace nameofyourexecutable (-c option gives a summary of system calls only) 8. Identify the system call responsible for locking and unlocking the mutex. 9. Submit your final program using a mutex on D2L Don't forget when writing pthread programs! include To compile, add -Ipthread to the linker flags: gcc -lpthread-g

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!