MCDM이란 무엇인가
1. MCDM이 무엇인가 MCDM(Microsoft Compute Driver Model)은 디스플레이 출력이 없는 컴퓨트 전용 디바이스를 위해 만들어진 WDDM 2.0 이상의 부분 집합(subset)이다. Windows 10 버전 1903(WDDM 2.6)부터 사용할 수 있다. MS Learn의 정의: An MCDM driver, or c...
1. MCDM이 무엇인가 MCDM(Microsoft Compute Driver Model)은 디스플레이 출력이 없는 컴퓨트 전용 디바이스를 위해 만들어진 WDDM 2.0 이상의 부분 집합(subset)이다. Windows 10 버전 1903(WDDM 2.6)부터 사용할 수 있다. MS Learn의 정의: An MCDM driver, or c...
1. IOMMU가 무엇인가 Microsoft Learn의 정의: An Input-Output Memory Management Unit (IOMMU) is a hardware component that connects a DMA-capable I/O bus to system memory. It maps device-visible virtual ...
1. DMA가 왜 필요한가 전통적인 I/O 모델에서 디바이스로부터 메모리로 데이터를 옮기는 일은 CPU의 몫이었다. CPU는 디바이스 레지스터에서 한 워드씩 읽어 메모리에 쓰는 일을 수만 번 반복해야 했고, 그 사이 CPU 사이클은 단순한 데이터 복사에 묶여 다른 일을 할 수 없다. 해결책은 단순하다. CPU를 거치지 않고 디바이스가 메모리를 직접...
Writing drivers for different versions of Windows(원본 Microsoft Learn 링크) 아래는 위 문서의 번역이다. 드라이버 프로젝트를 생성할 때, 드라이버가 실행될 Windows의 최소 버전인 최소 대상 운영체제(minimum target operating system) 를 지정한다. 예를 들어 Wi...
Header files in the Windows Driver Kit(원본 Microsoft Learn 링크) 아래는 위 문서의 번역이다. Windows 드라이버 키트(WDK)의 API 참조 문서에는 커널 모드 및 유저 모드 드라이버를 빌드하는 데 필요한 모든 헤더 파일(.h 파일)이 포함되어 있다. 헤더 파일은 WDK 설치 폴더의 Includ...
Upper and lower edges of drivers(원본 Microsoft Learn 링크) 아래는 위 문서의 번역이다. 이 문서에서는 드라이버 스택 내 드라이버에 적용되는 상위 에지(upper edge) 와 하위 에지(lower edge) 라는 용어에 대해 설명한다. Note이 항목을 읽기 전에 디바이스 노드와 디바이스 스택(Dev...
KMDF Extensions and Driver Triples(원본 Microsoft Learn 링크) 아래는 위 문서의 번역이다. 이 문서는 Kernel-Mode Driver Framework(KMDF)에 대한 클래스 기반 확장을 설명한다. Note이 항목을 읽기 전에 미니 드라이버, 미니포트 드라이버 및 드라이버 쌍 및 일반 드라이버 쌍...
KMDF as a generic driver pair model(원본 Microsoft Learn 링크) 아래는 위 문서의 번역이다. 이 글은 Kernel-Mode Driver Framework(KMDF)를 일반적인 드라이버 페어 모델로 볼 수 있다는 아이디어를 설명한다. Note이 주제를 읽기 전에 미니드라이버와 드라이버 쌍에 대해 제시된...
Minidrivers, Miniport Drivers, and Driver Pairs(원본 Microsoft Learn 링크) 아래는 위 문서의 번역이다. 미니드라이버(minidriver) 또는 미니포트 드라이버(miniport driver)는 드라이버 쌍(driver pair)의 한쪽 절반 역할을 한다. (미니포트, 포트)와 같은 드라이버 쌍...
Driver stacks(원본 Microsoft Learn 링크) 아래는 위 문서의 번역이다. 디바이스 드라이버로 전송되는 대부분의 요청은 I/O 요청 패킷(I/O request packets)(IRP)으로 패키징된다. 각 디바이스는 디바이스 노드로 표현되며, 각 디바이스 노드는 디바이스 스택을 가진다. 자세한 내용은 디바이스 노드와 디바이스 ...