Who calls interrupts?

Process moves from run state to ready state,when interrupt is called. My question is who triggers the interrupt? is it OS or process itself which is running in the processor?

image
2types of interrupt s/w & h/w
s/w raised by program ie some function invokes it
h/w raised by external device

why user process calls interrupts?

inorder do some important process that needss higher priority