2012-01-17 4 views
4

프로세스가 실행 중이고 시스템 호출을 호출한다고 가정하십시오. 그것은 이제 프로세스가 차단됨을 의미합니다. 모든 시스템 호출이 프로세스를 차단하고 상태를 실행에서 차단으로 변경합니까? 아니면 그 당시의 시나리오에 달렸습니까?시스템 호출 프로세스

+0

여기 http://unix.stackexchange.com 요청할 수 있습니다 –

+1

문제는 이론적 유형, 특히하지 유닉스이다를 잊어 버렸습니다. 그래서 맞는 곳입니다. –

답변

3

아니요, 프로세스가 차단되었음을 의미하지 않습니다. 일부 시스템 호출은 차단되고 일부는 호출되지 않습니다. 그러나 프로세스가 계속 실행되는 동안 커널이 시스템 호출을 처리하는 동안 자신의 사용자 코드는 실행되고 있지 않지만 프로세스 대신 커널 코드가 실행되고 있습니다.

1

일부 운영 체제에는 사용자가 응용 프로그램이 커널에 의해 호출되는 몇 가지 기능 (사용자 공간으로 되돌아 간다)을 등록하는 경우가 있습니다. 유닉스 신호 기계 장치는 매우 간단한 예이지만 일부 OS는 훨씬 더 복잡한 상향 호출을 가지고있다.

syscall이 일부 커널 처리를 트리거하여 사용자 공간에서 일부 상향 호출을 트리거 할 수있는 일부 OS가 있다고 생각합니다.

나는 세부