A trap is the exception in the user process. It's is caused by division of zero or invalid memory to access. It's is also the usual way to be invoke a kernel routine (a system call) because of those run with a higher priority then user code. Handling is a synchronous (so the user code is about suspended and continues the afterwards). In a sense they are "active" - most the time, the code can expects the trap to be happen and relies on this fact surely.
An interrupt is a something generated by the hardware (devices like the hard disk, graphics card, I/O ports, etc). These are the asynchronous (i.e. they don't happen at predictable places in the user code) or "passive" since the interrupt can handler has to be wait for them to be happen eventually.
To know more about trap and interrupt visit:
https://brainly.com/question/14690012
#SPJ4