시스템 호출

1 개요[ | ]

system call
시스템 호출, 시스템 콜
  • OS 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스
  • 시스템(OS)의 코어 기능을 수행해달라는 요청(호출), 그것을 처리하는 체계
프로세스 제어, 파일 관리, 장치 관리, 통신 등에 관한 요청
  • 커널 내부에 호출을 받는 부분이 있음
  • 특권이 있어야 직접 호출·처리 가능
  • 예: C 프로그램은 C 라이브러리의 wrapper 함수를 통해 시스템 호출에 접근함
Wrapper는 보통 함수 인자를 설정하고 trap 명령을 실행 하는 최소한의 역할을 하지만 truncate()와 같은 함수 는 파일의 길이 검사 등을 수행하기도 함
  • 모든 시스템 호출은 고유한 숫자가 있음
__NR_foo 또는 SYS_foo ( <sys/syscall.h> 참조 )
  • 스레드 ID를 반환하는 gettid()와 같은 시스템 호출은 wrapper 없이 직접 실행되기도 함
  • 모든 시스템 호출에 대한 정보는 SYSCALLS(2) 참조[1]

 

 

2 같이 보기[ | ]

3 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}