60 likes | 78 Views
CS533 Concepts of Operating Systems Class 14. Extensible Virtual Memory Management. Questions. What is an inverted page table? Why are they good for large sparse address spaces?
E N D
CS533 Concepts of Operating SystemsClass 14 Extensible Virtual Memory Management
Questions • What is an inverted page table? • Why are they good for large sparse address spaces? • How are address maps, memory allocation queues, memory object lists, memory objects, resident page tables, and pmap used to • Handle a page fault? • Page out a page? • Allocate memory • Deallocate memory CS533 - Concepts of Operating Systems
Questions • Why does Mach distinguish between current and maximum protection for pages? • Why are shadow objects needed? • How would task A share a page copy-on-write with task B? • Why might you end up with long chains of shadow objects? • Why is this a problem? • How could you optimize them? CS533 - Concepts of Operating Systems
Questions • How can Mach support lazy modification of pmap? • Why don’t inverted page tables support aliasing well? • What three strategies can Mach use to maintain TLB consistency on multiprocessors that do not support inter-CPU TLB flush operations? • Which one reminds you of RCU and why? CS533 - Concepts of Operating Systems
Questions • Why push virtual memory fault handling to user level? • What kind of user-level instructions can it replace? • Is it always more efficient to use VM faults than user-level interpretation? • What are the performance trade-offs? • Can VM fault handling be used to implement synchronization? • i.e., instead of locks? If so, how? CS533 - Concepts of Operating Systems
Questions • Why are these technique more difficult to use on modern CPUs with deep pipelines, out of order instructions and weak memory consistency? • Why do hardware details such as physically vs virtually indexed caches affect aliasing costs? • Why do OS details such as inverted page tables affect aliasing costs? CS533 - Concepts of Operating Systems