이전에는 윈도우 진영에선 IOCP, 리눅스 및 UNIX진영에서는 epoll, kqueue 등을 사용하고 있었다.하지만 2010년대에 들어 구식 모델보다 더 향상된 차세대 IO모델이 발표되었다. 윈도우에서는 Windows Server 2012에 맞춰 IOCP의 확장 격인 RIO(Registered I/O)를 발표, 리눅스에선 커널 5.1 버전부터 io-uring을 사용할 수 있게 되었다. 윈도우의 RIO는 기존 IOCP에서 잦은 시스템콜과 유저모드와 커널모드 간 컨텍스트 스위칭이 잦아 CPU의 점유율이 높은 단점아닌 단점이 있었다. RIO는 이를 해결하기 위해 CP(Completion Port)를 '완료(Completion)'와 '요청(Request)'에 대한 원형 큐로 나누고, 유저모드와 커널모드간 공유..