유저모드에서 직접 수행할 수 없는 보호된 자원에 접근하기 위해 운영체제의 커널 루틴을 호출하여 서비스를 이용하는 것.
프로그램이 커널의 기능을 요청하기 위해 운영체제를 호출하는 방식.

시스템 콜은 정글 보안팀과 같은 역할을 한다. 왜인지 왜곡된 그곳의 이미지는 잊자
프로그램은 유저모드에서 실행되므로 파일, 메모리, 프로세스, 네트워크와 같은 보호된 자원과 하드웨어에 직접 접근할 수 없다.
따라서 파일 처리, 프로세스 생성, 메모리 관리등으로 보호된 자원에 접근이 필수적인 작업이 필요할 경우 커널모드로 전환하여 운영체제의 기능을 요청해야 한다.
이때 운영체제의 커널 루틴을 호출하여 서비스를 제공받는 방식을 시스템 콜이라고 한다.
1.프로세스 제어(process control)
2. 파일 조작(file manipulation)
3. 장치 관리(device management)
4. 정보 유지(information maintenance)
5. 통신(communication)
유저 모드에서 실행 중인 어플리케이션에서 커널에게 어떤 서비스를 요청할 때 발생함.
운영체제는 시스템의 안정성과 보안을 위해 CPU(중앙처리장치) 실행 권한을 두 가지 모드로 나누어 관리한다.
일반 응용 프로그램이 실행되는 모드로 제한된 권한만을 가진다.
운영체제가 실행되는 모드. 모든 하드웨어 자원에 접근 가능
| 구분 | 유저모드 (User Mode) | 커널모드 (Kernel Mode) |
|---|---|---|
| 실행 주체 | 일반 응용 프로그램 | 운영체제의 커널 |
| 접근 권한 | 제한적 권한 | 모든 권한 |
| 하드웨어 접근 | 직접 접근 불가 | 직접 접근 가능 |
| 메모리 접근 | 자기 프로세스 영역만 접근 가능 | 모든 메모리 영역 접근 가능 |
| 시스템 자원 제어 | 직접 제어 불가 | CPU, 메모리, 디스크 등 직접 제어 |
| 안정성 | 오류 발생 시 해당 프로세스만 영향 | 오류 발생 시 시스템 전체에 영향 가능 |
| 모드 전환 | 시스템 콜, 인터럽트 발생 시 커널모드로 전환 | 작업 완료 후 유저모드로 복귀 |