Operations on Processes
The System must provide mechanisms for:
- process creation
- process termination
Process Creation
Parent process create Children processes, which may make more of their own, creating a Tree
Each Process has a Process Identifier (PID)
Resource Sharing Options:
- Parent and children share all resources
- Children share subset of parent’s resources
- Parent and child share no resources
Execution Options:
- Parent and children execute concurrently
- Parent waits until children terminate

A Child is ether:
- duplicate of the parents
- has a program loaded into it

fork() - system call creates a new process
exec() - replaces the processes memory space with a new process
wait() - parent process calls wait() while waiting for the child process to terminate
exit() - deletes child process, returns status data to wait command, resources are dealocated
Process Termination
- Process is deleted
- Resources are realocated
abort() - used when parent wants to stop child process
Reasons include:
- Child exceeded allocated resources
- Task assigned to child process no longer needed
- Parent is being terminated and therefore child processes are closed (cascading termination)
Zombie - there is no parent waiting
Orphan - parent process terminated without using wait()
Example of multiprocess architecture
