사용자 모드 코드는 직접 장치나 커널 메모리에 접근하지 못하고 정해진 진입점으로 요청합니다.
시스템 콜 권한 전환
라이브러리 함수, 트랩, 모드 전환, 커널 서비스, 반환값을 순서대로 보면 커널 구조와 시스템 콜의 역할이 분리됩니다.
01라이브러리
→
02Trap 진입
→
03커널 검사
→
04서비스 수행
→
05errno 반환
모놀리식, 마이크로, 하이브리드는 성능과 격리 책임을 어디에 둘지의 차이입니다.
셸은 명령을 파싱해 fork, exec, wait, 파일 디스크립터 조작으로 실행 환경을 만듭니다.
반환값과 errno는 권한, 경로, 자원 부족 중 어느 검사가 막혔는지 전달하는 신호입니다.