namespace
also: kernel namespace
A Linux kernel feature that isolates system resources (like process IDs, network interfaces, or filesystems) so that groups of processes see different views of the system. Namespaces are fundamental to containerization.
Namespaces partition kernel resources so that processes in different namespaces cannot directly access or interfere with each other's resources. When a process is created in a namespace, it sees only the resources assigned to that namespace, creating the illusion of a separate system.
There are several types of namespaces: PID namespace isolates process IDs (processes see their own PID 1), network namespace isolates network interfaces and routing tables, mount namespace isolates the filesystem view, UTS namespace isolates hostname/domainname, IPC namespace isolates inter-process communication, and user namespace isolates user/group IDs.
Example: A Docker container uses multiple namespaces so that the container's init process appears as PID 1 inside the container, but has a different PID on the host system. The container also has its own isolated network interface and filesystem, created through network and mount namespaces.