본문으로 바로가기

[IT] 컴퓨터 드라이버 란 ?

category 쭌의 숲 속 도서관/IT 2019. 1. 21. 13:29
Microsoft 홈페이지 글 발췌

드라이버를 하나의 정확한 용어로 정의하는 것은 매우 어려운 일입니다. 가장 기본적인 의미에서, 드라이버란 운영 체제와 장치의 상호 통신을 허용하는 소프트웨어 구성 요소입니다. 예를 들어, 응용 프로그램이 장치에서 데이터를 읽어야 할 수 있습니다. 응용 프로그램은 운영 체제에서 구현한 함수를 호출하고, 운영 체제는 드라이버에서 구현한 함수를 호출합니다. 장치를 설계 및 제조한 회사에서 작성한 드라이버는 데이터를 가져오기 위해 장치 하드웨어와 통신하는 방법을 알고 있습니다. 드라이버는 장치에서 데이터를 가져온 후 운영 체제로 반환하고, 운영 체제는 응용 프로그램으로 반환합니다.



그래서 드라이버 란 ?

 드라이버하면 제품을 분해할 때 사용하는 그 드라이버를 생각하시는 분들도 계시겠지만 컴퓨터에서의 드라이버(Driver)란 '컴퓨터와 연결된 특정장치와 통신하여 이를 제어하는 역할을 하는 프로그램'을 말합니다.

 대부분의 시스템에서는 각종 주변장치마다 고유한 드라이버를 가지고 있는데 사용자 프로그램의 입출력 호출에 대응하여 운영체제내의 관리 프로그램이 드라이버를 호출하는 원리로 실행됩니다.

 우리가 컴퓨터를 사용한다는 것은 컴퓨터에게 어떤방식으로 입력을 하고 그 명령대로 처리한 결과를 받을 수 있어야 합니다. 입력이야 키보드로 한다고 하지만 그 명령의 결과인 출력은 뭘로 확인할까요 ? 우리가 가장 쉽게 또한 빠르게 출력을 확인하는 것이 바로 눈으로 보는 화면인 모니터로 확인합니다.

 그런데 컴퓨터에서 사용자가 입력한 작업과 계산을 처리하는 CPU가 화면표시를 할 수 있을까요 ?

 불가능 합니다. CPU는 사용자가 요청한 정보를 처리하고 열심히 계산을 할 뿐이지 화면을 출력하는 기능이 없습니다.
그래서 사용하는 것이 그래픽 카드고 우리가 쓰는 컴퓨터의 모니터에 화면을 그려내주는 작업을 하게 됩니다.
CPU는 단지 그래픽 카드에 이렇게 출력 하라고 자료만을 던져줄뿐입니다.
 이 그래픽 카드를 컴퓨터에 연결한다고 그냥 바로 게임을 할 수는 없습니다.



 운영체제(Windows) 입장에선 이 그래픽 카드라는 놈에게 도대체 어떤 신호를 어떻게 줘야 그래픽 카드를 켜고 화면을 표시하게 하는지 전혀 모릅니다. 옛날이야 글자만 띄워주는 역활로 끝이였지만 지금은 아닙니다. 영화도 보고 게임도 하고 한 번 했다하면 굉장히 어려운 고난이도의 작업을 주로 하게 됩니다.
 그런데 Windows 는 이 그래픽카드에 대해 자세히 아는게 없으니 그저 간단히 화면 띄우라는 명령이나 하지 그래픽 카드에 내장된 강력한 다중연산 엔진에는 손도 못대고 옵션설정도 어떻게 하는지 모르고 좀더 화질을 좋게 하거나 또는 3D 게임 같은 입체 표현 작업을 시킬줄 모릅니다.
 그래픽 카드의 기본적인 구조는 대부분 그래픽 카드 가 비슷하니 Windows 가 간신히 알아내고 또 자기가 가지고있는 아주 기초적인 사용법을 적용하여 움직이겠지만 그 이상은 할 수 없습니다.
 이것이 현재 그 기계 제조사가 Windows 에서 사용할 수 있도록 만들어서 주는 프로그램 "Device Driver. 장치 드라이버" 입니다. Windows 에는 딱 필요한 기초적인 기능의 드라이버만 내장시킵니다. 이것을 대개 "내장 드라이버" 라고 부릅니다. 컴퓨터 사용자는 게임, 계산기, 포토샵 등 일반 프로그램을 통해 Windows 에게 이것저것 해달라고 요청하게 됩니다. 그럼 Windows 는 드라이버를 통해 이런저런 기계를 움직이거나 움직이게 해달라고 요청하고 드라이버는 실제 기계를 움직이게 합니다.