Modern general purpose operating system used to create and destroy processes. A process may create several new processes during its time of execution. The creating process is called "Parent Process", while new processes are called "Child Processes".
There are different possibilities concerning creating new processes:-
Execution: The parent process continues to execute concurrently with its children processes or it waits until all of its children processes have terminated (sequentially).
Sharing: Either the parent and children processes share all resources (like memory or files) or the children processes share only a subset of their parent's resources or the parent and children process share number of resources in common.
A parent process can terminate equation of one of its children for one of these reasons:
• 1) the child process has exceeded its usage of the resources it has been allocated. For this a mechanism must be available to allow the parent process inspect the state of its children process.
• 2) task assigned to child process is no longer required.
Let us discuss this with an example
In unix this is done by the'Fork' system call, which creates a 'child' process and the'exit system call', which terminates current process.
The root of tree is a special process created by the operating system during startup.
A process can choose to wait for children to terminate.
Example C issued a wait() system call it would block until G-Finished.