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)이란, 메모리에 상주하는 운영체제의 일부분으로써 운영체제의 핵심적인 부분'이라고 할 수 있다.
'OS' 카테고리의 다른 글
OS별 환경변수 추가 명령어 (0) | 2023.09.03 |
---|---|
/etc/sysctl.conf 파일이란? (0) | 2023.01.29 |
VSCode 와 oh-my-zsh 글꼴깨짐현상 (0) | 2021.08.01 |
Powerlevel 10K - 터미널 커스터마이징 (0) | 2021.04.02 |
Windows 개발 환경 커스터 마이징 1 -WSL 설치하고 꾸미기 (0) | 2021.04.02 |