Namespace, 可以讓一個 Process 對於系統有自己的視野, 也就是說讓不同的 Process 可以看到系統的不同面貌, 例如不同的 Process 可能看到的系統名稱可以不一樣. Namespace 可以讓一個應用系統去設定自己所需要的執行環境, 因此可以在不同的機器上執行.
Control Group, 提供屬於同一個 Group 的 Processes 的資源管理及追蹤的機制, 例如可以限制一個 Group 內的 Processes 總共使用的記憶體空間不能超過一個限度 (即使實體記憶體還有空間也不能使用, 有點類似 VM). Control Group 可以有效地限制一個應用系統所能使用的資源.
Union Filesystem, 提供一個介面讓不同檔案系統可以共存, 而使用者程式只會看到單一的檔案系統, 使用相同的方式做存取動作. 在此我們暫不討論 Union Filesystem.
Namespace
Namespace 可以讓一個 Process 對於主機系統有自己的視野, 也就是說在某種程度下, 一個 Process 可以有自己的系統參數及組態設定. 例如說 uname 這個 function 可以拿到主機名稱, 作業系統及版本等資訊. 一般而言, 同一系統下的所有 Processes 應該都會拿到相同的資訊, 但是透過 Namespace, 不同的 Processes 可以拿到不同的系統名稱. 因此, Namespace 也可以當成一種隔離機制. 目前 Linux 系統有七種 Namespaces, 即CGroup, IPC, Net, Mount, PID, User, 及 UTS.