윈도우xp

드라이버 란

sungtg 2007. 8. 8. 17:26

디바이스 드라이버는 하드웨어의 input/Output 을 담당하는데
운영체제의 하드웨어와 데이타를 주고 받는 통로로서
하드웨어(H/W)와 운영체제(윈도우)사이에서  그 역할을 한다.

그래서 드라이버 없이는 제대로 하드웨어를 사용할 수 없다.
공유기, 그래픽카드, 사운드카드, usb, 핸드폰, 외장하드, 외장모뎀, 랜카드 등등 device와 윈도우의 연결고리를 다이어그램으로 표시한 것이다.

주변장치(device)는 device driver를 통해서 윈도우의 I/O manager와 연결되고 여기서 I/O는 INPUT/OUTPUT의 약자입니다.

또한 I/O manager는 윈도우 SYSTEM32 폴더의 .SYS 파일들 입니다.
이 .SYS 파일들과 윈도우의 서비스 부분과 연동되어서

윈도우의 서브시스템 쉬운 말로는 실행파일의 프로그램이 아닌
전체 윈도우를 구성하는 시스템을 서브 시스템이라고 하고
이 서브시스템은 주로  DLL 파일들로 구성이 되어 있습니다

그래픽카드를 설치한다고 예를 들면
.SYS
.VXD
.DLL 파일 3가지 파일이 설치 되어야만 제대로 작동한다는 답이 나올 수 있습니다.

그림에서 보면 그래픽카드가 제대로 작동되려면
부팅되서 .SYS 파일 -> .VXD파일 -> .DLL파일 순으로 전달이 되어야만
그래픽카드를 제대로 작동시킬수 있겠지요

사용자 삽입 이미지

왜 드라이버가 필요한 가 ?
 
드라이버는 부팅될 때 메모리의 보호모드에 올라가야 합니다.
윈도우나 CPU에서 제공되는 보호모드 다른 말로 다른 프로그램들이 사용할 수 없는
메모리 영역에 드라이버가 안착이 되어야 하드웨어를 사용할 수 있습니다.

일반 프로그램에서는 직접 사운드카드나 그래픽카드와 통신을 할 수 없게 되어 있습니다.
그래서 운영체제를 통해서 사운드나 그래픽카드, 그외 주변장치와 통신을 합니다.


윈도우 드라이버의 종류

디바이스 드라이버는 O/S 종속적이므로 먼저 O/S의 종류를 보면 크게 Windows 2000 계열과 Consumer Windows 계열로 나누어 볼 수 있고 Windows 2000 계열에는 현재 Windows 2000과 Windows XP, Windows 2003를 포함할 수 있다. 그리고 Consumer Windows 계열에는 Windows 95, Windows 98, Millennium Edition 을 포함 시킬수 있다.
이러한 O/S의 분류에 따라 이들 O/S를 기반으로 실행되는 드라이버를 크게 두 타입 VxD 와 WDM로 볼 수 있다.
Consumer Windows 계열에서는 주로 VxD 타입의 드라이버를 사용하고 Windows 2000 계열에서는 WMD 타입의 드라이버를 사용한다.
그리고 참고로 Consumer Windows 계열중에서 Windows 98과 Millenninum Edition은 WDM 타입의 드라이버도 지원한다. 또한 Windows NT 4.0인 경우는 VxD와 WDM과 또 다른 형식인 Kernel Driver 타입을 사용한다. 사실 Kernel Driver 타입을 기반으로 하여 PnP(Plug and Play), Power Management, WMI(Windows Management Intrumentation)와같은 기능들이 추가적으로 더 지원되는 형식이 WDM 타입이다.

vxd 란.

V : Virtual
x : Device
D : Driver 의 약자로, 가상장치관리자라고 해석할 수 있으며 이때, x는 Device의 한 종류로서 KeyBoard 또는  Mouse같은 여러 주변 장치가 될 수 있다. 그리고 이 타입의 드라이버들은 앞에서도 언급하였지만 주로  Consumer Windows계열 (Windows 95, Windows 98, Windows Millennium Edition)에서 사용하는 드라 이버 Type을일컫는다.

wdm 이란

Windows Driver Model 의 약자로, 마이크로소프트에서 Driver 개발을 표준화시키고 호환성을 가지게 하기 위해 만든 드라이버 모델이다. WDM 타입의 드라이버를 제작하면 WDM 드라이버 모델을 지원하는 Windows 98, Windows Millennium Edition, Windows 2000, Windows XP, Windows 2003 에서 소스코드 레벨에서 호환이 되므로 다른 O/S로의 포팅작업은 포팅하고자하는 O/S의 개발 환경에서 재 컴파일하는것만로도 이루어 질 수 있다.

wdf 란

Windows Driver Foundation의 약자로, WDM의 단점을 보완한 새로운 드라이버 개발 모델이다. Windows 2000, Windows XP, Windows 2003을 포함하여 향후 출시될 codename Longhorn에서도 채택될 것으로 보인다.

윈도우 비스타나 롱혼 서버에서는 새로운 드라이버 모델이 발표되어 있습니다. 설명을 쭉 보신 분들은 이해하겠지만..
새로운 드라이버 모델이 운영체제에 있다면 각 주변장치도 합당한 드라이버를 만들어야 합니다.