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