티스토리 뷰

운영 체제

시스템 콜

Power Adeventurer

지난 번 포스팅에서는 OS가 무엇이고, 어떤 역할을 하는 지 다뤘다. 오늘은 시스템 콜에 대해 다뤄보려고 한다.

시스템 콜은 OS와 소통하기 위한 창구로, 주로 API를 통해 접근 가능하다. 

 

프로그램의 실행 환경은 시스템 콜에 접근하기 위한 인터페이스를 제공한다. 

시스템 콜 호출 흐름은 다음과 같다.

시스템 콜의 흐름

1. 애플리케이션의 시스템 콜 API 함수 사용

2. 시스템 콜 인터페이스의 인터럽트

3. 해당 함수에 대응되는 시스템 콜 인덱스 테이블을 통해 시스템 콜 호출 후 결과 반환

시스템 콜에 전달할 매개 변수는 보통 레지스터에 저장되나, 매개 변수가 많은 경우에는 메모리 등에 저장되고 저장된 위치를 레지스터에 저장한다.

시스템 콜의 종류

프로세스 관리

  • 프로세스 생성 및 제거
  • 프로세스 로드 및 실행
  • 프로세스 속성 설정 get/set
  • 이벤트 WAIT, SIGNAL
  • 메모리 할당 및 제거

파일 관리

  • 파일 생성 및 제거
  • 파일 열기, 닫기, 저장
  • 파일 읽기, 쓰기
  • 파일 속성 설정 get/set

장치 관리

  • 장치 요청, 해제
  • 장치 열기, 닫기, 저장
  • 장치의 논리적 연결 상태 관리
  • 장치 속성 get/set

정보 유지

  • 시스템 데이터, 시간, 날짜, 파일, 장치, 프로세스 속성 관리

통신

  • 통신 연결 생성 및 제거
  • 메시지 주고 받기
  • 상태 정보 전달
  • 원격 장치 연결 및 해제

보호

  • 파일 권한 get/set

 

쉽게 볼 수 있는 시스템 콜 인터페이스를 제공하는 RTE 중 하나로 표준 C 라이브러리가 있다. printf 함수는 시스템 콜인 write()를 호출한다.

 

'운영 체제' 카테고리의 다른 글

CPU 스케쥴링  (0) 2026.04.02
쓰레드란?  (0) 2026.04.01
프로세스  (0) 2026.03.31
프로그램의 실행 원리  (0) 2026.03.31
!! Operating System !!  (0) 2026.03.28