shell : 주변, 껍데기 ...
kernel : 핵심, 코어 ...
하드웨어 : 기계적인 부분 (메모리, 하드디스크, ssd, cpu 등)
kernel : 물리적인 기계를 제어하는, 운영체제에서 가장 중심이 되는 코어
shell : kernel을 직접 제어하는 것은 어려운 일이기 때문에 사람이 이해하기 쉬운 형태의 명령어를 입력하면, 그 shell에 해당하는 프로그램들이 해석해서 kernel에게 전달해주는 것 (한 마디로, 사용자가 입력한 명령을 해석하는 프로그램)
ls -al 같은 명령어를 입력한다고 생각해보자.
1) shell에게 명령을 입력하면, shell은 내가 입력한 명령을 해석해서 kernel이 이해할 수 있는 방식으로 kernel에게 전달해줌
3) kernel은 하드웨어를 제어해서 어떠한 처리를 수행할 수 있도록 명령하고
3) 하드웨어(기계)는 기계가 동작하면서 그 처리 결과를 kernel에게 알려줌 -> kernel은 shell에게 알려줌
-> (ls -al) 실행 결과를 우리는 확인 가능
-> (추정) 여러개의 shell이 생길 수 있다는 의미는, 내게 맞는 shell 프로그램을 선택해서 kernel을 제어할 수 있는 장점과 마찬가지.
[Linux] Shell script (chomod +x 파일이름) (0) | 2022.01.16 |
---|---|
[Linux] bash vs zsh (0) | 2022.01.16 |
[Linux] IO Redirection - input (output에 비해 중요도는 떨어짐) (0) | 2022.01.16 |
[Linux] IO Redirection - output (0) | 2022.01.16 |
[Linux] cli를 사용하는 이유 (feat. pipleline) (0) | 2022.01.16 |