BIOS? 펌웨어? 커널은 뭐야? - 용어정리

 Base point : OS 개념

  커널을 설명하기 위해 일단 운영체제(OS : OperatinSystem)에 대한 개념을 이미 알고 있다는 가정하에서

글을 작성해본다.

 

모든 컴퓨터 머신 즉, 일반적인 데스크탑 PC, 스마트폰 ,태블릿 더 나아가 서버 장비들에는

기본적으로 메인보드가 존재하는데 이 메인보드의 이피롬(EPROM) 또는 플래시 메모리 칩안에 

바이오스(BIOS)라는 펌웨어(firmware)가 존재한다.

 

BIOS = firmware 라고 기억하자.

 

※. 펌웨어?

 갤럭시던 아이폰이던 스마트폰을 사용했을 때 자주 접했을 단어인 펌웨어 (firmware)

 

이는 제어 프로그램의 일종으로 하드웨어 내부에 위치한 소프트웨어이다.

이러한 펌웨어는 제품 생산시에 탑재된 이후에는 해당 프로그램을 변경하지 않는 것이 관례였으나

 

최근에는 지속적인 제품의 성능 향상 및 오류 개선을 위해 제품 출시 이후에도 제조사에서는 펌웨어를 업데이트해서

소비자들에게 새로 배포하는 경우가 늘어나고 있다.

 

 이 BIOS라는 녀석이 하드웨어와 소프트웨어를 연결해주는 역할을 한다.

즉 BIOS라는 녀석이 PC에 탑재된 모든 하드웨어 및 소프트웨어의 기본적인 동작을 제어하게된다.

 ( OS도 소프트웨어이다 ..)

 

이 바이오스라는 녀석이 소프트웨어인 OS를 부팅하는 역할을 하고 있기 때문에 우리는 마음만 먹으면

PC에다가 디스크를 2개이상 설치해서 각각의 디스크에 운영체제를 설치해서  2개이상의 운영체제를 사용하여

부팅순서만 바꿔주면 컴퓨터를 재부팅할 때 마다 다른 OS를 사용할 수도 있다.

 

그럼 BIOS 녀석 덕분에 소프트웨어인 OS가 메모리에 올라와서 실행될 수 있긴한데

OS같이 규모가 큰 프로그램이 모두 메모리에 올라간다면 이는 실로 매우 메모리 공간의 낭비가 심하다.

따라서 이때 메모리에 상주할 OS의 일부분만을 떼어내서 메모리에 올려놓는데 

이 메모리에 상주할 OS의 일부분을 바로 '커널'(Kernel)이라고 한다.

 

그래서 커널을 좁은 의미에서의 운영체제라고도 한다.

 

다시 한번 정리하자면

'커널(Kernel)이란, 메모리에 상주하는 운영체제의 일부분으로써 운영체제의 핵심적인 부분'이라고 할 수 있다.