Spotlight on: Interrupts & Buffers

Interrupts & Buffers

An interrupt is a signal sent from a device attached to the computer or from a software that the computer is running, which causes the operating system to temporarily stop what it is doing and service the interrupt.  Interrupts can occur when, for example:

– an error has occurred, such as a paper jam in the printer

– the user interrupts the current process, e.g. the <CTRL><ALT><DELETE> keys have been pressed simultaneously

– a software error has occurred

Interrupts allow computers to multitask, carrying out many tasks or having several windows open at the same time.  Operating systems have some code called an ‘interrupt handler’, which prioritises the interrupts and saves them in a queue.

Buffers are used in computers as a temporary memory area, and they are essential in modern computers because hardware devices operate at much slower speeds than the processor.    A buffer accepts a stream of data at a certain rate, stores it temporarily, and then streams it out again at a different rate.  Buffers are used for example, when streaming a video from the Internet.  This ensure that the video playback does not keep stopping to wait for data from the Internet.  In the same way, many other processes taking place inside the computer may output and leave data through a buffer, which enables each process to be performed at its own rate.

Buffers and interrupts are often used together to allow standard computer functions to be performed.

 

The flowchart above illustrates how buffers and interrupts are used when a document is sent to the printer.

Will Fastiggi
Originally from England, Will is an ICT coordinator now living in Brazil. He is passionate about making the most of technology to enrich the education of students.
Add Comment Register



Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>