본문 바로가기
개발자 일지/Linux

커널(kernel)과 쉘(shell)에 관하여

by 네빌링 2021. 2. 22.
반응형

-운영체제(리눅스)를 구성하는 두 가지 요소인 커널과 쉘에 대해 알아본다.


커널(kernel)이란?


'커널'이란 운영체제(OS)의 두 가지 구성요소 중 하나이다. 커널은 하드웨어를 직접적으로 제어하는 운영체제의 핵심이며 프로세스 관리, 메모리 관리, I/O 시스템 관리, 파일 시스템 관리 등을 수행한다. 흔히 리눅스의 우분투, 센토스 등의 배포판은 리눅스 커널을 기반으로 만들어졌다고 보면 된다. 리눅스 커널을 기반으로 만들어진 배포판들을 흔히 리눅스라고 칭한다.

커널은 리눅스가 부팅될 때 메모리로 로드된다.

쉘(shell)이란?


'쉘'이란 운영체제(OS)의 두 가지 구성요소 중 나머지 하나이다. 쉘은 커널을 컨트롤할 수 있으며 커널은 하드웨어를 컨트롤한다. 즉, 하드웨어를 유저가 컨트롤하기 위한 인터페이스라고 볼 수 있다.

쉘의 종류는 bash, zsh 등이 있다.

사용가능한 쉘의 목록을 확인하려면 다음과 같이 명령어를 입력한다.

cat /etc/shells을 입력하면 사용가능한 쉘의 종류를 확인 가능


커널과 쉘의 관계도 및 흐름


유저,쉘,커널의 관계도



유저가 CLI를 통해 명령어를 입력하면 명령어가 쉘에게 전달된다. 쉘이 명령어를 커널이 이해할 수 있게 번역해 커널에게 넘긴다. 커널은 이 명령어를 통해 하드웨어를 컨트롤하여 다시 유저에게 output처리를 한다.



출처 : 생활코딩 리눅스 강의, studymake.blogspot.com/

반응형