4.3   Operations on processes


The operating system must provide a mechanism for process creation and termination. Processes are created in the following events:
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.

After a process is created, it can execute a system call to create another process. The creating-process is called a parent process and the new process is called the child process.

There are two possibilities in terms of execution:
The parent continues to execute concurrently with its children.
The parent waits until some or all of its children have terminated.

There are two possibilities in terms of the address space of the child process:
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.

4.3   Operations on processes


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.

Process will be terminated in the following events:
Normal exit (voluntary).
Error exit (voluntary).
Fatal error (involuntary).
Killed by another process (involuntary).

A parent may terminate the execution of one of its children for the following reasons:
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.