io_uring의 모든 것 — Jens Axboe가 2019년 Linux 5.1에 도입한 차세대 비동기 I/O 인터페이스의 SQ/CQ 링 버퍼 구조, mmap 공유 메모리, SQPOLL 커널 스레드, 멀티샷 연산, 등록 버퍼/파일, NVMe passthrough, Rust tokio-uring/monoio 생태계까지 깊이 있게 다룹니다. epoll 한계, AIO 실패 역사, 보안 CVE, 실전 벤치마크, ScyllaDB·RocksDB 적용 사례 포함.
한 대의 서버에서 10,000개가 아니라 1,000,000개의 동시 연결을 처리하려면 어떻게 해야 하는가? 30년에 걸친 Linux I/O API의 진화사 — 1970년대 blocking read부터 select/poll의 한계, epoll의 혁명, 그리고 2019년 io_uring까지. Node.js가 싱글 스레드로 버티는 비밀, nginx가 Apache를 이긴 이유, Redis가 25만 QPS를 내는 메커니즘, 그리고 왜 io_uring이 리눅스 역사에서 20년 만의 I/O 혁명이라 불리는지.
epoll의 후계자 io_uring, Docker를 만든 cgroups + namespaces, 커널에 안전하게 코드를 주입하는 eBPF, NUMA가 주는 숨은 비용, GPU 드라이버와 UVM, 2024년 Linux에 들어온 EEVDF 스케줄러, Zero-Copy + RDMA, WSL2. 앱 밑에서 OS가 하는 모든 일을 현대적 관점으로 한 번에 정리.