프로세스에 시스템 이벤트를 알리고 프로세스가 신호 전달에 반응할 때 비동기식 및 동기식은 무엇을 의미합니까?

프로세스에 시스템 이벤트를 알리고 프로세스가 신호 전달에 반응할 때 비동기식 및 동기식은 무엇을 의미합니까?

Linux 커널에 대해 알아보세요:

Unix 신호는 메커니즘을 제공합니다.시스템 이벤트 프로세스에 알림. 각 이벤트에는 일반적으로 기호 상수(예: SIGTERM)로 참조되는 고유한 신호 번호가 있습니다. 시스템 이벤트에는 두 가지 유형이 있습니다.

비동기 알림예를 들어, 사용자는 터미널에서 인터럽트 키 코드(보통 Ctrl-C)를 눌러 인터럽트 신호 SIGINT를 포그라운드 프로세스로 보낼 수 있습니다.

알림 동기화예를 들어 프로세스가 유효하지 않은 주소의 메모리 위치에 액세스하면 커널은 SIGSEGV 신호를 프로세스에 보냅니다.

그리고

... 일반적으로 말하면,프로세스는 신호 전달에 응답할 수 있습니다.두 가지 가능한 방법이 있습니다:

• 이 신호를 무시하십시오.

비동기식지정된 프로시저(신호 처리기)를 실행합니다.

비동기식과 동기식의 의미를 알고 싶습니다.

  • 시스템 이벤트를 프로세스에 알리고
  • 신호에 반응하나요?

감사해요.

답변1

비동기식은 다음에 프로그램이 실행될 때 신호가 전달되고 포착된다는 것을 의미합니다(무시되지 않은 경우). 이는 일반적으로 다른 프로세스(예: via kill, like SIGINT또는 SIGSTOP)에서 보낸 신호를 나타냅니다.

동기는 프로그램이 실행 중이므로(즉, 스케줄러의 상태가 실행 중이므로) 신호가 즉시 전달된다는 것을 의미합니다. 일반적으로 이는 프로그램 실행의 직접적인 결과이며 신호는 커널(예 SIGILL: SIGSEGV...)에 의해 전송됩니다.

관련 정보