In kernel mode, the processor can execute every instruction in its hardware repertoire, whereas in user mode, it can only execute a subset of the instructions. Instructions that can be executed only in kernel mode are called kernel, privileged, or protected instructions to distinguish them from the user mode instructions. For example, [[I/O]] instructions are privileged. So, if an [[application software|application]] program executes in user mode, it cannot perform its own [[I/O]]. Instead, it must request the OS to perform [[I/O]] on its behalf.
The [[computer architecture]] may logically extend the mode bit{{Incomprehensible inline|date=November 2023}} to define areas of memory to be used when the processor is in kernel mode versus user mode. If the mode bit is set to kernel mode, the process executing in the processor can access either the kernel or user partition of the memory. However, if user mode is set, the process can reference only the user memory space. We{{Who|date=November 2023}} frequently refer to two classes of memory user space and system space (or kernel, supervisor, or protected space). In general, the mode bit extends the operating system's protection rights.{{Incomprehensible inline|date=November 2023}} The mode bit is set by the user mode trap instruction, {{original research span|date=November 2023|also called a [[Supervisor Call instruction]].}} This instruction sets the mode bit, and branches to a fixed ___location in the system space. Since only system code is loaded in the system space, only system code can be invoked via a trap.{{Incomprehensible inline|date=November 2023}} When the OS has completed the supervisor call, it resets the mode bit to user mode prior to the return.{{original research inline|date=November 2023}}