Tutorial Week 9

Questions

Memory Management

Q1: Describe internal and external fragmentation.?

Q2: What are the problems with multiprogrammed systems with fixed-partitioning?

Q3: Assume a system protected with base-limit registers. What are the problems with such a protected system (compared to a paged or segmented VM system)?

Q4: A program is to run on a multiprogrammed machine. Describe at which points in time during program development to execution time where addresses within the program can be bound to the actual physical memory it uses for execution? What are the implication of using each of the three binding times?

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


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


Virtual Memory

Q7: What is swapping?


Q8: What is Paging?


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


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


Q11: 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


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


Q13: 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)?


Q14: What is temporal and spatial locality?


Q15: What effect does increasing the page size have?


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


Q17: Describe four replacement policies and compare them.


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


Q19: 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