<Li> User mode ensures isolated execution of each process so that it does not affect other processes as such . </Li> <Li> No direct access to any hardware device is allowed . </Li> <P> A process transitions to a blocked state when it cannot carry on without an external change in state or event occurring . For example, a process may block on a call to an I / O device such as a printer, if the printer is not available . Processes also commonly block when they require user input, or require access to a critical section which must be executed atomically . Such critical sections are protected using a synchronization object such as a semaphore or mutex . </P> <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>

When does a process enters a blocked state