In C, signals mean a form of internal software communication found in signal.h. You could compare them with โeventsโ or โexcrementโ in other languages โโor in the OS. It was an attempt to provide language support for such OS functionality. http://en.wikipedia.org/wiki/Signal.h
A software interrupt refers to specific interruptions in the CPU that were caused by improper software at a low basic level, that is, when an unknown OP code was executed or an attempt was made to access unused memory areas. A software interrupt is caused by the CPU itself, not by the operating system or application.
Hardware interrupts are all other interrupts that are not software interrupts. They are called by the processor itself. Their nature is specific to applications and equipment.
source share