Tuesday, July 14, 2009

Intterupt

INTERRUPT

This is a signal to a processor indicating that an asynchronous event has occurred. Here the current sequence of instructions is temporarily suspended, and a sequence appropriate to the interruption is started in its place. Its purpose is to alert the operating system when any special event occurs so that it can suspend its current activity and deal appropriately with the new situation.

Usually an interrupt gives a signal from a device attached to a computer or from a program within the computer that causes the main program that operates the computer (the operating system) to stop and figure out what to do next. Almost all personal (or larger) computers today are interrupt-driven - that is, they start down the list of computer instructions in one program (perhaps an application such as a word processor) and keep running the instructions until either (A) they can't go any further or (B) an interrupt signal is sensed. After the interrupt signal is sensed, the computer either resumes running the program it was running or begins running another program.

Basically, a single computer can perform only one computer instruction at a time. But, because it can be interrupted, it can take turns in which programs or sets of instructions that it performs. This is known as multitasking. It allows the user to do a number of different things at the same time. The computer simply takes turns managing the programs that the user effectively starts. Of course, the computer operates at speeds that make it seem as though all of the user's tasks are being performed at the same time. (The computer's operating system is good at using little pauses in operations and users think time to work on other programs.)

An operating system usually has some code that is called an interrupt handler. The interrupt handler prioritises the interrupts and saves them in a queue if more than one is waiting to be handled. The operating system has another little program, sometimes called a scheduler, which figures out which program to give control to next.

In general, there are hardware interrupts and software interrupts. A hardware interrupt occurs, for example, when an I/O operation is completed such as reading some data into the computer from a tape drive. A software interrupt occurs when an application program terminates or requests certain services from the operating system. In a personal computer, a hardware interrupt request (IRQ) has a value associated with it that associates it with a particular device. Interrupts can be broadly divided into the following.

Events occurring on peripherals devices:

A processor having initiated a control on a peripheral device on behalf of one process may start some other process. When the transfer terminates, the peripheral device will cause an interrupt.

Voluntary events within processes:

A process wishing to use the services of operating system may use a specific type of interrupt, a supervisor call (SVC) as a means of notifying the supervisor.

Involuntary events within the processes:

A process that attempts an undefined or prohibited action will cause an interrupts that will notify the supervisor.

Action by operators:

An operation wishing to communicate with the supervisor may cause an interrupt.

Timer interrupts:

many systems incorporate a timer that causes a fixed interval of time as a means of guaranteeing that the supervisor will be entered periodically.

No comments:

Post a Comment