Can processes really "generate" signals or they just request the kernel to send the signal on their behalf?
And what about hardware interrupts? Do they get translated to software interrupts? Like, can the CPU interrupt a process directly? or through the kernel?