1. 커널
운영체제는 커널과 시스템 프로그램으로 나눌 수 있다. 여기서 시스템 프로그램은 시스템 콜을 사용하는 응용 프로그램이 된다.
자원 관리 등 흔히 생각하는 OS의 역할은 커널 부분이다. 즉, 운영체제의 핵심.
운영체제는 사용자나 응용 프로그램이 하드웨어에 직접 접근하는 것을 방지하기 위해 Kernel Mode와 User Mode로 나뉜다.
두 모드는 System Call을 통해서 전환된다.
운영체제는 외부(사용자나 응용 프로그램)에서 '시스템 콜' 을 통해 커널에 접근하도록 하며, 커널에서 '드라이버' 를 통해 하드웨어를 제어하는 구조로 되어있다.
2. 쉘
커널은 사용자가 직접 접근하지 못하며, 쉘을 통해서 명령을 전달한다.
위에 커널을 설명할 때, 사용자는 시스템 콜을 통해서 접근한다고 서술했다. 그럼 쉘이 시스템 콜인가?
결론적으로 쉘은 시스템 콜을 호출하는 프로그램이며, 시스템 프로그램 중 하나다.
쉘은 자연어 형식의 대화형 인터페이스이며, 사용자와 OS 간 대화를 중개하는 인터페이스다.
쉽게 말해, 사용자와 운영체제 간 명령어 해석기이다. (통역사 역할)
※ 요약
커널이란, 자원(프로세스, 메모리, 파일 시스템 등)을 관리하는 프로그램이며, 운영체제의 핵심이다.
쉘이란, 사용자가 커널에 쉽게 접근할 수 있는 인터페이스이다. (명령어 해석기)
사용자나 응용 프로그램이 하드웨어에 직접 접근하지 못하도록 하며, 커널이 하드웨어 제어를 하므로 커널을 통해야만 한다.
또한, 사용자나 응용 프로그램은 시스템 콜을 통해서 커널에 접근할 수 있다.
사용자의 경우 쉘이라는 시스템 프로그램을 이용하여 보다 편리하게 커널에 접근할 수 있다.
(( 사용자 or 응용프로그램 )) ←--- 시스템 콜 ---→ (( 커널 )) ←--- 드라이버 ---→ (( 하드웨어 ))
'개념 공부 > 운영체제' 카테고리의 다른 글
| Mutual Exclusion Q&A (0) | 2025.05.19 |
|---|