Trap vs Interrupt

A trap occurs when an exception occurs in a user process. It can also be used to invoke a kernel routine (User Program Kernel), and is generally handled synchronously. Traps also increment the instruction pointer.

An interrupt is generated by the hardware asynchronously. Software can use the int3 instruction to generate an interrupt, but it is generally (Hardware Program).

Faults are exceptions that can be corrected (like page faults).

Aborts are exceptions for severe errors, which does not allow restarting the program or task.