시스템 콜 인터페이스 (System-call Interface)
Jan 25, 2026
핵심 개념
섹션 제목: “핵심 개념”운영체제가 제공하는 시스템 콜에 대한 연결 역할을 하는 인터페이스로, API의 함수 호출을 가로채서 운영체제 내의 필요한 시스템 콜을 호출한다.
런타임 환경 (RTE)
섹션 제목: “런타임 환경 (RTE)”런타임 환경(Runtime Environment)은 특정 프로그래밍 언어로 작성된 응용 프로그램을 실행하는 데 필요한 전체 소프트웨어 모음이다.
- 구성 요소: 컴파일러나 인터프리터, 라이브러리, 로더 등
- 역할: 시스템 콜 인터페이스를 제공
시스템 콜 처리 과정
섹션 제목: “시스템 콜 처리 과정” 1 API 호출
사용자 응용 프로그램이 API 함수 호출 (예: open()) 2 인터페이스
시스템 콜 인터페이스가 호출을 가로챔 3 테이블 조회
해당 시스템 콜 번호를 찾아 커널의 구현을 호출 4 반환
시스템 콜 실행 후 상태를 반환 일반적으로 각 시스템 콜에는 번호가 연관되며, 시스템 콜 인터페이스는 이 번호에 따라 인덱싱된 테이블을 유지한다.
매개변수 전달 방법
섹션 제목: “매개변수 전달 방법”| 방법 | 설명 |
|---|---|
| 레지스터 | 가장 간단한 접근법. 매개변수를 레지스터에 전달 |
| 블록/테이블 | 매개변수가 레지스터보다 많을 때, 메모리의 블록에 저장하고 블록 주소를 레지스터에 전달 |
| 스택 | 프로그램이 매개변수를 스택에 push하고 운영체제가 pop |
Linux 접근법: 5개 이하의 매개변수는 레지스터 사용, 5개 초과 시 블록 방법 사용
호출자 관점에서의 추상화
섹션 제목: “호출자 관점에서의 추상화”- 호출자는 시스템 콜이 어떻게 구현되었는지 알 필요 없음
- API를 따르고 시스템 콜 실행 결과로 운영체제가 무엇을 할지만 이해하면 됨
- 운영체제 인터페이스의 대부분의 세부사항은 API에 의해 프로그래머로부터 숨겨지고 RTE에 의해 관리됨
트레이드오프
섹션 제목: “트레이드오프”- 장점:
- 구현 세부사항이 프로그래머로부터 숨겨짐
- API만 따르면 시스템 콜을 사용할 수 있음
- 단점: 추상화 계층으로 인한 약간의 오버헤드 존재 가능
관련 개념
섹션 제목: “관련 개념”- 시스템 콜 (System Call) - 시스템 콜 인터페이스가 연결하는 운영체제 서비스 요청 메커니즘
- API (Application Programming Interface) - 시스템 콜 인터페이스가 가로채는 API 함수 호출
- 시스템 콜 유형 (System Call Types) - 시스템 콜 인터페이스를 통해 접근하는 시스템 콜의 범주별 분류
- 트랩 (Trap) - 시스템 콜 인터페이스가 유발하는 커널 모드 전환 메커니즘
- Operating System Concepts, 10th Edition, Chapter 2, p.64-66