The environment created by operating systems in which normal processes run. In user space a process can only access its own virtual memory. In order to do anything else it has to make a system call and let the kernel handle special requests.

The distinction between user space and kernel space allows several processes run in a multitasking environment without accidently crashing the system or accessing other processes' memory regions. Also, the existence of a well defined API between the kernel and user space improves portability.