Topic: computer architecture
Topic: data caching
Topic: file cache
Topic: managing shared memory
Topic: memory management by working sets
Topic: memory management for programs and modules
Topic: operating system kernel
Topic: security by access rights
Topic: security by capabilities
Topic: virtual memory
| |
Summary
Paging moves blocks of data from disk to memory and back. It is the standard implementation for virtual memory with hardware support for address translation. Page replacement selects a page to remove from memory. (cbb 12/07)
Subtopic: paging
Quote: manage program memory as pages in uniformly-sized page frames, typically 1024 words; developed by Irons using a small resident program [»hoarCA_1971]
| Quote: small fixed-length pages are better than variable length pages; needs hardware support, associative registers [»hoarCA_1971]
| Quote: a page in virtual memory is well-defined only if it is contained in exactly one mapped space; AddressFault otherwise [»redeDD2_1980]
| Quote: a high paging rate will maximize memory utilization [»hoarCA_1971]
| Quote: shed load to stay below the maximum paging rate [»hoarCA_1971]
| Subtopic: page replacement
Quote: page replacement by testing the 'use' bit; called the second chance algorithm [»hoarCA_1971]
| Quote: 'use' bit avoids unnecessary paging; LRU is not worth its complexity [»hoarCA_1971]
| Quote: pre-select and write the next victim for page replacement; reduces disk latency [»hoarCA_1971]
| Quote: least recently/frequently used (LRFU) block replacement policy; up to 30% better than LRU; uses linked list and priority heap based on threshold of recency and frequency value [»leeD9_1997]
| Quote: segmented LRU: protected segment of cache hits; halves cache size; two disk accesses tend to indicate many disk accesses [»kareR3_1994]
| Quote: freed memory should be reused in a LIFO order. Cyclical reuse may cause memory faults under LRU replacement policies [»wilsPR9_1992]
| Quote: LRU does not always work for database buffer management; e.g., one-time sequential access, cyclic referencing, one-time random access [»stonM7_1981]
| Subtopic: working set for paging
Quote: under paged, virtual memory, working-set strategies are better than FIFO disciplines [»oldeRR5_1985]
| Quote: in a paging system, the only important thing is to avoid thrashing; otherwise spend all of the time waiting for the disk [»lampBW10_1983]
| Quote: in Pilot, users can optimize swapping behavior by dividing program into subspaces with strong locality of reference
| Subtopic: page fault handler
Quote: use the page fault handler to implement quick page accessibility tests; a page fault only occurs on a negative answer [»liedJ1_1994]
| Quote: memory compressor assumes all objects are moved, using page protection to trap unmoved objects; copies pages when used [»kermH6_2006]
| Quote: Mach tasks may handle page faults and page-out data requests independently of the kernel [»acceM6_1986]
| Quote: use page protection to provide access to shared libraries from user-level extensions; data/function pointers stay the same; applications control which pages are accessible [»chiuTC3_1999]
| Subtopic: hardware failures
Quote: Lisa can lock out a memory block with a parity error and continue normal operation [»stewG3_1983]
| Subtopic: hardware support
Quote: Mach's virtual memory is built on hardware page validate, invalidate, and protect
| Quote: Mach implements virtual memory with address maps, share maps, VM objects, and page structures
| Quote: efficient intra-address space protection by combining segmentation and paging hardware [»chiuTC3_1999]
|
Related Topics
Topic: computer architecture (46 items)
Topic: data caching (35 items)
Topic: file cache (23 items)
Topic: managing shared memory (74 items)
Topic: memory management by working sets (18 items)
Topic: memory management for programs and modules (12 items)
Topic: operating system kernel (67 items)
Topic: security by access rights (38 items)
Topic: security by capabilities (65 items)
Topic: virtual memory (32 items)
|