Question: System call fork ( ) is used to create processes. It takes no arguments and returns a process ID . The purpose of fork (
System call fork is used to create processes. It takes no arguments and returns a process ID The purpose of fork is to create a new process, which becomes the child process of the caller. After a new child process is created, both processes will execute the next instruction following the fork system call. Therefore, we have to distinguish the parent from the child. This can be done by testing the returned value of fork:
If fork returns a negative value, the creation of a child process was unsuccessful.fork returns a zero to the newly created child process.fork returns a positive value, the process ID of the child process, to the parent. The returned process ID is of type pidt defined in systypesh Normally, the process ID is an integer. Moreover, a process can use function getpid to retrieve the process ID assigned to this process. Therefore, after the system call to fork a simple test can tell which process is the child. Please note that Unix will make an exact copy of the parents address space and give it to the child. Therefore, the parent and child processes have separate address spaces. Let us take an example to make the above points clear. This example does not distinguish parent and the child processes.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
