Computer Systems: A Programmer's Perspective (3rd Edition)
Computer Systems: A Programmer's Perspective (3rd Edition)
3rd Edition
ISBN: 9780134092669
Author: Bryant, Randal E. Bryant, David R. O'Hallaron, David R., Randal E.; O'Hallaron, Bryant/O'hallaron
Publisher: PEARSON
Question
Book Icon
Chapter 8.4, Problem 8.2PP

A.

Program Plan Intro

Given code:

//Include the necessary header files

#include <stdio.h>

#include "csapp.h"

//Define a main()

int main()

{

//Initialize the variable x as 1

int x=1;

//Check the condition

if(fork()==0)

//Print the statement

printf("p1: x=%d\n", ++x);

//Print the statement

printf("p2: x=%d\n", --x);

//Exit

exit(0);

}

Explanation:

The given code is used to print the output of the child and parent processes.

In the given code, the main program initializes the variable “x” as “1”.

  • The “if” condition check, function “fork()” is equal to zero.
    • Condition is true, print the value of “x” by incrementing “1”. So, the value of “x” becomes “2”.
  • Otherwise, print the value of “x” by decrementing “1”. So, the value of “x” becomes “1”.
  • Exit from the program.

B.

Explanation of Solution

Output of the parent process:

P2: x = 0

Explanation:

In the given code, the main program initializes the variable “x” as “1”.

  • The parent process check the condition, if the function “fork()” is equal to zero...

Blurred answer
Students have asked these similar questions
Problem 3) One of the automatic memory deallocations is based on scope of a variable stored in a memory. Give a Java/etc code in which variable will be deallocated when scope of the variable is over. Explain in your example when the variable is stored in the memory and when it is deallocated.
### Given the resolution of the problem 5.102 below, develop a python program (without using numpy) that shows the found temperature distribution
Problem 1 jt"¡1, The following program is run on a machine where memory reference instructions take 8 cycles, arithmetic instructions take 6 cycles, and branches take 3 cycles. It is known that the “sqrt" procedure executes 7 instructions and requires 30 clock cycles. $s0, 20 ($s2) $t1, $s3, $s3 lw add j L1 $t1, $t1, $t1 $t1, $t1, $6 $a0, 0 ($t1) sqrt addi $s3, $s3, 1 beq $s0, $v0, Exit add L1: add lw jal (a). How long will it take to run this program if the machine has a 500 MHz clock? (b). What is the CPI for this program?
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education