上QQ阅读APP看书,第一时间看更新
2.4 Namespace介绍
2.4.1 Namespace是什么
Namespace是将内核的全局资源做封装,使得每个Namespace都有一份独立的资源,因此不同的进程在各自的Namespace内对同一种资源的使用不会互相干扰。
这样的解释可能不清楚,举个例子,执行sethostname这个系统调用时,可以改变系统的主机名,这个主机名就是一个内核的全局资源。内核通过实现UTS Namespace,可以将不同的进程分隔在不同的UTS Namespace中,在某个Namespace修改主机名时,另一个Namespace的主机名还是保持不变。
目前Linux内核总共实现了6种Namespace:
❏ IPC:隔离System V IPC和POSIX消息队列。
❏ Network:隔离网络资源。
❏ Mount:隔离文件系统挂载点。
❏ PID:隔离进程ID。
❏ UTS:隔离主机名和域名。
❏ User:隔离用户ID和组ID。