System Call Boundary

시스템 콜은 커널 경계를 넘는 호출이다

라이브러리 함수는 사용자 공간에서 실행될 수 있지만, 실제 하드웨어 자원 접근은 시스템 콜을 통해 커널 모드에서 처리됩니다.

Appprintf, open 호출
Library버퍼링과 래핑
Trap시스템 콜 진입
Kernel자원 접근 수행
01

호출 준비

시스템 콜 번호와 인자를 정해진 레지스터에 배치합니다.

02

모드 전환

CPU가 사용자 스택에서 커널 스택으로 실행 맥락을 바꿉니다.

03

커널 처리

파일 디스크립터, 권한, 주소 범위를 확인하고 작업합니다.

04

결과 반환

읽은 바이트 수나 에러 코드를 사용자 공간으로 돌려줍니다.

이해 기준

  • 모든 함수 호출이 시스템 콜은 아니며, 커널 경계를 넘는지가 기준입니다.
  • 버퍼링은 시스템 콜 횟수를 줄여 입출력 비용을 낮춥니다.
  • 시스템 콜은 편의보다 보호와 자원 제어를 위해 존재합니다.

대표 영역

processfork, exec, wait
fileopen, read, write
memorymmap, brk
deviceioctl