B.1. 시스템 콜의 흐름

리눅스 내에서 시스템 콜이 발생하면 진행되는 흐름은 다음과 같다.

  1. 사용자 프로세스

  2. libc.a

    • 아규먼트 스택에 넣음

    • 시스템 콜 번호 저장

    • 트랩(trap) 발생

  3. system_call()

    • IDT에 의해 트랩을 시작

    • 진짜 핸들러 실행

    • sys_call_table 사용

  4. 진짜 시스템 콜 핸들러