All Topics  
User space

 

   Email Print
   Bookmark   Link






 

User space



 
 
"kernel space" redirects here. For mathematical definition, see null space
Null space

In linear algebra, the kernel or null space of a matrix A is the set of all vectors x for which Ax = 0....
.


A conventional operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 usually segregates virtual memory
Virtual memory

Virtual memory is a computer system technique which gives an application program the impression that it has contiguous working memory , while in fact it may be physically fragmented and may even overflow on to disk storage....
 into kernel space and user space. Kernel space is strictly reserved for running the kernel, kernel extensions, and some device driver
Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
s. In contrast, user space is the memory area where all user mode applications work and this memory can be swapped out when necessary.






Discussion
Ask a question about 'User space'
Start a new discussion about 'User space'
Answer questions from other users
Full Discussion Forum



Encyclopedia


"kernel space" redirects here. For mathematical definition, see null space
Null space

In linear algebra, the kernel or null space of a matrix A is the set of all vectors x for which Ax = 0....
.


A conventional operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 usually segregates virtual memory
Virtual memory

Virtual memory is a computer system technique which gives an application program the impression that it has contiguous working memory , while in fact it may be physically fragmented and may even overflow on to disk storage....
 into kernel space and user space. Kernel space is strictly reserved for running the kernel, kernel extensions, and some device driver
Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
s. 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
Process (computing)

In computing, a process is an Object of a computer program that is being sequentially executed by a computer system that has the ability to run several computer programs Concurrency ....
 normally runs in its own virtual memory
Virtual memory

Virtual memory is a computer system technique which gives an application program the impression that it has contiguous working memory , while in fact it may be physically fragmented and may even overflow on to disk storage....
 space, and, unless explicitly requested, cannot access the memory of other processes. This is the basis for memory protection
Memory protection

Memory protection is a way to control memory usage on a computer, and is core to virtually every modern operating system. The main purpose of memory protection is to prevent a process running on an operating system from accessing memory beyond that allocated to it....
 in today's mainstream operating systems, and a building block for privilege separation
Privilege separation

In computer programming and computer security, privilege separation is a technique in which a computer program is divided into parts which are limited to the specific privilege they require in order to perform a specific task....
. 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 for debugger
Debugger

A debugger is a computer program that is used to test and debug other programs. The code to be examined might alternatively be running on an Instruction Set Simulator, a technique that allows great power in its ability to halt when specific conditions are encountered but which will typically be much slower than executing the code directly on...
s. Programs can also request shared memory
Shared memory

In computing, shared memory is a memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies....
 regions with other processes.

Another approach taken in experimental operating systems, is to have a single address space
Address space

In computing, an address space defines a range of discrete addresses, each of which may correspond to a physical or virtual memory register, a Node , peripheral device, disk sector or other logical or physical entity....
 for all software, and rely on the programming language's virtual machine
Virtual machine

In computer science, a virtual machine is a software implementation of a machine that executes programs like a real machine.Definitions...
 to make sure that arbitrary memory cannot be accessed — applications simply cannot acquire any reference
Reference (computer science)

In computer science, a reference is an object containing information about how to locate and access the particular data item, as opposed to containing the data itself....
s to the objects that they are not allowed to access. This approach has been implemented in JXOS, Unununium as well as Microsoft's Singularity
Singularity (operating system)

Singularity is an experimental operating system being built by Microsoft Research since 2003. It is intended as a highly-Dependability OS in which the kernel , device drivers, and applications are all written in managed code....
 research project.

See also

  • Userland (computing)
  • Memory protection
    Memory protection

    Memory protection is a way to control memory usage on a computer, and is core to virtually every modern operating system. The main purpose of memory protection is to prevent a process running on an operating system from accessing memory beyond that allocated to it....
  • Ring (computer security)
    Ring (computer security)

    In computer science, hierarchical protection domains, often called protection rings, are a mechanism to protect data and functionality from faults and malicious behaviour ....
  • CPU modes
    CPU modes

    CPU modes are operating modes for the central processing unit of some computer architectures that place restrictions on the operations that can be performed by the Process currently running in the CPU....