. , - , .
, , , . , . , . , , . , . , . , . , , , .
:
- ;
- ;
- .
() -, , , , . , , (, ) , (, , ) . . , , .
, (exception), . , , , . . ( ).
|
|
, . , , .. . , .
, . , , , .
, , , , , , . . , , , (Interrupt Service Routine, ISR). , , , . , , .
. , , (, , , , ). , .
, : (vectored) (polled). . .
, , . , , , . , (, ) . , . , . , . . , , VMEbus.
|
|
(, IRQ ISA IPL SBus SPARC). . , , , . , , . , , . ISA, EISA, MCA, PCI Sous.
. Intel Pentium. PCI, ISA, EISA MCA, , . , IRQ. Pentium . Pentium , IRQ . , , 0 255, 256 , . , IRQ , , , .. , . IRQ , .. , IRQ.
. , . . , , . , . , , .
( , ) , , . , , , .
|
|
. , , .. . .
:
1. ( ) ( ) . ( ), . ( , ) , , , .
2. , . , , ( EFLAGS Intel Pentium), , . , . , . , , , , . , , , , .
3. ( , Pentium), , . . , , , , . .
|
|
4. , . , . , .
5. , . (, ), , . .
, INT Intel Pentium, trap Motorola, syscal1 MIPS Ticc SPARC. , , , .
. , . , , , , , . , 86 256 , INT ( INT 3, , ). INT 256 , INT. CALL , - . .
, .. .
. . . , . , . , . , .
, . , . , , ( -, ). , , . , , , , , , , . . 12. , 2, , . , - . , .
|
|
, , . , . , . -, .
. , . , . , . , . .
, , . , , , .
. , MIPS . , . , . , . , , . . , Pentium , ( ).
. Windows NT.
Windows NT ( Trap Handler) , , Windows NT. ( , , ) , Interrupt Request Level (IRQL). . , IRQL , . , , , IRQL , .
Windows NT . / , . IRQL , , . , . IRQL .
, IRQL , , IRQL, IRQL . IRQL IRQL .
, IRQL , , , . , - .
Windows NT IRQL , (. 13). , . , .
IRQL , , .
IRQL. , , IRQ PCI, .
: , , . , Windows NT , -.
.
, , , , , . , , , /DPC . , , . , . , , , . , . Windows NT / , , . , (, ), . / , - , . , , , , -. , .
/ , . , , ( , , ), . , , , .
DPC (Deffered Procedure Call ), , , /. , , , , , . , , -, , . , , . UNIX (top half) (bottom half) . Windows NT , /DPC (DPC-), . , , .
Windows NT , . , . UNIX , . , . , .
, , , , . , , , , , , . - ( ) - , . Windows NT , DPC, , , . , , . (, ..), , . , . , . , , .. , . , . , . .
, , Windows NT. , . , (Asynchronous Procedure Call ). IRQL, , DPC. : (.. ), , . , . - , - -, , , , -. -, , .
. . , . , , . , , .
, ( ) . , , , , -.
:
- ;
- ;
- , ;
- ;
- .
. , . , .
, , .. . , (. 14, ). , . , Pentium , 256 ( ). , - .
, (. 14, ). . , Linux INT 80h, Windows NT ( Pentium) INT 2Eh. , , ( sysent . 14). , ( , ). , , , . , , .
, ( ), , (. ) , .
. , , . , , , , , , - .
, . , , , .
, ( ) . , , . -, , . , , , , .
, , , . , , , , . API (, Win32 POSIX), , , .
. , .
. , , , ( ) , (. 15, ). . , .
, -, (. 15, ).
, . , . , , , .