커널 모드 드라이버 아키텍처 디자인 가이드
참고 항목
드라이버가 구현하거나 호출할 수 있는 프로그래밍 인터페이스에 대한 자세한 내용은 커널 모드 드라이버 참조를 참조하세요.
이 섹션에는 커널 모드 프로그래밍을 이해하는 데 도움이 되는 일반적인 개념이 포함되어 있으며 커널 프로그래밍의 특정 기술을 설명합니다. Windows 드라이버에 대한 일반적인 개요는 Windows 구성 요소에 대한 일반적인 개요를 제공하고, Windows에서 사용되는 디바이스 드라이버 유형을 나열하고, Windows 디바이스 드라이버의 목표를 설명하고, 키트에 포함된 일반 샘플 디바이스 드라이버에 대해 설명하는 Windows 드라이버 개발 시작을 참조하세요.
이 섹션에는 커널 모드 드라이버를 설명하고 빌드하는 데 도움이 되는 개념 정보가 포함되어 있습니다.
다음을 포함하는 개요 :
- Windows 구성 요소 개요
- 커널 모드 드라이버에 대한 디자인 목표
- 샘플 커널 모드 드라이버 카탈로그
- Microsoft Surface 팀에서 컴파일한 커널 드라이버 개발 모범 사례
커널 모드 구성 요소는 Windows 운영 체제의 기본 커널 모드 관리자 및 구성 요소를 설명합니다.
구성 요소 설명 관리자 Windows 커널 모드 개체 관리자 파일, 디바이스, 동기화 메커니즘, 레지스트리 키 등 개체를 관리합니다. Windows 커널 모드 메모리 관리자 운영 체제의 실제 메모리를 관리합니다. Windows 커널 모드 프로세스 및 스레드 관리자 프로세스의 모든 스레드 실행을 처리합니다. Windows 커널 모드 I/O 관리자 디바이스 드라이버에서 제공하는 인터페이스와 애플리케이션 간의 통신을 관리합니다. Windows 커널 모드 플러그 앤 플레이 Manager I/O 관리자의 하위 시스템인 PnP(플러그 앤 플레이) 관리자를 사용하면 디바이스가 시스템에 추가되는 시기를 PC에서 인식할 수 있습니다. Windows 커널 모드 Power Manager 전원 상태 변경을 지원하는 모든 디바이스에 대해 전원 상태의 순서대로 변경을 관리합니다. Windows 커널 모드 구성 관리자 레지스트리의 변경 내용을 모니터링하거나 특정 레지스트리 데이터에 콜백을 등록하는 등 레지스트리를 관리합니다. Windows 커널 모드 커널 트랜잭션 관리자 커널 모드에서 트랜잭션 처리를 구현합니다. Windows 커널 모드 보안 참조 모니터 드라이버가 액세스 제어를 사용할 수 있는 루틴을 제공합니다. 라이브러리 Windows 커널 모드 커널 라이브러리 운영 체제의 다른 모든 항목이 의존하는 핵심 기능을 구현합니다. Microsoft Windows 커널은 스레드 예약 또는 하드웨어 인터럽트 라우팅과 같은 기본적인 하위 수준 작업을 제공합니다. Windows 커널 모드 임원 지원 라이브러리 개체 관리, 메모리 관리, 프로세스 및 스레드 관리, 입력/출력 관리 및 구성 관리를 포함하여 디바이스 드라이버에 다양한 서비스를 제공하는 커널 모드 구성 요소를 참조합니다. Windows 커널 모드 런타임 라이브러리 다양한 커널 모드 구성 요소에 필요한 일반적인 유틸리티 루틴 집합입니다. Windows 커널 모드 안전 문자열 라이브러리 커널 모드 개발에서 보안을 강화하기 위한 안전한 문자열 라이브러리입니다. Windows 커널 모드 DMA 라이브러리 디바이스 드라이버 개발자를 위한 DMA(직접 메모리 액세스) 라이브러리입니다. Windows 커널 모드 HAL 라이브러리 커널 모드 드라이버 개발을 위한 HAL(하드웨어 추상화 계층)입니다. Windows 커널 모드 CLFS 라이브러리 트랜잭션 로깅 시스템인 CLFS(공용 로그 파일 시스템)입니다. Windows 커널 모드 WMI 라이브러리 WMI(Windows Management Instrumentation)라는 구성 요소를 관리하기 위한 일반적인 메커니즘입니다. WDM 드라이버 작성 및 WDM 소개는 WDM (Windows 드라이버 모델)을 사용하여 드라이버를 작성하는 데 필요한 정보를 제공합니다.
디바이스 개체 및 디바이스 스택의 다른 항목에서는 운영 체제가 디바이스 개체별로 디바이스를 나타내는 방법을 설명합니다.
Windows 드라이버 용 메모리 관리는 커널 모드 드라이버가 내부 데이터 저장, I/O 작업 중 데이터 버퍼링, 다른 커널 모드 및 사용자 모드 구성 요소와 메모리 공유와 같은 목적으로 메모리를 할당하는 방법을 보여 줍니다.
디바이스 액세스 및 권한 제어에서 디바이스 개체용 SDDL로의 보안은 드라이버가 가능한 한 안전한지 확인합니다.
IRP 처리는 커널 모드 드라이버가 I/O 요청 패킷(IRP)을 처리하는 방법을 설명합니다.
DMA DMA (직접 메모리 액세스)는 드라이버 개발의 중요한 측면이며 , 이 노드 의 항목에서는 A에서 Z로 DMA를 다룹니다.
컨트롤러 개체 는 연결된 디바이스가 있는 물리적 디바이스 컨트롤러를 나타냅니다.
ISR(인터럽트 서비스 루틴) 은 인터럽트를 수신하는 물리적 디바이스의 드라이버에 대한 인터럽트를 처리합니다.
DPC 개체(지연 프로시저 호출) 는 ISR에서 큐에 대기할 수 있으며 나중에 ISR보다 낮은 IRQL에서 실행됩니다.
플러그 앤 플레이(PnP) 는 PnP에 대한 시스템 소프트웨어 지원 및 드라이버가 PnP를 구현하는 데 해당 지원을 사용하는 방법에 중점을 둡니다.
Power Management 는 시스템 및 디바이스 전원 관리에 대한 포괄적인 접근 방식을 제공하는 아키텍처를 설명합니다.
WMI(Windows Management Instrumentation) 는 커널 모드 드라이버의 확장으로, 드라이버가 WMI 공급자가 될 수 있습니다. WMI 공급자는 사용자 모드 애플리케이션과 같은 WMI 소비자가 측정 및 계측 데이터를 사용할 수 있도록 합니다.
Windows의 커널 모드에서 드라이버를 프로그래밍하는 드라이버에는 일반적인 사용자 모드 프로그래밍과 크게 다른 기술이 필요합니다.