본문 바로가기
소프트웨어 공학

펌웨어(Firmware)의 개념과 주요 형태

by iwuooh 2021. 12. 28.

소프트웨어와 하드웨어의 특성을 모두 지닌 펌웨어(Firmware)

펌웨어(Firmware)는 소프트웨어를 하드웨어 한 것으로, 소프트웨어와 하드웨어의 성질을 모두 가진다. 소프트웨어를 읽고 실행하고 수정하는 것도 가능한 장치로, 하드웨어의 구동과 제어도 담당하는 일종의 운영체제라고 할 수 있다. 주로 ROM(Read-Only Memory)에 저장되며 하드웨어보다는 교환하기가 쉽지만 소프트웨어보다는 어렵기 때문에 메모리 칩을 교환하여 사용한다. 일반적으로 소프트웨어를 거쳐 전달된 데이터 값을 받아 하드웨어는 내부의 회로를 거쳐서 사용자가 원하는 형식으로 결과물을 보여준다. 결과물은 하드웨어를 통해 계산된 결괏값이나 장치의 움직임 등을 의미하는데, 시스템의 활용 범위가 넓어지고 소프트웨어로부터 받아오는 데이터의 양도 방대해지면서 하드웨어 내부의 회로만으로는 이를 처리하기가 점점 어려워진다. 새로운 소프트웨어가 등장할 때마다 그 기능을 처리할 수 있는 논리 회로를 가진 하드웨어도 새로 만든다면 문제가 아니겠지만, 이는 비용이나 시간적인 부분에서 상당한 낭비가 아닐 수 없다. 따라서 하드웨어 내부에 저장 공간을 만들어서 기존의 논리 회로를 보강하거나 대신하는 프로그램을 넣을 수 있게 했고 이를 펌웨어라 하는 것이다. 같은 종류의 하드웨어라도 하드웨어 내부에 자리하고 있는 펌웨어가 달라지면 해당 하드웨어는 처리 기능이 달라지고 사용하는 소프트웨어의 종류까지도 달라질 수 있다. 펌웨어는 프로그램의 형태를 갖는다는 점에서 소프트웨어와 비슷한 특성을 가지고, 위치는 하드웨어 내부에 있어 사용자가 실제 그 내용을 바꿀 수 없다는 점에서는 하드웨어와 가까운 특성을 지닌다.

흔히 찾아볼 수 있는 펌웨어(Firmware)의 형태

펌웨어는 다른 소프트웨어가 하드웨어의 기능을 제어하기 전에 우선적으로 제어를 할 수 있는 기능을 가지고 있다. 일상생활에서 가장 찾아보기 쉬운 예는 사용자가 컴퓨터를 켜면 시작되는 프로그램으로, 검은 바탕화면에 해당 컴퓨터의 제조사나 CPU, 메모리나 하드디스크의 용량 등 하드웨어 정보가 나타나는데 이를 바이오스(BIOS : Basic Input / Output System)라 하고 기본적인 입출력 기능을 담당하는 펌웨어의 한 형태이다. 원래 IBM 사의 소유였으나 해당 프로그램이 개발된 이후로 원본 프로그램을 분석하여 수많은 다른 회사에서도 이를 개발하였다. 현재 PC에 내장된 바이오스는 하드웨어를 검사하고 대용량의 저장 장치에 저장된 운영체제를 읽는 역할 등을 담당한다. 넓은 의미로는 컴퓨터에 내장된 프로그램 중에서 하드웨어와 가장 낮은 수준에서 입출력을 담당하는 프로그램을 의미한다. 좁은 의미로는 IBM-PC와 호환이 가능한 장치에 탑재된 펌웨어를 가리키며 주로 좁은 의미로 사용된다. 만약 컴퓨터의 하드디스크가 손상되어 운영체제에도 영향을 미쳐 실행이 될 수 없다 해도, 바이오스는 정상적으로 동작하며 운영체제를 구동할 수 없다는 오류 메시지를 화면에 띄워 사용자에게 알린다. 컴퓨터 말고 디지털카메라나 게임기 등에도 전원을 켜면 초기 화면에 해당 장치에 대한 정보를 보여주는데 이 역시 펌웨어의 형태와 역할을 보여준다 할 수 있다.

 

바이오스는 주로 ROM을 저장하는 매체로 사용했었으나, 정보화의 발전이 가속화되고 새로운 기기나 장치의 출시 주기가 점차 짧아짐에 따라 플래시 메모리가 바이오스의 주된 저장 매체로 사용하게 되었다. 플래시 메모리를 사용하기 시작하면서 ROM을 사용하면서 발생했던 예상치 못한 문제점을 해결하기가 수월해졌고 다른 별도의 장치 없이 새로운 기기를 지원하기 위해 컴퓨터에서 프로그램을 실행하여 바이오스의 내용을 간편하게 수정도 가능해졌다. 그러나 바이오스의 수정된 내용을 저장할 때 예기치 못한 오류 상황이 발생하여 해당 기록이 정상적으로 저장되지 않으면 그 컴퓨터는 사용조차 할 수 없게 된다. 바이오스는 하드웨어와 소프트웨어를 연결해 주는 마치 인간에 있어 신경망과 같은 역할을 하므로, 그 내용이 손상되면 바이오스 설정 화면조차도 띄울 수가 없다. 이렇게 손상된 바이오스는 내장된 플래시 메모리를 교체하는 방법 말고는 복구할 수 있는 방법이 없다.

댓글