Tutorial Week 7


Memory Management

Q1: Describe four algorithms for allocating regions of contiguous memory, and comment on their properties.

Q2: What is compaction? Why would it be used?

Virtual Memory

Q3: What is swapping?

Q4: What is Paging?

Q5: Why do all virtual memory system page sizes have to be a power of 2? Draw a picture.

Q6: What is a TLB? What is it's function?

Q7: Given a two-level page table (in physical memory), what is the average number of physical memory accesses per virtual memory access in the case where the TLB has a 100% miss ratio, and the case of a 95% hit ratio

Q8: What are the two broad categories of events causing page faults? What other event might cause page faults?

Q9: Of the three page table types covered in lectures, which one is most appropriate for a virtual address spaces that are sparsely populated (e.g. many single pages scattered through memory)?

Q10: What is temporal and spatial locality?

Q11: What effect does increasing the page size have?

Q12: Why is demand paging generally more prevalent than pre-paging?

Q13: Describe four replacement policies and compare them.

Q14: What is thrashing? How can it be detected? What can be done to combat it?

Q15: Translate the following virtual addresses to Physical Addresses using the TLB. The system is a R3000. Indicate if the page is mapped, and if so if its read-only or read/write.

The EntryHi register currently contains 0x00000200.

The virtual addresses are 0x00028123, 0x0008a7eb, 0x0005cfff,0x0001c642, 0x0005b888, 0x00034000.