Motivation for Signals (11.15)
When a program forks into 2 or more processes, rarely do they execute independently of each other
The processes usually require some form of synchronization, and this is typically handled using signals
Data usually needs to be passed between processes also, and this is typically handled using pipes and sockets, which we’ll discuss in detail in a week or two
Signals are usually generated by
- machine interrupts
- the program itself, other programs, or the user (e.g. from the keyboard)