본문 바로가기
운영체제/IO

I/O 멀티플렉싱 - epoll

by 정재익 2026. 5. 5.

 

 

SELECT는

1. 애플리케이션은 요청이 들어오면 시스템 콜을 통해 OS에 소켓을 만듬 커널은 FD 반환

2. 애플리케이션은 FD배열 비트맵을 가지고 있음

3. select()를 통해 커널에게 이 배열을 감시해달라고 부탁

4. 이벤트가 발생하고 커널은 select()의 응답을 반환

5. 애플리케이션은 다시 FD배열 비트맵으로 select()를 실행

 

select 방식의 단점 : select를 호출할 때마다 관찰대상에 대한 정보를 매번 운영체제에게 전달해야한다.

 

epoll은

1. 상태 변화 확인을 위한 전체 파일 디스크립터 대상 반복문이 없다.

2. select에 대응하는 epoll_wait 함수 호출 시, 관찰 대상의 정보를 매번 전달할 필요가 없다.

 

select에서는 애플리케이션이 FD배열 비트맵을 만들었지만 epoll은 운영체제가 그 일을 담당한다.

epoll은 전체 FD배열을 운영체제에 전달하지 않고 epoll_ctl(DEL/SET)으로 해당 소켓만 알려주는 방식이다.

 

 

 

'운영체제 > IO' 카테고리의 다른 글

I/O 멀티플렉싱 - 엣지 트리거, 레벨 트리거  (0) 2026.05.05
I/O 멀티플렉싱 - select  (0) 2026.05.05