<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://sumyeong.kim/</id><title>김수명 블로그</title><subtitle>여러가지 올리는 블로그</subtitle> <updated>2026-05-13T15:28:08+09:00</updated> <author> <name>김수명</name> <uri>https://sumyeong.kim/</uri> </author><link rel="self" type="application/atom+xml" href="https://sumyeong.kim/feed.xml"/><link rel="alternate" type="text/html" hreflang="ko" href="https://sumyeong.kim/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 김수명 </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Rust로 Windows 드라이버 작성하기 — windows-drivers-rs 개요</title><link href="https://sumyeong.kim/posts/Rust%EB%A1%9C-Windows-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-%EC%9E%91%EC%84%B1%ED%95%98%EA%B8%B0-windows-drivers-rs-%EA%B0%9C%EC%9A%94/" rel="alternate" type="text/html" title="Rust로 Windows 드라이버 작성하기 — windows-drivers-rs 개요" /><published>2026-05-13T14:30:00+09:00</published> <updated>2026-05-13T14:30:00+09:00</updated> <id>https://sumyeong.kim/posts/Rust%EB%A1%9C-Windows-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-%EC%9E%91%EC%84%B1%ED%95%98%EA%B8%B0-windows-drivers-rs-%EA%B0%9C%EC%9A%94/</id> <content type="text/html" src="https://sumyeong.kim/posts/Rust%EB%A1%9C-Windows-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-%EC%9E%91%EC%84%B1%ED%95%98%EA%B8%B0-windows-drivers-rs-%EA%B0%9C%EC%9A%94/" /> <author> <name>김수명</name> </author> <category term="윈도우 드라이버" /> <summary>1. windows-drivers-rs가 무엇인가 windows-drivers-rs(약칭 WDR)는 Microsoft가 직접 운영하는 Rust 크레이트 모음으로, WDM·KMDF·UMDF 드라이버를 Rust로 작성할 수 있게 해 준다. 저장소는 github.com/microsoft/windows-drivers-rs이고, 핵심 크레이트는 모두 crates.io에 게시되어 있다. C로 작성된 WDK 헤더를 bindgen으로 자동 변환한 raw FFI 계층 위에, 안전한 idiomatic 래퍼를 얹는 두 층 구조다. README의 한 줄 정의: This repo is a collection of Rust crates that enable developers to develop Windows Dri...</summary> </entry> <entry><title>MCDM이란 무엇인가</title><link href="https://sumyeong.kim/posts/MCDM%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80/" rel="alternate" type="text/html" title="MCDM이란 무엇인가" /><published>2026-05-04T03:42:00+09:00</published> <updated>2026-05-04T03:42:00+09:00</updated> <id>https://sumyeong.kim/posts/MCDM%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80/</id> <content type="text/html" src="https://sumyeong.kim/posts/MCDM%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80/" /> <author> <name>김수명</name> </author> <category term="윈도우 드라이버" /> <summary>1. MCDM이 무엇인가 MCDM(Microsoft Compute Driver Model)은 디스플레이 출력이 없는 컴퓨트 전용 디바이스를 위해 만들어진 WDDM 2.0 이상의 부분 집합(subset)이다. Windows 10 버전 1903(WDDM 2.6)부터 사용할 수 있다. MS Learn의 정의: An MCDM driver, or compute-only driver, is a scaled down subset of Windows Display Driver Model 2.0+ (WDDM). In WDDM terminology, the driver must advertise itself as a “render-only” device without display functionality. ...</summary> </entry> <entry><title>IOMMU란 무엇인가</title><link href="https://sumyeong.kim/posts/IOMMU%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80/" rel="alternate" type="text/html" title="IOMMU란 무엇인가" /><published>2026-05-04T03:27:00+09:00</published> <updated>2026-05-04T03:27:00+09:00</updated> <id>https://sumyeong.kim/posts/IOMMU%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80/</id> <content type="text/html" src="https://sumyeong.kim/posts/IOMMU%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80/" /> <author> <name>김수명</name> </author> <category term="윈도우 드라이버" /> <summary>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 addresses to physical addresses, making it useful in virtualization. IOMMU(I/O 메모리 관리 장치)는 DMA가 가능한 I/O 버스와 시스템 메모리 사이를 잇는 하드웨어이며, 디바이스가 보는 주소를 실제 물리 주소로 변환한다. CPU가 가상 주소를 물리 주소로 바꾸기 위해 MMU와 페이지 테이블...</summary> </entry> <entry><title>DMA란 무엇인가</title><link href="https://sumyeong.kim/posts/DMA%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80/" rel="alternate" type="text/html" title="DMA란 무엇인가" /><published>2026-05-04T03:16:00+09:00</published> <updated>2026-05-04T03:16:00+09:00</updated> <id>https://sumyeong.kim/posts/DMA%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80/</id> <content type="text/html" src="https://sumyeong.kim/posts/DMA%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80/" /> <author> <name>김수명</name> </author> <category term="윈도우 드라이버" /> <summary>1. DMA가 왜 필요한가 전통적인 I/O 모델에서 디바이스로부터 메모리로 데이터를 옮기는 일은 CPU의 몫이었다. CPU는 디바이스 레지스터에서 한 워드씩 읽어 메모리에 쓰는 일을 수만 번 반복해야 했고, 그 사이 CPU 사이클은 단순한 데이터 복사에 묶여 다른 일을 할 수 없다. 해결책은 단순하다. CPU를 거치지 않고 디바이스가 메모리를 직접 읽고 쓰게 한다. 이것이 Direct Memory Access(DMA)이다. Microsoft Learn의 정의를 그대로 옮기면, “DMA는 CPU를 우회하는 데이터 전송 전략이며, 전용 DMA 컨트롤러가 메모리와 디바이스 사이에서 데이터를 전송한다.” 드라이버 입장에서는 디바이스에 “이 메모리 범위를 읽어/써라”라고 한 번 지시한 뒤, 전송이 끝났음을 ...</summary> </entry> <entry><title>다양한 버전의 Windows를 위한 드라이버 작성</title><link href="https://sumyeong.kim/posts/%EB%8B%A4%EC%96%91%ED%95%9C-%EB%B2%84%EC%A0%84%EC%9D%98-Windows%EB%A5%BC-%EC%9C%84%ED%95%9C-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-%EC%9E%91%EC%84%B1/" rel="alternate" type="text/html" title="다양한 버전의 Windows를 위한 드라이버 작성" /><published>2026-05-03T16:26:00+09:00</published> <updated>2026-05-03T16:26:00+09:00</updated> <id>https://sumyeong.kim/posts/%EB%8B%A4%EC%96%91%ED%95%9C-%EB%B2%84%EC%A0%84%EC%9D%98-Windows%EB%A5%BC-%EC%9C%84%ED%95%9C-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-%EC%9E%91%EC%84%B1/</id> <content type="text/html" src="https://sumyeong.kim/posts/%EB%8B%A4%EC%96%91%ED%95%9C-%EB%B2%84%EC%A0%84%EC%9D%98-Windows%EB%A5%BC-%EC%9C%84%ED%95%9C-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-%EC%9E%91%EC%84%B1/" /> <author> <name>김수명</name> </author> <category term="윈도우 드라이버" /> <summary>Writing drivers for different versions of Windows(원본 Microsoft Learn 링크) 아래는 위 문서의 번역이다. 드라이버 프로젝트를 생성할 때, 드라이버가 실행될 Windows의 최소 버전인 최소 대상 운영체제(minimum target operating system) 를 지정한다. 예를 들어 Windows 7을 최소 대상 운영체제로 지정할 수 있으며, 이 경우 드라이버는 Windows 7 및 그 이후 버전에서 실행된다. Note특정 최소 Windows 버전을 위한 드라이버를 개발하면서 이후 Windows 버전에서도 동작시키고자 한다면, 문서화되지 않은 함수를 사용해서는 안 되며, 문서화된 함수도 문서에 설명된 방식 외의 방법으로 사용해서는 안 ...</summary> </entry> </feed>
