Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

In the code below, assume that: 1. All fork() and execvp0) statements execute successfully (no failure). 2. The program arguments of execvpO do not

image text in transcribed\\

image text in transcribed

In the code below, assume that: 1. All fork() and execvp0) statements execute successfully (no failure). 2. The program arguments of execvpO do not spawn more processes or print out more characters. 3. All pid variables (pidi ... pid6) are initialized to 0. void main() { pidi fork(); if (pidi 0) { pid2 = fork(); printf ("A"); } else { execvp(...) } printf ("B"); pid3 fork(); if (pid !- 0) { printf("C"); execvp (...); } else { if (pidi != 0) { pid5 fork(); execvp (...); printf ("D"); } if (pid2 > 0) { pid6 - fork(); printf ("E"); } else { printf("F"); execvp (...); } printf ("G"); } b) In a "process creation diagram (similar to what we covered in class), show the order in which each process is created, and the values of pidi to pido for each process, as well as the output of each process (characters getting printed). Please use this kind of diagram to solve this question, thank you! Please use this kind of diagram to solve this question, thank you! DIAGRAM: BDE BDF p1>0 p2 > 0 fork2 p1 > p2 = 0 p3 > 0 fork3 AX p1 > 0 p2 = 0 p3 = 0 p4 > fork1 fork4 fork4 A B D F p1 = 0 (p2 = 0) p3 > 0 p4 > 0 p1 = 0 (p2 = 0) p3 > 0 p4 = 0 p1 > 0 p2 = 0 p3 = 0 p4 = 0 F F fork3 x conditional exec main exec before fork5 p1 = 0 8 X 0 (p2 = 0) G p3 = 0 (p4 = 0) p5>0 p1 = 0 (p2 = 0) p3 = 0 (p4 = 0) p5 = 0 In the code below, assume that: 1. All fork() and execvp0) statements execute successfully (no failure). 2. The program arguments of execvpO do not spawn more processes or print out more characters. 3. All pid variables (pidi ... pid6) are initialized to 0. void main() { pidi fork(); if (pidi 0) { pid2 = fork(); printf ("A"); } else { execvp(...) } printf ("B"); pid3 fork(); if (pid !- 0) { printf("C"); execvp (...); } else { if (pidi != 0) { pid5 fork(); execvp (...); printf ("D"); } if (pid2 > 0) { pid6 - fork(); printf ("E"); } else { printf("F"); execvp (...); } printf ("G"); } b) In a "process creation diagram (similar to what we covered in class), show the order in which each process is created, and the values of pidi to pido for each process, as well as the output of each process (characters getting printed). Please use this kind of diagram to solve this question, thank you! Please use this kind of diagram to solve this question, thank you! DIAGRAM: BDE BDF p1>0 p2 > 0 fork2 p1 > p2 = 0 p3 > 0 fork3 AX p1 > 0 p2 = 0 p3 = 0 p4 > fork1 fork4 fork4 A B D F p1 = 0 (p2 = 0) p3 > 0 p4 > 0 p1 = 0 (p2 = 0) p3 > 0 p4 = 0 p1 > 0 p2 = 0 p3 = 0 p4 = 0 F F fork3 x conditional exec main exec before fork5 p1 = 0 8 X 0 (p2 = 0) G p3 = 0 (p4 = 0) p5>0 p1 = 0 (p2 = 0) p3 = 0 (p4 = 0) p5 = 0

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Graph Databases In Action

Authors: Dave Bechberger, Josh Perryman

1st Edition

1617296376, 978-1617296376

More Books

Students also viewed these Databases questions

Question

Explain the function and purpose of the Job Level Table.

Answered: 1 week ago