펌웨어란 무엇인가?

펌웨어란 무엇인가? 펌웨어의 정의에 대해 인터넷에 찾아보면 의미가 살짝 헷갈린다.

펌웨어는 소프트웨어인가? 펌웨어는 하드웨어인가?

컴퓨터 공학을 전공하고 펌웨어 개발자로 일을 하고 있으면서도 펌웨어의 정의가 정확하게 무엇인지 와닿지 않는다. 뭉뚱그려서 얘기하자면 펌웨어는 하드웨어와 가까운, 하드웨어를 제어하는 소프트웨어다.

가끔 이 분야를 모르는 누군가가 펌웨어가 뭐에요? 라고 질문을 던지면 나는 최대한 쉽게 설명하기 위해 이렇게 답한다.

누군가가 어떤 전자제품을 만들자나요? 예를들면 우리 주변에 자주 보이는 전자레인지나 에어팟, 또는 CCTV 같은 것들이 전자제품인데요. 우선 하드웨어 개발자가 전자레인지에 남은 시간을 알려주는 표시판, 버튼들, 에어팟의 스피커, 터치센서, CCTV의 카메라 렌즈 같은 것들을 잘 조합해서 형태를 갖추자나요? 근데 이 기기들은 처음에는 아무것도 할 수 없는, 죽어있는 상태에요. 마치 손과 손가락, 눈과 귀와 코가 달려있지만 어떻게 사용하는지 모르는, 움직이거나 소리를 들을 수 없는 그런 상태죠. 이때 펌웨어 개발자는 이런 기기에 활력을 불어 넣어줘요! 손과 손가락을 움직여서 물체를 잡을 수 있게 해주고요. 눈으로 보고, 귀로 듣고, 코로 숨을 쉴 수 있게 동작하는 방법을 가르쳐주죠.

펌웨어의 정의

인터넷에 검색해보면 펌웨어에 대해 다양한 정의가 나온다.

펌웨어는 컴퓨팅과 공학 분야에서 특정 하드웨어 장치에 포함된 소프트웨어로, 소프트웨어를 읽어 실행하거나, 수정하는 것도 가능한 장치를 뜻한다. 하드웨어의 제어와 구동을 담당하는 일종의 운영체제이다.