시스템콜은 무엇이며 언제 발생하나요

김키핑·2026년 3월 1일
post-thumbnail

시스템콜의 정의

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

프로그램이 커널의 기능을 요청하기 위해 운영체제를 호출하는 방식.

시스템 콜은 정글 보안팀과 같은 역할을 한다. 왜인지 왜곡된 그곳의 이미지는 잊자

프로그램은 유저모드에서 실행되므로 파일, 메모리, 프로세스, 네트워크와 같은 보호된 자원과 하드웨어에 직접 접근할 수 없다.

따라서 파일 처리, 프로세스 생성, 메모리 관리등으로 보호된 자원에 접근이 필수적인 작업이 필요할 경우 커널모드로 전환하여 운영체제의 기능을 요청해야 한다.

이때 운영체제의 커널 루틴을 호출하여 서비스를 제공받는 방식을 시스템 콜이라고 한다.


기능

  1. 유저 모드에 있는 응용 프로그램이 커널의 기능을 사용할 수 있도록 한다.
  2. 시스템 호출을 하면 유저 모드에서 커널 모드로 바뀐다.
  3. 커널에서 시스템 호출을 처리하면 커널 모드에서 유저 모드로 돌아가 작업을 계속한다.

시스템 호출의 유형

1.프로세스 제어(process control)
2. 파일 조작(file manipulation)
3. 장치 관리(device management)
4. 정보 유지(information maintenance)
5. 통신(communication)


시스템콜의 발생

유저 모드에서 실행 중인 어플리케이션에서 커널에게 어떤 서비스를 요청할 때 발생함.


더 알아보기

유저모드 vs 커널모드

운영체제는 시스템의 안정성과 보안을 위해 CPU(중앙처리장치) 실행 권한을 두 가지 모드로 나누어 관리한다.

유저모드

일반 응용 프로그램이 실행되는 모드로 제한된 권한만을 가진다.

커널모드

운영체제가 실행되는 모드. 모든 하드웨어 자원에 접근 가능

특징

구분유저모드 (User Mode)커널모드 (Kernel Mode)
실행 주체일반 응용 프로그램운영체제의 커널
접근 권한제한적 권한모든 권한
하드웨어 접근직접 접근 불가직접 접근 가능
메모리 접근자기 프로세스 영역만 접근 가능모든 메모리 영역 접근 가능
시스템 자원 제어직접 제어 불가CPU, 메모리, 디스크 등 직접 제어
안정성오류 발생 시 해당 프로세스만 영향오류 발생 시 시스템 전체에 영향 가능
모드 전환시스템 콜, 인터럽트 발생 시 커널모드로 전환작업 완료 후 유저모드로 복귀
profile
양치기소녀

0개의 댓글