Prev | Home | Next |
Suggestion Box |
In contrast, imprecise interrupts allow an inconsistent state: for example some register may hold values resulting from instructions that follow the instruction that caused the exception.
A few excerpts from the DEC Alpha Architecture manual:
For example: when a page fault occurs, the desired page must be brought into memory. Once that has happened, the instruction can be re-executed and things will work as they should.
Unlike faults, arithmetic traps usually cannot be fixed up to allow the program to continue. Arithmetic traps are a sign that something is wrong in the user's program.
Synchronous traps can result in aborting the program (data mis-alignment w/o any O/S routine to do data-alignment, illegal instruction, illegal operand) or entering a debugger (breakpoint) or an O/S routine.
arithmetic traps | imprecise |
---|---|
faults | semi-precise |
interrupts | precise |
synchronous traps | precise |
Arithmetic traps usually mean that the user's program has errors in it and so, if you are going to kill the program, there is no need to make sure that the state is consistent. To fix the error, the user will likely run the program under a debugger, which will use synchronous traps (breakpoints) to single-step through the execution of the program.
Prev | Home | Next |
Suggestion Box |