Señala e interrumpe una comparación.

Basado en varias referencias, mi definición subjetiva delas señales en Linux son "Los desencadenantes que se usan para notificar a los procesos sobre la ocurrencia de un evento específico. Aquí, el evento puede referirse a una excepción de software. Además, las señales también se pueden usar para mecanismos de IPC". Las preguntas que tengo son

Supongo que solo las excepciones (interrupciones de software) se notifican a través de señales. ¿Qué pasa con el caso de interrupciones de hardware?¿Cuáles son las diversas fuentes de la señal? Para mí, parece que el kernel siempre es la fuente de una señal (excepto cuando se usa para IPC)¿Diferencia entre el manejador de señal y el ISR ?.¿Diferencia entre el bloqueo de la señal y la máscara de interrupción?