운영체제 기능과의 연결
소켓 같은 입출력 객체는 실행 맥락을 통해 운영체제의 서비스를 이용한다. io_context와 스레드 풀 등의 실행 맥락이 이 연결을 제공한다. 네트워크에서 출발한 개념은 파일 서술자와 직렬 포트 등 다른 자원에도 적용된다.
시작과 완료의 분리
동기 작업은 호출 안에서 결과를 기다리는 반면 비동기 작업은 시작과 결과 처리가 나뉜다. 작업이 완료되면 실행 맥락이 결과와 오류 정보를 완료 처리기에 전달한다. io_context를 사용하는 구성에서는 루프를 실행해 준비된 완료 처리를 수행한다.
이식성과 상위 기능의 기반
운영체제 사이에 일관된 동작을 제공하면서 각 환경의 입출력 기능을 활용하도록 설계되었다. 특정 응용 구조를 강제하기보다 필요한 도구를 조합하는 방식이다. 이 기능을 바탕으로 HTTP 같은 상위 프로토콜 라이브러리를 구성할 수도 있다.