0% found this document useful (0 votes)
14 views

Lesson 2

Uploaded by

eei46649
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Lesson 2

Uploaded by

eei46649
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

What is an interrupt?

An interrupt is a signal emitted by a device attached to a


computer or from a program within the computer. It
requires the operating system (OS) to stop and figure out
what to do next. An interrupt temporarily stops or
terminates a service or a current process.
Most I/O devices have a bus control line called Interrupt
Service Routine (ISR) for this purpose.

An interrupt signal might be planned (i.e., specifically


requested by a program) or it may be unplanned (i.e.,
caused by an event that may not be related to a program
that's currently running on the system).

Today, almost all computing systems are interrupt-driven.


What this means is that they follow the list of
computer instructions in a program and run the
instructions until they get to the end or until they sense an
interrupt signal. If the latter event happens, the computer
either resumes running the current program or begins
running another program. In either case, it must stop
operations while deciding on the next action. To do this
and to work on other programs, the OS uses pauses in
operations.

When the device processor handles interrupts, it informs


the device sending the signal that the interrupt request
(IRQ) has been recognized. Then the device stops
sending the IRQ signal.
An OS usually includes code called an interrupt handler to
prioritize interrupts and save them in a queue if more than
one is waiting to be handled. It also has a scheduler
program that determines the next program that gets
control.

When an interrupt occurs, the associated service may not


start immediately. The time interval between the time the
interrupt occurs and the time when ISR execution starts is
called interrupt latency.
Almost all computing today is interrupt-driven, which means they follow a list of
instructions in a program and run those until they get to the end or sense an interrupt
signal.
Types of interrupts
Interrupts are classified into two types:

I. Hardware interrupt
A hardware interrupt is an electronic signal from an external
hardware device that indicates it needs attention from the OS.
One example of this is moving a mouse or pressing a keyboard
key. In these examples of interrupts, the processor must stop to
read the mouse position or keystroke at that instant.

In this type of interrupt, all devices are connected to the


Interrupt Request Line (IRL). Typically, a hardware IRQ has a
value that associates it with a particular device. This makes it
possible for the processor to determine which device is
requesting service by raising the IRQ, and then provide service
accordingly.

There are three types of hardware interrupts:

Maskable interrupts
In a processor, an internal interrupt mask register selectively
enables and disables hardware requests. When the mask bit is
set, the interrupt is enabled. When it is clear, the interrupt is
disabled. Signals that are affected by the mask are maskable
interrupts.

Non-maskable interrupts
In some cases, the interrupt mask cannot be disabled so it does
not affect some interrupt signals. These are non-maskable
interrupts and are usually high-priority events that cannot be
ignored.

Spurious interrupts
Also known as a phantom interrupt or ghost interrupt,
a spurious interrupt is a type of hardware interrupt for which no
source can be found. These interrupts are difficult to identify if a
system misbehaves. If the ISR does not account for the
possibility of such interrupts, it may result in a system deadlock.

II. Software interrupts


A software interrupt occurs when an application program
terminates or requests certain services from the OS. Usually, the
processor requests a software interrupt when certain conditions
are met by executing a special instruction. This instruction
invokes the interrupt and functions like a subroutine call.
Software interrupts are commonly used when the system
interacts with device drivers or when a program requests OS
services.

In some cases, software interrupts may be triggered


unexpectedly by program execution errors rather than by design.
These interrupts are known as exceptions or traps.
Interrupt driven I/O cycle.

You might also like