Tutorial Week 9


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.