반응형

셸과 커널

이 개념을 다루기 전에 리눅스에서 명령어가 어떻게 실행이 되는지 알아보겠습니다. 간단하게 현재의 날짜와 시간을 출력하는 date 명령어를 실행했다고 가정해보겠습니다.

 

  1. 키보드로 date를 입력합니다.
  2. date 문자열을 받아들입니다.
  3. date 명령어를 찾습니다.
  4. 발견한 명령어를 실행합니다.
  5. 실행한 결과로 얻은 문자열을 화면에 표시합니다.

 

이 과정에서 명령어를 입력하는 부분이 "셸"입니다. 그리고 명령어가 입력된 후 해당하는 명령어를 찾아 실행 및 사용자 화면에 출력하는 부분을 "커널"이 담당합니다. 간단하게 이미지로 표현하면 다음과 같다고 볼 수 있습니다.

 

 

 

이처럼 커널을 셸이 감싸고 있는 모습 때문에 Shell(조개 껍질)이라는 이름이 붙었다고도 볼 수 있습니다. 이렇게 셸과 커널은 깊은 연관이 있지만 둘로 나눠 사용하는 이유는 개발 용이성과 사용 편의성 때문입니다. 커널을 굳이 바꾸지 않아도 다른 셸을 탑재해 테스트를 신속하게 진행해볼 수 있고, 역할이 나뉘는 만큼 운영체제가 단순화됨으로 효율성 또한 올라갑니다.

반응형