⭐️ 8.5. Signals


8.4장까지 봐왔던 여러 예외처리흐름 (interrupt, trap, fault, abort)은 하드웨어와 커널 단에서 벌어지는 일이라서 유저 프로세스 입장에서 보여지지 않는다. 하지만 편의성을 위하여, OS는 유저 프로세스들에게 시그널이라는 이름의 메시지 리스트를 제공하여 시스템 이벤트를 발생시킬 수 있게 되었다.

DUMP

8.5.1. Signal Terminology

8.5.2. Sending Signals

8.5.3. Receiving Signals

8.5.4. Blocking and Unblocking Signals

8.5.5. Writing Signal Handlers

8.5.6. Synchronizing Flows to Avoid Nasty Concurrency Bugs

시그널은 동시성 문제를 가지고 있다고 했다. 동시성 흐름을 동기화 하는 자세한 방법은 12장에서 진행이 된다.

8.5.7. Explicitly Waiting for Signals

해당 챕터를 이해하기 위해선 8.5.4. blocking and unblocking signals에 대한 적절한 이해가 선행되어야 한다.