目录
文章目录
Linux Namespace
Linux Namespace(命名空间)是一种操作系统层级的资源隔离技术,能够将 Linux 的全局资源,划分为 namespace 范围内的资源,而且不同 namespace 间的资源彼此透明,不同 namespace 里的进程无法感知到其它 namespace 里面的进程和资源。
这种隔离机制和 Chroot 很类似,Chroot 是把某个目录修改为根目录,从而无法访问外部的内容。Linux Namesapce 在此基础之上,提供了对 UTS、IPC、Mount、PID、Network、User 等的隔离机制。基本上涵盖了一个小型操作系统的运行要素,包括主机名、用户权限、文件系统、网络、进程号、进程间通信。
Linux Namespace 是操作系统虚拟化技术(e.g. 容器)的底层实现支撑。
Linux 中关于 Namespace 的 System Calls 主要有 3 个:
- clone():用来创建一个新的进程,同时可以设置 Namespace 的一