PID Namespace / Container 기초, Process, 격리, 네임스페이스, 컨테이너, 간단정리, Linux, Init process
Pids in Linux 프로세스가 생성될 때 fork syscall을 통해 pid가 부모로 전달 커널에 의해 생성된 첫 프로세스는 pid1을 가짐 모든 프로세스는 부모를 계속 타고 올라가면 pid1을 만나고, 해당 프로세스가 죽으면 시스템 재부팅이 필요 (Init process) 이렇듯 Linux namespace는 unshare syscall을 통해 생성되고, 해당 namespace로 바로 이동하는 것 하지만 PID namespace는 바로 이동하지 않음 완벽히 분리된 구조라기보단 fork로 계층화된 process이고, PID namespace안에 따로 pid1이 존재하는 구조 PID Namespace PID Namespace에서의 pid1이 죽으면 namepsace가 죽음 signal handler..
2023. 1. 13.
Mount Namespace / Container 기초, 파일시스템, 마운트, 네임스페이스, 컨테이너, 간단 정리
Mount Namespace 전에 공부할때 확인했듯이 리눅스는 루트 파일 시스템으로 구성 루트로 시작하는 계층 구조 파일, 디렉토리 제어 정보 생성, 삭제, 마운트 등의 기능을 제공 Mount namespace는 각 프로세스에 격리된 파일시스템 마운트 포인트를 제공 VFS(virtual filesystem)으로 데이터 구조, 저장 매체를 추상화하여 사용 가능 매체의 특징에 따라 파일시스템을 어떻게 나눌지 결정하는 것이 많음 unshare 명령어를 통해 Mount namespace 생성 가능 보통 이미지를 통해 mountns를 관리하는데, 중복된 이미지 때문에 리소스 낭비가 심할 수 있음 Union Mount 중복된 이미지로 인한 리소스 낭비를 해결하기 위해 사용 복수의 filesystem을 하나로 mou..
2023. 1. 10.