## 개요
- 경량 프로세스 격리 가상화 기술
- [[hypervisor]]는 하드웨어를 가상화하고 namespace는 동일한 커널에서 프로세스만 격리한다는 차이가 있다.
## 종류
종류는 크게 6가지가 있다.
- UTS
- hostname(uname/nodename)을 변경하고 분할
- [[docker]]의 container id가 container 내부의 hostname이다.
- IPC
- 프로세스 간 통신 격리
- 대표적인 방법으로 signal, socket, pipe 등이 있다.
- PID
- process id를 분할
- process는 부모 자식 관계, 즉 tree 구조를 갖고 있는데 모든 프로세스는 root인 init process에서 만들어지고 init process의 pid는 1이다.
- pid namespace는 PID 1을 추가로 할당한다. 
- NS
- 파일시스템에서 mount 지점을 분리
- pid 분리만 하면 `ps` 명령어를 쳤을 때 관리 영역 외 다른 process도 볼 수 있어서, process를 관리하는 filesystem 영역인 /proc의 분리가 필요하다.
- NET
- network interface, iptables 등 분할
- USER
- user와 group id를 분할
## 참고
- https://bluese05.tistory.com/11
#linux #docker #namespace