. "A signal is a communication sent between the kernel and a software task that communicates the occurrence of certain events external to the task, such as the rescheduling of a process while in a critical code section." . . .