1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Ipatiy [6.2K]
4 years ago
5

Write a program that calls fork(). Before calling fork(), have the main process access a variable (e.g., x) and set its value to

some-thing (e.g., 100). What value is the variable in the child process? What happens to the variable when both the child and parent change the value of x? Write out the code to your program. Run the program and show your result. What value is the variable in the child process? What happens to the variable when both the child and parent change the value of x?

Computers and Technology
1 answer:
vesna_86 [32]4 years ago
7 0

Answer:

Here is the program:

#include <stdio.h>  //to use input output functions

#include <unistd.h> //provides access to the POSIX OS API

int main() { //start of main function

   int x;  //declare an int type variable x

   x = 100;  // sets the value of x to 100

   int r = fork();  //calls fork() method to create a new process. r is used to store the value returned by fork()

   if(r<0){  //if fork() returns -1 this means no child process is created

           fprintf(stderr, "Error");}     //prints the error message using standard error stream

  else if (r == 0)     {  //if fork returns 0 this means child process is created

       printf("This is child process\n");  //prints this message

       x = 150;  //changes value of x to 150

       printf("Value of x in child process: %d\n", x);     }  //prints the new value of x in child process

   else      {

       printf("This is parent process\n");  //if r>0

       x = 200;  //changes value of x to 200

       printf("Value of x in parent process: %d\n", x);     }  } //prints the new value of x in parent process

Explanation:

The program is well explained in the comments added to each line of the code. The answers to the rest of the questions are as follows:

What value is the variable in the child process?

The variable x is set to 150 in child process. So the printf() statement displays 150 on the screen.

What happens to the variable when both the child and parent change the value of x?

fork() creates a copy of parent process. The child and parent processes have their own private address space. Therefore none of the both processes cannot interfere in each other's memory. The both maintain their own copy of variables. So, when parent process prints the value 200 and child process prints the value 150.

In order to see which is the final value of x, lets write a statement outside all of the if else statements:

  printf("Final value of x: %d\n", x);

This line is displayed after the value of parent class i.e. 200 is printed on the screen and it shows:

Final value of x: 200

Note this is the value of x in parent process

However the same line displayed after the value of child class i.e. 150 is printed on the screen and it shows:

Final value of x: 150

The screenshot of the program along with the output is attached.

You might be interested in
What Is What is the difference between system software and application software?<br>​
inna [77]

Answer:

Hope it helps have a nice day..

4 0
3 years ago
What are the Database used in RDBMS and DBMS<br>please answer immediately​
frosja888 [35]

Answer:

The best example for the DBMS is certainly the Microsoft Access. And various examples of RDBMS are MySQL, Sql Server, Amazon DynamoDB and so on. However, its essential to understand the difference between the RDBMS and the DBMS. The main difference between the two is certainly that in the RDBMS the application stores the data in tabular manner, and DBMS the data is stored as files. In the RDBMS the tables comes with identifier known as primary key, and the data values are being saved in the form of tables.

Explanation:

Please check the answer section.

4 0
3 years ago
Which page feature is used in long documents to assist readers in quickly finding information in the document without having to
irakobra [83]

Maybe it is Ctrl-F... is this what you're thinking of?

3 0
4 years ago
Read 2 more answers
____ is any technology that aids in gathering information about a person or organization without their knowledge.
DanielleElmas [232]

Answer:

Spyware

Explanation:

In most cases, a spywares are unwanted software enters into your computer or other devices and steal sensitive information, your internet usage data, and other information. Spyware is considered a malware type and a malicious one that is aimed at damaging a device or gaining control and access without the knowledge of the owner.

4 0
3 years ago
The entities on which data are collected are _____.
sasho [114]

Answer:

<h2>ELEMENT</h2>

Explanation:

<h3>hope it helps you!!!</h3>
8 0
3 years ago
Other questions:
  • What would be some long- term goals.
    11·1 answer
  • c++ design a class named myinteger which models integers. interesting properties of the value can be determined. include these m
    14·1 answer
  • Technician A says you should measure the parasitic load immediately after the vehicle is turned off. Technician B says you shoul
    10·1 answer
  • What is the name given a technological program that typically copies itself and moves through a computer system in order to disr
    10·1 answer
  • Diverting an attacker from accessing critical systems, collecting information about the attacker's activity and encouraging the
    8·1 answer
  • What is the purpose of application software
    12·1 answer
  • Write a program second.cpp that takes in a sequence of integers, and prints the second largest number and the second smallest nu
    7·1 answer
  • 1.
    13·1 answer
  • About C header files of C programming
    8·1 answer
  • What is problem scoping
    14·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!