운영체제는 사용자를 위한 것이라기보다, 사용자가 실행하는 프로그램을 위한 프로그램이다.
응용 프로그램이 올바르게 실행되도록 돕고, 필요한 시스템 자원을 할당해 주는 핵심 역할을 수행한다.
운영체제는 현존하는 프로그램 중 가장 규모가 큰 프로그램 중 하나이며, 그 핵심 서비스가 바로 커널이다.
참고: 커널에 포함되지 않는 것
사용자가 접하는 사용자 인터페이스(UI)는 운영체제의 일부이지만, 커널에는 포함되지 않는다.
- GUI (Graphic User Interface): 바탕화면, 아이콘 등 그래픽 기반
- CLI (Command Line Interface): 터미널 등 명령어 기반

운영체제는 응용 프로그램이 하드웨어 자원(CPU, 메모리, 하드디스크 등)에 함부로 접근하지 못하도록 '문지기' 역할을 하여 자원을 보호한다. 이 보호 메커니즘이 바로 이중 모드이다.
CPU가 명령어를 실행하는 모드를 사용자 모드와 커널 모드로 구분하여 관리하는 방식이다.
| 구분 | 사용자 모드 (User Mode) | 커널 모드 (Kernel Mode) |
|---|---|---|
| 정의 | 운영체제 서비스를 제공받을 수 없는 실행 모드 | 운영체제 서비스를 제공받을 수 있는 실행 모드 |
| 대상 | 일반적인 응용 프로그램 (웹 브라우저, 게임 등) | 운영체제 (커널) |
| 권한 | • 커널 영역 코드 실행 불가 • 하드웨어 자원 접근 명령어(입출력 등) 실행 불가 | • 커널 영역의 모든 코드 실행 가능 • 모든 하드웨어 자원에 접근 가능 |
사용자 모드로 실행되는 프로그램이 하드웨어 자원 접근 등 운영체제의 기능이 필요할 때, 운영체제에게 커널 모드로 전환을 요청하는 것이다.

커널은 시스템 호출을 통해 다음과 같은 핵심 기능을 제공한다.