Of course changing the hardware page table mappings is something that can only be done in kernel mode. We will learn more about this when we cover Memory Management in a few weeks. Signals are a primitive form of interprocess communication. Hardly any information is sent along with the signal. All you know is that it was sent.
Processes can handle or ignore signals.
From the executing process, a software interrupt is entirely synchronous whereas device-generated interrupts appear asynchronous. There are a fixed number of both signals and interrupts. Interrupt and signal handlers both must be short and you must pay special attention to concurrency issues when writing interrupt and signal handlers. Solaris provides a similar capability using a different mechanism. Fast interrupts execute with interrupts disabled and must be very short to avoid data loss.