BackendUnder the Hood: Linux Epoll — 리눅스 커널 소스코드로 살펴보는 epoll의 내부 동작
이 글은 리눅스 커널 6.19.3 버전을 기준으로 epoll의 내부 동작 원리를 리눅스 커널 소스코드 관점에서 분석합니다. TCP/UDP 프로토콜 기반의 서버 구축 시 여러 소켓을 효율적으로 처리하기 위한 I/O Multiplexing 메커니즘으로서 epoll의 중요성을 설명하고, epoll 인터페이스를 구성하는 `epoll_create`, `epoll_ctl`, `epoll_wait` 시스템 콜의 작동 방식을 단계적으로 파헤칩니다. 특히, 커널 내부 구조와 데이터 흐름을 중심으로 epoll이 어떻게 대규모 동시 연결 환경에서 높은 효율을 제공하는지 심층적으로 탐구합니다. select, poll과의 성능 비교보다는 epoll 자체의 내부 로직에 집중하여 이해를 돕습니다.













