interrupt handler


Also found in: Wikipedia.

interrupt handler

[′int·ə‚rəpt ‚hand·lər]
(computer science)
A section of a computer program or of the operating system that takes control when an interrupt is received and performs the operations required to service the interrupt.

interrupt handler

(software)
A routine which is executed when an interrupt occurs. Interrupt handlers typically deal with low-level events in the hardware of a computer system such as a character arriving at a serial port or a tick of a real-time clock. Special care is required when writing an interrupt handler to ensure that either the interrupt which triggered the handler's execution is masked out (inhibitted) until the handler exits, or the handler is re-entrant so that multiple concurrent invocations will not interfere with each other.

If interrupts are masked then the handler must execute as quickly as possible so that important events are not missed. This is often arranged by splitting the processing associated with the event into "upper" and "lower" halves. The lower part is the interrupt handler which masks out further interrupts as required, checks that the appropriate event has occurred (this may be necessary if several events share the same interrupt), services the interrupt, e.g. by reading a character from a UART and writing it to a queue, and re-enabling interrupts.

The upper half executes as part of a user process. It waits until the interrupt handler has run. Normally the operating system is responsible for reactivating a process which is waiting for some low-level event. It detects this by a shared flag or by inspecting a shared queue or by some other synchronisation mechanism. It is important that the upper and lower halves do not interfere if an interrupt occurs during the execution of upper half code. This is usually ensured by disabling interrupts during critical sections of code such as removing a character from a queue.
References in periodicals archive ?
It exploits an untrusted pointer in the kernel with some help from a heap info leak, the ARM data abort interrupt handler and some techniques by Tarjei Mandt by Mark Dowd.
But on the other hand, interrupt handler has small differences in delay, because when the interrupt occurs, microcontroller has to do always almost the same operations, does not matter what kind of operation was done before.
If one of those "disabled" interrupts occurs, the RT-microkernel records its occurrence and returns without executing the MINIX interrupt handler.
It is responsible for handling the PCI bus enumeration (the method of determining all of the devices present in the system upon boot up) and is the PCI bus default interrupt handler.
The scheduler and interrupt handler are written in assembly code, delivering speed and performance optimization.
XGATE coprocessor module with programmable DMA controller, real-time interrupt handler and virtual peripheral controller
6-based Linux distribution features advanced real-time capabilities including schedulable hard and soft interrupt handlers, priority inheritance mutexes and a fully preemptible kernel.
PERC Pico allows Java developers to write low-level Java code such as device drivers and interrupt handlers, telecommunications control plane, and signal processing for multimedia.
ZIP technology also helps developers detect synchronization issues by displaying complete timing for the EE processor, including time spent in interrupt handlers and in the PlayStation(R)2 kernel.
TimeSys has modified interrupt handlers and SoftIRQ (aka bottom-half) handlers to enable priority scheduling of interrupts, further reducing the latency of higher priority tasks and thus increasing the performance of the Linux kernel.
Key features of HyperKernel include preemptive scheduling, multi-threaded, high-speed timers (1 microsecond precision, 20 microsecond minimum tick size), interrupt handlers for low latency (sub 50 microsecond), full compatibility with Microsoft Windows user applications, and no modification to the Microsoft Windows NT Hardware Abstraction Layer.