결론부터 말하자면 펌웨어는 하드웨어와 소프트웨어의 중간 개념이다. 정확히는 소프트웨어 형식을 가지고 있지만 하드웨어 역할을 하는 것이고, 조금 더 어렵게 말하면 하드웨어의 기본적인 구동 및 제어를 담당하는 특수 용도의 소프트웨어라고도 할 수 있다.
- 하드웨어(Hardware): 컴퓨터를 구성하고 있는 기계 장치
- 소프트웨어(Software): 컴퓨터 시스템을 효율적으로 운영하기 위해 개발된 프로그램
- 펌웨어(Firmware): 하드웨어에 일부로 포함되어 하드웨어의 기본적인 제어를 하는 소프트웨어
컴퓨터 본체를 샀다고 상상해보자. 위 정의대로 컴퓨터 본체인 하드웨어는 어떠한 조치도 하지 않은 초기 상태에서 아무런 기능을 할 수 없다. 여기에 우리에게 익숙한 윈도우를 설치해줘야 비로소 컴퓨터로써 사용할 수 있고, 이 윈도우 운영체제(OS)가 소프트웨어이다. 그런데 그전에 소프트웨어를 설치하려면 일단 컴퓨터를 켜야한다. 아무런 소프트웨어를 깔지 않은 초기 상태라 하더라도 기본적으로 컴퓨터들은 전원 버튼을 눌러주면 '켜지는' 기능을 하지 않는가? 이게 바로 펌웨어가 하는 일이다. 어떠한 하드웨어를 작동시키기 위해 필요한 기초적인 기능들을 해주는 소프트웨어를 미리 탑재해 놓은 것이다.
아래는 소프트웨어 중 하나인 운영체제가 주변 장치를 인식하는 레이어이다. 오늘 내용과는 크게 상관이 없지만 그냥 인상적이어서 퍼왔다.
아무튼 펌웨어로 돌아와 좀 더 테크니컬하게 설명을 해보자면 펌웨어는 일반적인 소프트웨어와 다르게 영구적인 명령어와 데이터로 이루어져 있어 제조 단계에서 ROM(혹은 PROM)에 기록된다. 따라서 RAM에서 구동되는 일반적인 소프트웨어와는 확실히 구분되어야 한다.
또한 펌웨어의 역할은 서버를 구성하는 다양한 장치들이 각자의 기능을 수행하기 위해 필요한 최소한의 프로그램을 제공하는 것이다. 새로운 소프트웨어나 버전이 출시될 때마다 물리적으로 제조하는 것은 시간 낭비이므로, 펌웨어는 논리적으로 기능을 보강하거나 대체해주는 역할을 한다. 펌웨어는 하드웨어의 일부분이며, 없을 경우 장치가 정상적으로 동작하지 못할 수 있다. 이처럼 펌웨어는 하드웨어와 밀접한 역할을 수행하면서도 소프트웨어와 형태적으로 유사하므로 둘의 중간 개념으로 불린다.
'| 과학 · 원리 · IT |' 카테고리의 다른 글
[통신] 텔레메트리란? - 원격 조종, 프로토콜 (0) | 2023.05.24 |
---|---|
[제어] PC와 PLC - 차이점, 장단점, 특징 (0) | 2023.05.21 |
[원리] 공냉식 vs 수냉식 제빙기의 차이 (0) | 2023.05.14 |
[코딩] 개발 용어 정리 - 운영체제, 서버, API, 프레임워크 (1) | 2023.05.04 |
[성분] 카페인과 타우린의 차이점은? 커피, 에너지드링크, 권장량, 효능 (1) | 2023.03.11 |