Signals provide a fundamental infrastructure in which any process can be notified of a system event asynchronously. They can also be engaged as communication mechanisms between processes. Understanding how the kernel provides and manages smooth throughput of the entire signal-handling mechanism lets us gain more grounding on the kernel. In this chapter, we shall pile on our understanding of signals, right from how processes can usher them to how the kernel deftly manages the routines to ensure signal events tick. We shall look at the following topics in great detail:
- Overview of signals and their types
- Process-level signal-management calls
- Signal data structures in process descriptors
- Kernel's signal generation and delivery mechanisms