Windows I/O 모델 개요

모든 운영 체제에는 주변 디바이스 간 데이터 흐름을 처리하기 위한 암시적 또는 명시적 I/O 모델이 있습니다. Microsoft Windows I/O 모델의 한 가지 기능은 비동기 I/O에 대한 지원입니다. 또한 I/O 모델에는 다음과 같은 일반적인 기능이 있습니다.

  • I/O 관리자는 최하위 수준, 중간 및 파일 시스템 드라이버를 포함하여 모든 커널 모드 드라이버에 일관된 인터페이스를 제공합니다. 드라이버에 대한 모든 I/O 요청은 I/O 요청 패킷(IRP)으로 전송됩니다.

  • I/O 작업은 계층화됩니다. I/O 관리자는 애플리케이션 및/또는 최종 사용자를 대신하여 I/O 작업을 수행하기 위해 사용자 모드로 보호되는 하위 시스템이 호출하는 I/O 시스템 서비스를 내보냅니다. I/O 관리자는 이러한 호출을 가로채고, 하나 이상의 IRP를 설정하고, 계층화된 드라이버를 통해 실제 디바이스로 라우팅합니다.

  • I/O 관리자는 드라이버가 지원할 수 있는 표준 루틴 집합(일부 필수 및 기타 선택 사항)을 정의합니다. 모든 드라이버는 주변 장치 간의 차이점과 버스, 함수, 필터 및 파일 시스템 드라이버에 필요한 다양한 기능을 고려하여 비교적 일관된 구현 모델을 따릅니다.

  • 운영 체제 자체와 마찬가지로 드라이버는 개체 기반입니다. 드라이버, 해당 디바이스 및 시스템 하드웨어는 개체로 표시됩니다. I/O 관리자 및 기타 운영 체제 구성 요소는 드라이버가 적절한 개체를 조작하여 작업을 수행하기 위해 호출할 수 있는 커널 모드 내보내기 루틴을 지원합니다.

I/O 관리자는 IRP를 사용하여 기존 I/O 요청을 전달하는 것 외에도 PnP 및 전원 관리자와 협력하여 PnP 및 전원 요청이 포함된 IRP를 보냅니다.