본문 바로가기
전공 관련 (Major)/임베디드 소프트웨어 (Embedded Software)

펌웨어, 커널, 운영 체제의 개념과 차이

by Jayce_choi 2021. 1. 19.
반응형

 

이번 글에서는 펌웨어, 커널, OS에 대해 적어보도록 하겠습니다.

펌웨어 (Firmware)

펌웨어는 일반적으로 롬(ROM)에 저장된 하드웨어를 제어하는 마이크로 프로그램으로 즉, 주변 장치들이 각자의 기능대로 작동하기 위해서 필요한 가장 최소한의 기본적인 프로그램을 뜻합니다. 보통 장치가 공장에서 제조될 때 ROM에 기록됩니다. 

펌웨어는 소프트웨어와 하드웨어의 특성을 모두 가지고 있다고 할수있는데 특정한 기능을 발휘하는 하드웨어를 제작 시에 그것을 제어하는 모든 회로를 하드웨어로 구성하게 되면 매우 복잡해집니다. 때문에 이러한 부분들을 소프트웨어로 해결을 하게 되는데 소프트웨가 저장된 기억장치를 하드웨어의 제어 회로 중의 중심 부분으로만 구성하면 간단하면서 적은 비용으로 효율적이게 해결할 수 있게 되는데 이러한 소프트웨어를 펌웨어라고 합니다. 

그러나 펌웨어는 일반적인 소프트웨어랑은 다르게 공장에서 제조될때 한번 입력된 이후 특별한 프로그램이나 기계의 도움 없이는 일반 사용자가 변경하거나 삭제가 불가능합니다. 또한 펌웨어는 해당 장치에 같은 형태로 남아있기 때문에 전원에 상관없이 존재합니다. 

펌웨어는 특정 목적을 가진 프로그램이기 때문에 예시로는 카메라의 버튼 기능들이나 TV, 휴대전화와 같은 기기에 있는 기능들을 생각하시면 되겠습니다. 

 

운영체제 (Operation System)

출처 : https://pc-tablet.com/how-do-the-most-popular-operating-systems-compare/

운영 체제는 우리가 흔히 사용하는 윈도우 10, 리눅스, 맥 등의 프로그램을 말합니다. 좀 더 나아가서 OS는 기기의 모든 하드웨어와 소프트웨어를 관리하는 컴퓨터 시스템 관리자라고 정의할 수 있습니다. OS가 이러한 총체적인 역할을 하기 위해서는 펌웨어와 드라이버라는 소프트웨어를 이용합니다. 2가지를 이용하여 CPU와 주변 장비들을 관리하고 결국은 현재 우리가 노트북으로 보고 있는 응용 프로그램이 실행되는 환경까지 제공할 수 있습니다. 하단의 그림과 같이 OS는 application과 Hardware 사이에 위치하여 중간자 역할을 수행합니다. 

출처 : https://en.wikipedia.org/wiki/Operating_system

커널 (Kernel)

크게 2가지 영역이 있습니다. 사용자 영역과 커널 영역으로 사용자 영역은 실제 사용자가 응용프로그램들을 다루고 이용하는 공간입니다. 그리고 커널 영역 같은 경우 프로그램이 안전하고 효율적으로 작동하게 해주기 위한 관리 영역입니다. 커널 은 운영체제의 심장으로 비유되기도 하는데 커널 영역은 운영체제 안에 속해져 있는데 즉 응용 프로그램들을 위해서 존재하는 매우 핵심적인 역할을 수행하는 부분이기에 주로 CPU, 메모리, 입출력 장치 등과 같은 자원들에 대해서 프로세서 제어 및 관리를 담당합니다. 

출처 : https://minnie.tuhs.org/CompArch/Lectures/week07.html

반응형

댓글