카테고리 없음
IOCP
foreiner852
2024. 12. 23. 21:10
IOCP(input/output completion Port)
윈도우 운영체제에서 제공하는 입출력 메커니즘
1. 비동기 I/O
작업이 완료될 때까지 기다리지 않고, 다른 작업을 수행
프로세스나 스레드가 차단되지 않음.
2. 완료 포트
완료 포트를 사용해 작업 완료 queue 역할
입출력 작업이 완료되면, 해당 작업의 완료 상태와 함께 큐잉
3. 스레드 풀
작업이 추가되면 동적으로 스레드를 생성한다.
스레드 관리를 자동화 하고 효율적으로 사용
동작 순서
1. 입출력 요청 등록
입출력을 비동기로 요청, 완료 포트에 등록
2. 입출력 작업 수행
커널 모드에서 입출력 작업을 수행(커널 모드: 모든 시스템 리소스와 하드웨어에 직접 접근하는 모드 하드웨어와 소프트웨어의 인터페이스 역할 높은 권한을 가지며 시스템 호출을 통해 애플리케이션에서 요청 가능)
3. 작업 완료 통지
입출력 완료되면 완료상태가 완료 포트에 큐잉
4. 완료된 작업 처리
스레드 풀에서 스레드가 큐에서 완료된 작업을 꺼내어 처리