Untitled

Untitled

운영체제는 커널과 쉘로 구분된다.

사용자가 입력한 명령어는 일련의 과정을 거쳐 하드웨어를 제어하게 된다. 이 사이에는 몇 가지 과정을 거쳐서 수행하게 되는데, 우리가 명령어를 입력하면 컴퓨터 내부에서는 쉘(Shell)이 이를 받아들이고 명령어를 해석하여 커널(Kernel)을 통해 하드웨어를 조작한다.

커널(Kernel)

부팅 시 부트로더에 의해 메모리에 적재되어 메모리에 상주하는 운영체제의 핵심이다. 운영체제의 가장 중요한 요소로서 입출력을 관리하고, 소프트웨어의 요청을 받아 필요한 컴퓨터의 자원(메모리, CPU, 파일)을 할당해주는 역할을 한다.

⇒ 부트로더 : 운영 체제가 시동되기 이전에 미리 실행되면서 커널이 올바르게 시동되기 위해 필요한 모든 관련 작업을 마무리하고. 최종적으로 운영 체제를 시동시키기 위한 목적을 가진 프로그램

역할

쉘(Shell)

커널의 껍데기 역할을 하여 사용자가 운영체제에 접근하기 위해서는 쉘을 거쳐야 한다. 쉘은 사용자가 터미널에서 입력한 명령을 해석하고 관리하여 커널 사이를 연결하는 역할을 한다.

쉘은 일반적으로 CLI(Command Line Interface) 혹은 GUI(Graphic User Interface)로 분류된다.

사용자가 창, 아이콘, 메뉴와 같은 그래픽 요소를 사용하여 시스템과 상호작용한다.

사용자가 명령어를 기억할 필요 없이 드래그, 더블클릭 등으로 작업을 수행한다.

CLI보다 메모리 사용량이 많고 느리다.

ex) 검색창, 메뉴, 아이콘, 파일탐색기 등