linux namespace
namespace 는 하나의 system에서 수행되지만, 각각 별개의 독립된 공간인것 처럼 격리된 환경을 제공하는 lightweight 가상화 기술이다. 최근 Container 기반의 가상화 기술인 Docker나 LXC가 각광을 받고 있는데 모두 namespace를 기반으로 만들어 졌다.
이러한 namespace 는 기존에 잘 알려진 가상화 기술인 Hypervisor 와는 구조적으로 다르다.
Hypervisor는 Hardware resource 를 가상화 한다. Hypervisor 위에 올라가는 Guest OS 에는 가상화 된 형태의 H/W 를 제공하게 되며, 따라서 각각의 Guest OS는 완전한 다른 환경으로 분리된다. 하지만 namespace의 경우에는 Hardware resource 레벨의 가상화가 아니다. 동일한 OS와 동일한 kernel 에서 작동하게 되며, 단지 각각의 고립된 사용 환경만 제공되는 것이다.