User space
From Wikipedia, the free encyclopedia
- For the use of "Userspace" in Wikipedia, see Wikipedia:User page
An operating system usually segregates virtual memory into kernel space and user space. Kernel space is strictly reserved for running the kernel, device drivers and kernel extensions. In most operating systems, the kernel is never swapped out to disk. User space is the memory area where all user mode application work and this memory can be swapped out when necessary.
A user application cannot access kernel space directly and similarly kernel code cannot access the user space without checking whether the page is present in memory or swapped out.
Another approach has been proposed by the Unununium project which only uses a single address space, but the underlying programming language makes sure that arbitrary memory cannot be accessed.[1]. The same approach has since been studied by Microsoft, in their research project Singularity.