[컴퓨터 기초] 커널(Kernel)과 쉘(Shell)

728x90

간단하게 커널과 쉘의 개념에 대해 알아보도록 하겠습니다.

커널과 쉘

사용자가 입력한 명령어는 일련의 과정을 거쳐 하드웨어를 제어하게 됩니다. 사용자가 명령어를 작성하고 조작하기까지 이 사이에는 몇 가지의 과정을 거쳐서 수행을 하게 되는데, 우리가 명령어를 입력하게 되면 컴퓨터 내부에서는 쉘(Shell) 이 이를 받아들이고, 명령어를 해석하여 커널(Kernel) 을 통해 하드웨어를 조작합니다. 즉, 제일 하단에는 하드웨어가 있고, 그 위에는 커널, 커널위에는 쉘, 그리고 쉘 위에는 사용자가 존재하여 사용자 유저의 입력을 받게 됩니다.

커널과 쉘

커널

커널은 운영체제의 핵심입니다. 쉽게 말해, 소프트웨어와 하드웨어간의 커뮤니케이션을 관리하는 프로그램입니다.
운영체제에서 가장 중요한 구성요소로서 입출력을 관리하고 소프트웨어로부터의 요청을 컴퓨터에 있는 하드웨어(CPU, 메모리, 저장장치등)가 처리 할 수 있도록 요청을 변환하는 역할을 합니다. 이렇게 하드웨어를 관리하고 필요한 프로세스를 나눠주는 등 여러 시스템 자원을 제어하고, 컴퓨터 부팅시 부트로더에 의해 로드되어 항상 메모리에 상주하게 됩니다.

사용자와 운영체제간에 대화를 가능하게 해주는 명령어 해석기 역할을 말합니다.

처리 과정

사용자(명령) -> 쉘(해석) -> 커널(명령 수행 후 결과 전송) -> 쉘(해석) -> 사용자(결과 확인)