<P> A process may be terminated, either from the "running" state by completing its execution or by explicitly being killed . In either of these cases, the process moves to the "terminated" state . The underlying program is no longer executing, but the process remains in the process table as a zombie process until its parent process calls the wait system call to read its exit status, at which point the process is removed from the process table, finally ending the process's lifetime . If the parent fails to call wait, this continues to consume the process table entry (concretely the process identifier or PID), and causes a resource leak . </P> <P> Two additional states are available for processes in systems that support virtual memory . In both of these states, processes are "stored" on secondary memory (typically a hard disk). </P> <P> (Also called suspended and waiting .) In systems that support virtual memory, a process may be swapped out, that is, removed from main memory and placed on external storage by the scheduler . From here the process may be swapped back into the waiting state . </P> <P> (Also called suspended and blocked .) Processes that are blocked may also be swapped out . In this event the process is both swapped out and blocked, and may be swapped back in again under the same circumstances as a swapped out and waiting process (although in this case, the process will move to the blocked state, and may still be waiting for a resource to become available). </P>

1. name and describe the different states that a process can exist in at any given time