linux
-
[개념] fork — 프로세스·저장소·프로젝트에서 복제되는 것은 각각 무엇인가
하루에 fork라는 단어를 세 번 다른 뜻으로 썼습니다. 터미널에서 프로세스를 복제할 때, 깃허브에서 버튼을 누를 때, 데비안과 우분투의 관계를 이야기할 때. 세 층위에서 실제로 복제되는…
-
프로세스와 스레드, 그리고 뮤텍스 — 리눅스에서 clone()과 futex로 직접 확인하기
프로세스는 격리되고 스레드는 공유한다는 설명은 어디에나 있지만, 리눅스 커널 입장에서 둘은 clone() 플래그 몇 개 차이일 뿐입니다. Debian 12 컨테이너에서 fork와 pthread_create가 실제로 부르는 시스템콜을…
-
[메일 인프라] Postfix·OpenSMTPD·Haraka·Mailu·Mailcow는 각각 무엇을 맡나 — 리눅스 프로세스 트리로 본 메일 서버 지형도
메일 서버를 직접 띄우려고 검색하면 Postfix·Haraka·OpenSMTPD·Mailu·Mailcow가 한 줄에 나열되지만, 이들은 경쟁 관계가 아니라 서로 다른 층에 있습니다. 세 MTA를 리눅스 컨테이너에서 실제로 띄워 프로세스 트리·스레드…
-
격리의 안쪽 — namespace와 cgroup으로 OS를 나누기 (QoS 등급까지 실측)
A1에서 ‘컨테이너=namespace(격리)+cgroup(제한)’이라고 했다. 이번엔 그 안쪽을 연다. QoS 3등급(Guaranteed/Burstable/BestEffort) Pod를 만들어 requests/limits가 실제 cpu.max·memory.max로 내려가는 걸 실측하고, namespace 6종 중 user는 기본적으로 호스트와 공유돼 ‘완전…
-
[측정 보고서] 홈서버의 TCP 수신 윈도우·MSS·수신 처리량 — 값이 아니라 식을 남긴다
집 서버의 TCP 수신 창과 MSS를 재고, 그 값이 어떤 식에서 나오는지 커널 파라미터까지 거슬러 확인했습니다. 소켓에서 파일 버퍼로 읽는 속도는 858 MB/s, 실제 네트워크…