Mode Switch

시스템 콜 경계

프로그램이 파일, 프로세스, 메모리 같은 민감한 자원을 직접 만지지 못하게 하고, 정해진 시스템 콜을 통해 커널에 요청하게 합니다.

User

라이브러리 호출

printf, open 같은 함수가 내부적으로 시스템 콜을 호출할 수 있습니다.

Trap

커널 진입

CPU가 모드를 전환하고 커널이 요청 번호와 인자를 검사합니다.

Kernel

권한 있는 실행

파일, 장치, 메모리 같은 보호 자원에 대해 실제 작업을 수행합니다.

Return

결과 반환

성공 값이나 오류 코드를 사용자 프로그램으로 돌려주고 다시 사용자 모드로 나갑니다.

user code -> libc wrapper -> syscall/trap -> kernel -> return value