Comp111: Operating Systems
Classroom Exercise 14
Virtual Memory
Fall 2018

group member 1: ____________________________ linux login: ______________
group member 2: ____________________________ linux login: ______________
group member 3: ____________________________ linux login: ______________
group member 4: ____________________________ linux login: ______________
group member 5: ____________________________ linux login: ______________
group member 6: ____________________________ linux login: ______________
group member 7: ____________________________ linux login: ______________
group member 8: ____________________________ linux login: ______________

In class, we've studied the basic function of virtual memory. Recall that a frame is a unit of allocatable memory from the operating system, while a page represents a need for memory in a process. Let's explore these concepts further.

  1. Why is it practical to relocate a frame to another physical address? What must one do?

  2. Why is it impractical to relocate a heap page to another address?

  3. Does keeping lots of processes dormant (with no pages swapped in) slow down the OS? Why or why not?

  4. What memory do dormant processes consume when they're not running?
  5. (Advanced) Current wisdom is to allocate lots of swap space on a workstation, but use none at all on a server. Why might this be a good strategy?

  6. (Advanced) The OS doesn't store the page table as an array. What data structure would be more appropriate? How would it be structured?

  7. (Advanced) Why did the IA64 architecture do away with segment descriptors? It seems like they would save space over recording a protection bit for each page.