This preview shows page 1. Sign up to view the full content.
Unformatted text preview: will fail, causing the MMU to abort the access. The system software must identify the cause of the abort, fetch the required page into memory from disk, change the translation tables in the MMU accordingly and retry the aborted access. Since fetching a page from disk is a slow process, the operating system will often switch out the faulted process and schedule another task while the transfer takes place. Page protected The addressed memory location is temporarily inaccessible. When a page is loaded into memory, the operating system may initially make it read only. An attempt to write the page will fault, alerting the operating system to the fact that the page has been modified and must be saved when it is swapped out to disk again. (An unmodified page need not be written to disk again if the old copy is still there.) Some operating systems will periodically make pages inaccessible in order to generate statistics about their use for the paging algorithm. Soft memory errors A soft error has been detected in the memory. A large memory system has a not-insignificant error rate due to alpha particle radiation changing the state of a dynamic RAM storage cell. Where the memory system has simple error detection (such as a parity check) the fault is not recoverable so the faulting process must be terminated. Where the memory system has full error check and correct (ECC) hardware the processor will usually be unaware of the error, though a fault could still be generated in order that the operating system can accumulate statistics on the memory error rate. In the intermediate case, where the memory has a hardware error detector but relies on software error correction, the fault, correct and retry sequence is followed. In a typical small embedded ARM application, a hard disk is usually unavailable, and in any case paging to disk is usually incompatible with the real-time constraints that the system must meet. Furthermore the memory system is usually small (a few megabytes at most, comprising a handful of memory chips) so th...
View Full Document
- Spring '09