User space

userspaceuserlanduser modekernel spaceuser-spaceuser-leveluser-modeuser space and kernel spaceuserlandsuser
A modern computer operating system usually segregates virtual memory into kernel space and user space.wikipedia
296 Related Articles

Kernel (operating system)

kerneloperating system kernelkernels
Kernel space is strictly reserved for running a privileged operating system kernel, kernel extensions, and most device drivers.
The kernel performs its tasks, such as running processes, managing hardware devices such as the hard disk, and handling interrupts, in this protected kernel space.

Device driver

driverdriversdevice drivers
Kernel space is strictly reserved for running a privileged operating system kernel, kernel extensions, and most device drivers.
Even drivers executing in user mode can crash a system if the device is erroneously programmed.

Operating system

operating systemsOScomputer operating system
A modern computer operating system usually segregates virtual memory into kernel space and user space.
It was soon merged with the GNU user space components and system software to form a complete operating system.

Popek and Goldberg virtualization requirements

Popek and Goldbergcritical operationsPopek and Goldberg requirements
A separate user mode can also be used to build efficient virtual machines – see Popek and Goldberg virtualization requirements.

Protection ring

kernel modering 0kernel-mode
The most common way of implementing a user mode separate from kernel mode involves operating system protection rings.
For example, Windows 7 and Windows Server 2008 (and their predecessors) use only two rings, with ring 0 corresponding to kernel mode and ring 3 to user mode, because earlier versions of Windows ran on processors that supported only two protection levels.

File system

filesystemfile systemsfilesystems
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, application software, etc.
Aliases are designed to maintain a link to their original file even if they are moved or renamed; they are not interpreted by the file system itself, but by the File Manager code in userland.

Virtual memory

virtual storagememoryswap
A modern computer operating system usually segregates virtual memory into kernel space and user space. Each user space process normally runs in its own virtual memory space, and, unless explicitly allowed, cannot access the memory of other processes.

Memory protection

protected memorymemory protectedMemory protection key
Primarily, this separation serves to provide memory protection and hardware protection from malicious or errant software behaviour. This is the basis for memory protection in today's mainstream operating systems, and a building block for privilege separation.

Application software

applicationapplicationssoftware application
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, application software, etc. In contrast, user space is the memory area where application software and some drivers execute.

Library (computing)

librarylibrariessoftware library
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, application software, etc.

Input/output

I/Ooutputinterface
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, application software, etc.

Process (computing)

processprocessesprocessing
Each user space process normally runs in its own virtual memory space, and, unless explicitly allowed, cannot access the memory of other processes.

Privilege separation

drop privilegesdrop root privileges
This is the basis for memory protection in today's mainstream operating systems, and a building block for privilege separation.

Debugger

debuggersdebuggingDebugger front-end
With enough privileges, processes can request the kernel to map part of another process's memory space to its own, as is the case for debuggers.

Shared memory

Shared memory architectureshared-memoryshared
Programs can also request shared memory regions with other processes, although other techniques are also available to allow inter-process communication.

Inter-process communication

interprocess communicationIPCinterapplication communication
Programs can also request shared memory regions with other processes, although other techniques are also available to allow inter-process communication.

Address space

addressaddressableaddressed
Another approach taken in experimental operating systems is to have a single address space for all software, and rely on a programming language's semantics 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.

Reference (computer science)

referencereferencesHandle
Another approach taken in experimental operating systems is to have a single address space for all software, and rely on a programming language's semantics 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.

JX (operating system)

JXJX microkernel for JavaJXOS
This approach has been implemented in JXOS, Unununium as well as Microsoft's Singularity research project.

Singularity (operating system)

SingularitySingularity shell
This approach has been implemented in JXOS, Unununium as well as Microsoft's Singularity research project.

BIOS

ROM BIOSSystem BIOSBasic Input/Output System

Monolithic kernel

MonolithicDynamic Extendablekernel
A monolithic kernel is an operating system architecture where the entire operating system is working in kernel space.

Strace

strace is a diagnostic, debugging and instructional userspace utility for Linux.

Direct Rendering Manager

KMS driverDRMGEM
DRM exposes an API that user space programs can use to send commands and data to the GPU, and perform operations such as configuring the mode setting of the display.