User space

related topics
{system, computer, user}
{math, number, function}
{area, part, region}

A conventional computer operating system usually segregates virtual memory into kernel space and user space. Kernel space is strictly reserved for running the kernel, kernel extensions, and most device drivers. In contrast, user space is the memory area where all user mode applications work and this memory can be swapped out when necessary.

Similarly, the term userland refers to all application software that runs in user space.[1] Userland usually refers to the various programs and libraries that the operating system uses to interact with the kernel: software that performs input/output, manipulates file system objects, etc.

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 for memory protection in today's mainstream operating systems, and a building block for privilege separation. Depending on the privileges, processes can request the kernel to map part of another process' memory space to its own, as is the case for debuggers. Programs can also request shared 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's virtual 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.[2] This approach has been implemented in JXOS, Unununium as well as Microsoft's Singularity research project.

See also


Full article ▸

related documents
Microsoft Version Number
Coral 66
XML Metadata Interchange
Network mapping
Amiga E
B (programming language)
GUIDO music notation
Karplus-Strong string synthesis
Raster image processor
Advanced Encryption Standard process
Java Data Objects
Type code
Visual Instruction Set
Presentation Layer
Electronic Delay Storage Automatic Calculator
Maxima (software)
Netscape Communicator
Time to live
Delta modulation
Hierarchical routing
Automated business process
Altair BASIC
Signal compression
Network architecture