Computer >> 컴퓨터 >  >> 시스템 >> Mac

펌웨어란 무엇일까? 소프트웨어·하드웨어와의 차이까지 쉽게 이해하기

펌웨어는 우리 주변 어디에나 있습니다

프린터가 문서를 인쇄하고, 제세동기가 심장을 되살리고, 자동차 라디오에서 음악이 흘러나올 수 있는 것은 모두 펌웨어(firmware) 덕분입니다. 펌웨어는 하드웨어나 소프트웨어만큼이나 우리 생활 곳곳에 존재하지만, 막상 그 개념을 명확하게 설명하기는 쉽지 않습니다.

이 글에서는 어려운 기술 용어 없이 '요리'라는 친숙한 비유를 통해 소프트웨어 → 하드웨어 → 펌웨어 순서로 차근차근 설명합니다. IT가 처음인 분도 부담 없이 읽을 수 있도록 구성했으니 끝까지 함께해 보세요.

이 글에서 다루는 내용

  • 소프트웨어란 정확히 무엇인가?
  • 하드웨어란 정확히 무엇인가?
  • 펌웨어란 정확히 무엇인가?
펌웨어란 무엇일까? 소프트웨어·하드웨어와의 차이까지 쉽게 이해하기

소프트웨어란?

오늘 저녁 메뉴가 고민된다고 상상해 봅시다. 다행히 오래된 요리책이 하나 있고, 그중 한 가지 레시피를 골라 요리하기로 했습니다.

요리책에는 여러 레시피가 담겨 있고, 각 레시피에는 조리 순서가 적혀 있습니다. 즉 요리책레시피란 하나의 요리(결과물)를 완성하기 위한 단계별 지침의 집합이라 할 수 있습니다.

펌웨어란 무엇일까? 소프트웨어·하드웨어와의 차이까지 쉽게 이해하기

다양한 레시피를 만들어 본 경험이 쌓이면, 스스로 새로운 요리를 창조할 수도 있습니다. 소프트웨어의 세계도 마찬가지입니다.

소프트웨어 프로그램이란 서로 협력하여 하나의 프로그램을 이루는 명령어들의 집합입니다. 실제로 기계어(어셈블리) 수준에서 보면 소프트웨어는 이런 명령어들의 나열입니다.

 global  _main
    extern  _printf

    section .text
_main:
    push    message
    call    _printf
    add     esp, 4
    ret
message:
    db  'Hello, World', 10, 0
어셈블리(기계어)로 작성된 "Hello, World" 출력 코드

여기서 한 단계 더 나아가면, 애플리케이션은 특정 작업을 수행하는 대규모 명령어 집합이고, 운영체제는 소프트웨어와 하드웨어 자원을 총괄 조율하는 더 큰 규모의 명령어 집합입니다.

  • 요리책 = 소프트웨어
  • 요리책의 종류 = 소프트웨어의 종류 (애플리케이션 또는 운영체제)
  • 레시피 = 프로그램

저녁을 만들려면 레시피가 필요하고, 요리책의 단계를 하나씩 따라가야 합니다. 모든 과정을 마쳤을 때 비로소 저녁 상이 준비됩니다.

컴퓨터도 같습니다. 특정 작업을 수행하려면 소프트웨어가 반드시 필요하며, 컴퓨터는 소프트웨어에 담긴 명령어를 하나하나 실행해야만 동작합니다. 즉 소프트웨어는 명령어가 실행되는 동안, 그리고 실행이 완료된 후에도 계속 작동하거나 결과로 남습니다.

펌웨어란 무엇일까? 소프트웨어·하드웨어와의 차이까지 쉽게 이해하기

하드웨어란?

펌웨어란 무엇일까? 소프트웨어·하드웨어와의 차이까지 쉽게 이해하기

요리를 하려면 레시피뿐 아니라 냄비, 팬, 칼 같은 조리 도구재료도 필요합니다. 이것이 바로 하드웨어(hardware)에 해당합니다.

요리책이 조리 방법을 알려주듯, 하드웨어 역시 무엇을 해야 하는지 알려주는 지침, 즉 소프트웨어가 있어야 비로소 움직입니다.

펌웨어란 무엇일까? 소프트웨어·하드웨어와의 차이까지 쉽게 이해하기
  • 조리 도구와 재료 = 하드웨어
  • 레시피 = 소프트웨어

소프트웨어 없이는 하드웨어를 작동시킬 수 없습니다. 레시피 없이는 도구와 재료를 어떻게 다뤄야 할지 알 수 없는 것과 같습니다. 물론 재료만으로 끼니를 때울 수야 있겠지만… 날 음식을 그대로 먹는 것과 다를 바 없겠죠.

요리의 종류가 다양한 것처럼, 컴퓨터 하드웨어 역시 매우 다양합니다.

  • CPU (중앙처리장치)
  • RAM (메모리)
  • GPU (그래픽 처리 장치)
  • 그 외 수많은 부품들…
펌웨어란 무엇일까? 소프트웨어·하드웨어와의 차이까지 쉽게 이해하기
프로세서(연산 처리) 비교

펌웨어란?

펌웨어란 무엇일까? 소프트웨어·하드웨어와의 차이까지 쉽게 이해하기

프로그램은 컴퓨터가 읽어 들이는 명령어의 집합입니다. 그런데 잠깐, 간식이나 디저트 하나를 만드는 데 가족 전체 저녁 식사만큼의 재료가 필요할까요? 당연히 필요 없습니다.

마찬가지로 전자레인지를 구동하는 소프트웨어를 만든다면, 범용 컴퓨터의 모든 하드웨어가 필요할까요? 아닙니다. 전자레인지가 동작하는 데 꼭 필요한 것만 있으면 됩니다. 프린터도 마찬가지입니다. 프린터를 구동하는 데 필요한 소프트웨어만 있으면 충분합니다.

  • 전자레인지용 소프트웨어 = 펌웨어
  • 프린터용 소프트웨어 = 펌웨어

정리하면, 펌웨어는 특정 하드웨어 장치에 내장되어 그 기기를 구동하는 소프트웨어입니다. 범용 컴퓨터 위에서 실행되는 일반 소프트웨어와 달리, 펌웨어는 특정 하드웨어가 특정 작업을 수행하도록 설계된 전용 소프트웨어입니다.

조금 더 덧붙이자면, 펌웨어는 보통 ROM이나 플래시 메모리 같은 비휘발성 저장 장치에 저장되므로 전원이 꺼져도 내용이 사라지지 않습니다. PC의 BIOS·UEFI, 공유기, TV, 세탁기 등 가전제품의 제어 프로그램이 대표적인 예이며, 제조사는 버그 수정이나 성능 개선을 위해 '펌웨어 업데이트'를 배포하기도 합니다.

마무리하며

여기까지 잘 따라오셨다면, 이제 다음 세 가지 개념을 확실하게 구분할 수 있습니다.

  • 소프트웨어: 컴퓨터에게 무엇을 할지 알려주는 명령어의 집합
  • 하드웨어: 그 명령어를 실제로 실행하는 물리적 장치
  • 펌웨어: 특정 하드웨어에 내장되어 해당 기기를 구동하는 전용 소프트웨어

읽어 주셔서 감사합니다!