This preview shows page 1. Sign up to view the full content.
Unformatted text preview: the destination operand. Unix does not attempt to recover from divide errors, opting instead to abort the program. Unix shells typically report divide errors as “Floating exceptions”. The infamous general protection fault (exception 13) occurs for many reasons, usually because a program references an undeﬁned area of virtual memory, or because the program attempts to write to a read-only text segment. Unix does not attempt to recover from this fault. Unix shells typically report general protection faults as “Segmentation faults”. A page fault (exception 14) is an example of an exception where the faulting instruction is restarted. The handler maps the appropriate page of physical memory on disk into a page of virtual memory, and then restarts the faulting instruction. We will see how this works in detail in Chapter 10. A machine check (exception 18) occurs as a result of a fatal hardware error that is detected during the execution of the faulting instruction. Machine check handlers never return control to the application program. System calls are provided on IA32 systems...
View Full Document
- Spring '10
- The American