시스템 호출: 두 판 사이의 차이
내용 삭제됨 내용 추가됨
잔글 →바깥 고리 |
|||
63번째 줄:
다음과 같은 절차로 응용프로그램 함수가 커널의 함수와 연결된다:
# 응용프로그램에서 open(...) 함수를 실행하면
# 소프트웨어 인터럽트에 의해 ISR(Interrupt Service Routine)이 있는 커널의 인터럽트 처리
# 많은 시스템 호출 함수중에 해당 인터럽트 벡터숫자를 이용해 함수의 위치를 탐색하고 해당주소로 점프한다.
# mydrv_open()함수의 '''return'''에 따라 커널의 함수 호출이 완료되고, 커널은 다시 해당
만약 write함수나 read 함수의 호출에 의해, 커널의 함수가 호출된 후 return에 의해 종료되지 않으면 응용프로그램은 스케쥴링에서 빠져 커널의 상태에서
▲만약 write함수나 read 함수의 호출에 의해, 커널의 함수가 호출된 후 return에 의해 종료되지 않으면 응용프로그램은 스케쥴링에서 빠져 커널의 상태에서 머물르는 블럭킹 현상이 발생한다.
== 같이 보기 ==
* [[x86 호출 규약#syscall]]
|