Tutorial Week 7

Questions

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.

TLB
EntryHiEntryLo
0x000282000x0063f400
0x000342000x001fc600
0x0005b2000x002af200
0x0008a1000x00145600
0x0005c1000x006a8700
0x0001c2000x00a97600