- User space
:"kernel space" redirects here. For mathematical definition, see
null space ."A conventional
operating system usually segregatesvirtual memory into kernel space and user space. Kernel space is strictly reserved for running the kernel, kernel extensions, and somedevice driver s. In most operating systems, kernel memory is never swapped out to disk. In contrast, user space is the memory area where all user mode applications work and this memory can be swapped out when necessary. The term "userland" is often used for referring to operating system software that runs in user space.Each user space process normally runs in its own
virtual memory space, and, unless explicitly requested, cannot access the memory of other processes. This is the basis formemory protection in today's mainstream operating systems, and a building block forprivilege separation . Depending on the privileges, processes can request the kernel to map part of another process's memory space to its own, as is the case fordebugger s. Programs can also requestshared memory regions with other processes.Another approach taken in experimental operating systems, is to have a single
address space for all software, and rely on the programming language'svirtual machine to make sure that arbitrary memory cannot be accessed — applications simply cannot acquire any references to the objects that they are not allowed to access. [ [http://unununium.org/ What kind of kernel does Unununium have?] ] This approach has been implemented inJXOS , Unununium as well as Microsoft's Singularity research project.See also
*
Userland (computing)
*Memory protection
*Ring (computer security)
*CPU modes References
Wikimedia Foundation. 2010.