码迷,mamicode.com
首页 > 其他好文 > 详细

ULK --- Chap 4: Interrupts and Exceptions

时间:2015-11-25 13:23:58      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

An interrupt is usually defined as an event that alters the sequence of instructions executed by a

processor. Such events correspond to electrical signals generated by hardware circuits both inside

and outside chip.

Interrupts are often divided into synchronous and asynchronous intertupts:

Synchronous interrupts are produced by the CPU control unit while executing instructions and are

called synchronous because the control unit issues them only after terminating the execution of an

instruction. 

Asynchronous interrupts are generated by other hardware devices at arbitrary times with respect to

the CPU clock signals.

Intel microprocessor manuals designate synchronous and asynchronous interrupts as exceptions and

interrupts, respectively. We will adopt this classification, although we will occasionally use the term

"interrupt signal" to designate both types of together.

Interrupts are issued by interval timers and I/O devices; for instance, the arrival of a keystroke from 

a user sets off an interrupt.

Exceptions, on the other hand, are caused either by programming errors or by anomalous conditions

that must be handled by the kernel. In the first case, the kernel handles the exception by delivering

to the current process one of the signals familiar to every UNIX programmer. In the second case, the

kernel performs all the steps needed to recover from the anomalous condition, such as page fault or

a request --- via an assembly language instruction such as int or sysenter --- for a kernel service.

We start by describing in the next section the motivation for introducing such signals. We then show

how the well-known IRQs (Interrupt ReQusts) issued by I/O devices give rise to interrupts, and we 

detail how 80x86 processors handle interrupts and exceptions at the hardware level. Then we illustrate

, in the section "Initializing the Interrupt Descriptor Table", how Linux initializes all the data structures

required by the 80x86 interrupt architecture. The remaining three sections describe how Linux handles

interrupt signals at the software level.

One word of caution before moving on: in this chapter, we cover only "classic" interrupts common to

all PCs; we do not cover the nonstandard interrupts of some architectures.

                    The Role of Interrupt Signals

 

ULK --- Chap 4: Interrupts and Exceptions

标签:

原文地址:http://www.cnblogs.com/miaoyong/p/4994296.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!