Los espacios de nombres (en inglés: namespace) son una característica del kernel de Linux que divide y aísla los recursos del kernel de manera que un conjunto de procesos asignado a cierto nombre de espacio ve un conjunto de recursos, mientras que otro conjunto de procesos asignado a un nombre de espacios diferente ve un conjunto diferente de recursos.
La característica funciona al tener el mismo espacio de nombres para un conjunto de recursos y procesos, pero esos espacios de nombres se refieren a recursos distintos. Los recursos pueden existir en varios espacios de nombres. Ejemplos de dichos recursos son ID de proceso, nombres de host, ID de usuario, nombres de archivo, algunos nombres asociados con el acceso a la red y comunicación entre procesos .[1]
Los espacios de nombres son un aspecto fundamental de los contenedores en Linux.
Un sistema Linux comienza con un único espacio de nombres de cada tipo, utilizado por todos los procesos. Los procesos pueden crear espacios de nombres adicionales y también pueden unir diferentes espacios de nombres para configurar diferentes niveles de aislamiento.