"시스템 호출"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-==참고 자료== +==참고==))
 
(같은 사용자의 중간 판 3개는 보이지 않습니다)
2번째 줄: 2번째 줄:
;system call
;system call
;시스템 호출, 시스템 콜
;시스템 호출, 시스템 콜
* API를 통해 시스템 호출에 접근하게 하는 방법
* OS 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스
* 운영 체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스
* 시스템(OS)의 코어 기능을 수행해달라는 요청(호출), 그것을 처리하는 체계
:프로세스 제어, 파일 관리, 장치 관리, 통신 등에 관한 요청
* 커널 내부에 호출을 받는 부분이 있음
* 특권이 있어야 직접 호출·처리 가능
* 예: C 프로그램은 C 라이브러리의 wrapper 함수를 통해 시스템 호출에 접근함
:Wrapper는 보통 함수 인자를 설정하고 trap 명령을 실행 하는 최소한의 역할을 하지만 truncate()와 같은 함수 는 파일의 길이 검사 등을 수행하기도 함
* 모든 시스템 호출은 고유한 숫자가 있음
:<code>__NR_foo</code> 또는 <code>SYS_foo</code> ( <[[sys/syscall.h]]> 참조 )
* 스레드 ID를 반환하는 [[gettid()]]와 같은 시스템 호출은 wrapper 없이 직접 실행되기도 함
* 모든 시스템 호출에 대한 정보는 [[SYSCALLS(2)]] 참조<ref>http://man7.org/linux/man-pages/man2/syscalls.2.html</ref>


http://upload.wikimedia.org/wikipedia/commons/thumb/6/68/Linux_kernel_interfaces.svg/600px-Linux_kernel_interfaces.svg.png
http://upload.wikimedia.org/wikipedia/commons/thumb/6/68/Linux_kernel_interfaces.svg/600px-Linux_kernel_interfaces.svg.png

2017년 9월 19일 (화) 21:41 기준 최신판

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 }}