Linux namespaces
| namespaces | |
|---|---|
| Original author(s) | Al Viro | 
| Developer(s) | Eric W. Biederman, Pavel Emelyanov, Al Viro, Cyrill Gorcunov et al. | 
| Initial release | 2002 | 
| Written in | C | 
| Operating system | Linux | 
| Type | System software | 
| License | GPL and LGPL | 
Namespaces are a feature of the Linux kernel that partition kernel resources such that one set of processes sees one set of resources, while another set of processes sees a different set of resources. The feature works by having the same namespace for a set of resources and processes, but those namespaces refer to distinct resources. Resources may exist in multiple namespaces. Examples of such resources are process IDs, host-names, user IDs, file names, some names associated with network access, and Inter-process communication.
Namespaces are a required aspect of functioning containers in Linux. The term "namespace" is often used to denote a specific type of namespace (e.g., process ID) as well as for a particular space of names.
A Linux system begins with a single namespace of each type, used by all processes. Processes can create additional namespaces and can also join different namespaces.