A conventional operating system usually segregates virtual memory into kernel space and user space. Kernel space is strictly reserved for running the kernel, kernel extensions, and some 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. 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 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.[1] This approach has been implemented in JXOS, Unununium as well as Microsoft's Singularity research project.

See also

References

  1. ^ What kind of kernel does Unununium have?
Operating system
General History · Timeline · List · Comparison · Usage share · Development · Advocacy
Kernel
Architectures
General Monolithic kernel · Microkernel
Subtypes Exokernel · Nanokernel · Hybrid
Components Kernel space · Server Loadable kernel module · Device driver · User space · Userland
Process management Process · Multiprogramming · Process control block · Interrupt · Modes: (Protected mode · Supervisor mode) · Computer multitasking · Scheduling · Context switch · Cooperative multitasking · Preemptive multitasking · CPU modes · Thread
Memory management Memory protection · Segmentation · Paging · Segmentation fault · General protection fault · Bus error
Examples UNIX · OpenSolaris · GNU · Linux · Windows · Mac OS X · AmigaOS 4 · BeOS · IBM OS/2 · ReactOS · MS-DOS · more…
Miscellaneous concepts Boot loader · PXE · API · Virtual file system · Virtual tape library · Computer network · CLI · TUI · GUI · VUI · HAL
This computer science article is a stub. You can help Wikipedia by expanding it.

Categories: Operating system technology | Device drivers |

 

The above information uses material from Wikipedia and is licensed under the GNU Free Documentation License.
Some facts may not have been fully verified for accuracy. [Disclaimers]
This page was last archived by our server on Mon Aug 31 00:25:15 2009. [ refresh local cache ]
Displaying this page or its contents does not use any Wikimedia Foundation's resources.
The owners of this site proudly support the Wikimedia Foundation.