![]() |
System initialization. |
![]() |
Execution of a process creation system call by a running process. |
![]() |
A user request to create a new process. |
![]() |
Initiation of a batch job. |
![]() |
The parent continues to execute concurrently with its children. |
![]() |
The parent waits until some or all of its children have terminated. |
![]() |
The child process is a duplicate of the parent process (it has the same program and data as the parent). |
| This mechanism allows the parent process to communicate easily with its child process. |
![]() |
The child process has a new program loaded into it. The parent and the child processes are able to |
| communicate and then go their separate ways. |
![]() |
Normal exit (voluntary). |
![]() |
Error exit (voluntary). |
![]() |
Fatal error (involuntary). |
![]() |
Killed by another process (involuntary). |
![]() |
The child has exceeded its usage of some of the resources that it has been allocated. |
![]() |
The task assigned to the child is no longer required. |
![]() |
The parent is exiting, and the operating system does not allow a child to continue if its parent terminates. |