펌웨어와 드라이브의 정의와 차이점

업데이트:

Firmware vs Driver

개요

현대에 들어서서 컴퓨터의 대중화로 우리는 수많은 종류의 소프트웨어와 하드웨어를 사용하고 있다.
단순 소프트웨어만을 사용 할 때에는 프로그램만을 설치하여 사용이 가능했다.

하지만, 하드웨어를 연결하여 사용하고자 하는 경우에는 펌웨어와 드라이버라는 단어가 등장하였고 설치나 업데이트가 늘 필요했다. 나 같은 경우 항상 대수롭지않게 넘겼다.

그러나 문득 의문이 들었다. 펌웨어와 드라이버의 개념은 간단하게 알지만, 둘의 차이점을 내가 그동안 알고 사용했던 것 인지를 말이다.

따라서 이 둘을 정리하고자 포스팅을 하고자 한다.


펌웨어

정의

우선 펌웨어란 무엇인가?

펌웨어의 사전적 의미는 다음과 같다.

컴퓨팅과 공학 분야에서 특정 하드웨어 장치(read-only memory, ROM)에 포함된 소프트웨어로, 소프트웨어를 읽어 실행하거나, 수정하는 것도 가능한 영구적 소프트웨어(permanant software)를 뜻한다

정리하면 하드웨어의 구동 및 제어를 담당하는 소프트웨어라고 보면 된다.

여기서 일반적인 소프트웨어는 RAM에서 구동되지만, 펌웨어는 ROM에 올라가있다.
펌웨어는 영구적인 명령어와 데이터로 이루어져 있으므로 ROM에 기록된다.

그래서 펌웨어는 일반적인 방법으로는 내용의 수정이나 삭제가 불가능하다.


역할

그럼 펌웨어는 어떤 목적으로 쓰일까.

IOT 기기를 예를들면 하드웨어는 지속적으로 서버와 통신하며 요청에 대한 데이터를 처리한다.
외부 서버로부터의 새로운 기능이나 조작하는 소프트웨어 기능 등 버전이 변경될 경우, 하드웨어의 논리회로도 변경해줄 필요가있다.

하지만 이미 생산된 하드웨어를 다시 제조하기엔 시간적 물질적 낭비가 크다. 그래서 이 기능들을 대체해주는 프로그램이 펌웨어다.

따라서 대부분 버전 업데이트가 필요할 때 마다, 업체가 제공하는 소프트웨어를 통해 개별 펌웨어를 직접 업데이트할 수 있다. 즉, 펌웨어는 하드웨어의 역할을 하며 소프트웨어 형태로 동작하기 때문에 중간 개념이라고 보면된다.

한 가지 예시로 BIOS가 있다.
우리가 바이오스 화면에 접속하려면 항상 부팅시에만 가능한 것도 기본 입출력을 건드는 펌웨어이기 때문이다.

근데 여기서 펌웨어를 업데이트 하려고 장치를 연결 하였으나, 장치가 연결이 안되는 경우가 발생한다.
이 때 필요한 것이 드라이버이다.


드라이버

정의

드라이버의 사전적 의미는 다음과 같다.

운영 체제와 디바이스가 서로 통신할 수 있는 소프트웨어 구성 요소이다

드라이버란 OS에서 소프트웨어 형태로 설치가되어 하드웨어 내 펌웨어를 사용할 수 있도록 하는 프로그램이다.


역할

드라이버는 펌웨어를 구동시켜줄 수 있도록 하는 소프트웨어이며 하드웨어와 OS 사이의 중간 다리 역할을 한다.

Windows를 설치 하였을 때 랜카드나 오디오 장치 등이 인식이 안되는 경우가 있는데 이 때 설치가 필요한 것이 드라이버이다.
이렇듯 하드웨어를 사용하기 위한, 여러 드라이버들이 존재한다.

하지만 드라이버를 설치할 필요가 없는 하드웨어도 있는데, 이는 장치 드라이버를 사용하고 있기 때문이다.
키보드, 모니터, 플로피 디스크, 하드 디스크 등, OS에서 기본적인 동작을 처리하는 이와 같은 장치 드라이버들이 있다.


정리

펌웨어와 드라이버

img

이처럼 펌웨어는 하드웨어에서 동작하는 소프트웨어이고, 드라이버란 그 펌웨어를 os에서 사용하기위한 매개체인 소프트웨어로 정리할 수 있다.


  • 참고자료
    • https://ko.wikipedia.org/wiki/%ED%8E%8C%EC%9B%A8%EC%96%B4

댓글남기기