AMD Interview Question

Q: what's the difference between a hardware and software interrupt? Q: what's the difference between a thread and a process? Q: what is the purpose of the kernel and user layers?