is a job control system
Allows programmer to create and manage a set ofprograms to do some task
to create a copy of the parent process including the context, and start it running
to copy the new executable image to memory and start it
to pause the parent process until the child is done
to send a notification to another process
Steps to implement UNIX fork
Create and initialize the process control block (PCB) in the kernel
–Create a new address space
–Initialize the address space with a copy of the entire contents of the address space of the parent
–Inherit the execution context of the parent (e.g., any open files)
–Inform the scheduler that the new process is ready to run
The exec family system calls
Load a new executable into the current process image.
The current process image is erased (no return if the call is successful).
are used for terminating an application, suspending it temporarily for debugging, resuming after a suspension, timer expiration, and a host of other reasons.