Interrupt Service Routine -- a routine responsible for servicing hardware (e g reading and/or writing some device ports), for updating some data structures shared between the ISR and the thread(s) running in the application, and for signalling the thread that some kind of event has occurred