시그널 동작 메커니즘

시그널 동작 메커니즘

본래는 다른 용도 이지만 IPC 로도 사용 가능한 기법

  • 시그널(signal) - 프로세스에 이벤트 전달.
  • 소켓(socket) - 네트워크

시그널

유닉스에서 오래전부터 사용되온 기술이다. 커널 또는 프로세스에서 다른 프로세스에서 어떤 이벤트가 발생되었는지를 알려주는 기법이다.

시그널 동작

프로그램에서 특정 시그널의 기본 동작 대신 다른 동작을 하도록 구현 가능하다.

각 프로세스에서 시그널 처리에 대해 다음과 같은 동작 설정이 가능하다.

  • 시그널 무시
  • 시그널 블록
  • 프로그램 안에 등록된 시그널 핸들러로 재정의한 특정 동작 수행
  • 등록된 시그널 핸들러가 없다면, 커널에서 기본 동작 수행

시그널과 프로세스

프로세스는 PCB 에서 해당 프로세스가 블록 또는 처리해야하는 시그널 관련 정보를 관리한다. 커널 모드에서 사용자 모드 전환시 시그널 정보를 확인해서 해당 처리를 한다.