1) kernel : Hardware를 제어하는  운영체제의 핵심이다.

2) shell : 사용자가 명령을 입력하면 그 명령을 컴퓨터가 이해할 수 있도록 하는 프로그램

 

사용자는 이러한 커널을 직접적으로 제어할 수는 없다. 

그럼 사용자들은 커널을 어떻게 제어할 수 있는가 ? 

사용자들이 인지하기 쉬운, 자연어로 된 명령어를 입력하여 2) shell 이 해석하고 이 것을 커널에게 전달하여 하드웨어를 제어하는 것이다.


요약하면, 커널은 주로 하드웨어 자원(HDD, SSD, memory etc..)을 효율적으로 관리하기 위해서 필요한 요소라고 생각하면 된다. 

커널이 시스템 자원을 관리한다고 말했지만 관리가 일어나기 위해서는 어떤 명령이 실행된다던지 프로그램이 실행되어야 한다. 

그리고 보통 그런 명령의 실행은 유저의 입력에 의한 것이 대부분이다. 이 떄 유저의 입력을 어떻게 받아서 처리 할 것인지를 결정하고 도와주는 녀석이 바로 쉘이다.

+ Recent posts