Namespace
命名空間就是在大箱子(Kerne)裏面再裝一堆小箱子(Kernel Namespace)
Kerne
Kernel Namespace
因為如果我們想在箱子裏面放兩個外觀一模一樣的蘋果(Process),到時候一定會無法區分
Process
不如就放在A箱子裡面的蘋果,叫作A蘋果;放在B箱子裡面的蘋果,叫作B蘋果
Linux 2.6.24版的Kernel開始,提供了6種不同類型的Namespace
6種
分別是:
程序間通信(IPC)命名空間
程序命名空間
網絡命名空間
掛載命名空間
UTS命名空間
用戶命名空間
所以有人說Namespaces是一種資源隔離方案,使得PID、Network、IPC等系統資源,不再屬於全域設定,而是某個特定的Namespace的資源
資源隔離方案
與系統分離
不需要使用更多的底層(硬體支援)
因為Namespaces是用純軟體劃分出來的概念
資源互相隔離
pid
例如使用ps命令只能列出自己Namespace下的程序
ps