Penguin
Diff: InterruptHandler
EditPageHistoryDiffInfoLikePages

Differences between version 7 and predecessor to the previous major change of InterruptHandler.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 7 Last edited on Monday, October 18, 2004 9:49:03 am by JohnMcPherson Revert
Older page: version 4 Last edited on Monday, October 18, 2004 3:18:36 am by AristotlePagaltzis Revert
@@ -1,7 +1,10 @@
-A section of code run whenever an interrupt occurs. These may be at the application level or at the OperatingSystem's level . They are notoriously hard to write because they occur asynchronously with the rest of the application or OperatingSystem . Hardware interrupts can also happen __very__ frequently, so their handlers are commonly written in AssemblyLanguage
+A section of code invoked by the hardware whenever an [IRQ] occurs. It is generally part of the [Kernel] and usually contained in a device driver . Because they occur asynchronously, invoked by hardware rather than through normal control flow, InterruptHandler~s are notoriously hard to write (see RaceCondition) . They are also commonly written in AssemblyLanguage because [IRQ]s tend to happen __very__ frequently. 
  
-Generally, the term "interrupt" is used for hardware-generated requests , while "signal" is used for software/OperatingSystem-generated requests
+One specific InterruptHandler is of paramount importance in modern OperatingSystem~s: the timer [IRQ] invokes a handler which drives the scheduler that distributes [CPU] time among tasks. Without this [IRQ] and its handler , preemptive multitasking would not be possible
  
-See also:  
-* [IRQ ]  
-* [Signal] 
+Note that this is different from a [Signal ] handler, which is called by the [Kernel] through normal control flow means. Note that software can trigger interrupts, and InterruptHandler~s sometimes send [Signal]s. The concepts remain distinct, though, despite having many things in common. In general an interupt ([IRQ] on x86) is to the kernel as a signal is to an application.  
+  
+----  
+On linux, try running  
+ procinfo -n 1  
+to see counts of the number of interrupts that your kernel receives, and other things such as the number of context switches. the "-n __1__" means update the display every second.