
Kernel mode allows unrestricted access to hardware including execution of privileged instructions.Processes in kernel mode can access both: kernel and user addresses.A process can run in either of the two modes, namely kernel mode or user mode.

There is at most one running process per CPU or core. The process's instructions are executed by one of the CPUs (or cores) of the system. Other processes that are waiting for an event to occur, such as loading information from a hard drive or waiting on an internet connection, are not in the ready queue.Ī process moves into the running state when it is chosen for execution. Processes that are ready for the CPU are kept in a queue for "ready" processes. However, the CPU is only capable of handling one process at a time. Modern computers are capable of running many different programs or processes at the same time. There may be many "ready" processes at any one point of the system's execution-for example, in a one-processor system, only one process can be executing at any one time, and all other "concurrently executing" processes will be waiting for execution.Ī ready queue or run queue is used in computer scheduling. In a realtime system, admitting too many processes to the "ready" state may lead to oversaturation and overcontention of the system's resources, leading to an inability to meet process deadlines.Ī "ready" or "waiting" process has been loaded into main memory and is awaiting execution on a CPU (to be context switched onto the CPU by the dispatcher, or short-term scheduler). However, for real-time operating systems this admission may be delayed. Typically in most desktop computer systems, this admission will be approved automatically. Admission will be approved or delayed by a long-term, or admission, scheduler. In this state, the process awaits admission to the "ready" state.

When a process is first created, it occupies the " created" or " new" state. In most of these states, processes are "stored" on main memory.


The following typical process states are possible on computer systems of all kinds.
