[용어 정리] 펌웨어(firmware)란?

[용어 정리] 펌웨어(firmware)란?

펌웨어가 나오게 된 배경

  • 새로운 소프트웨어가 등장할 때마다 그에 해당하는 기능을 갖춘 논리 회로를 추가한 하드웨어를 새로 만들 수도 있지만, 그렇게하면 시간 면에서 큰 낭비
  • 그래서 개발자들은 하드웨어 내부의 제어 부분에 공간을 만들어, 그것에 논리 회로의 기능을 보강하거나 대신 할 수 있는 프로그램을 넣을 수 있게 함 = 펌웨어


펌웨어

  • 하드웨어를 제어하는 가장 기본적인 프로그램
  • PROM 내에 삽입되어, 영구적으로 컴퓨터 장치의 일부가 되는 프로그램
  • 일반적으로 ROM에 저장된 하드웨어를 제어하는 마이크로 프로그램
    • ROM : 저장된 데이터의 수정이 불가능함
    • 요즘은 전원이 꺼진 후에도 전원이 꺼진 후에도 저장 데이터의 내용이 지워지지 않는 EPROM이나 플래시메모리가 개발되면서 비교적 수월하게 펌웨어의 내용을 수정할 수 있게 되었음

  • 프로그램이라는 관점에서는 소프트웨어와 동일하지만
    • 하드웨어와 밀접한 관계를 가지고 있다는 점에서 일반 응용 소프트웨어와 구분됨
    • 펌웨어는 소프트웨어와 하드웨어의 특성을 모두 가지고 있음
      • ex) 어떤 기능을 발휘하는 하드웨어를 만들 때, 그것을 제어하는 모든 회로를 하드웨어로만 만들면, 그 구조도 대단히 복잡해지고 심지어 논리적인 표현을 하기 어려운 부분도 발생
        -> 이런경우 상당부분을 소프트웨어로 대체하돼 그 소프트웨어가 저장된 기억장치를 하드웨어의 제어 회로중의 중심으로 구성
  • 펌웨어의 가장 대표적인 예



출처 

댓글

이 블로그의 인기 게시물

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?

[Python] # -*- coding: utf-8 -*-를 쓰는 이유