Saturday, November 24, 2007

IS215 - Memory Management Exercises - 1

Exercises

1. When binding of addresses to memory locations is done at execution time, relocation 'is less expensive than when binding is done at compile time. Explain.

2. The main problem of Multiprogramming with Fixed Number of Tasks is internal fragmentation while that of Multiprogramming with Variable Number of Tasks is external fragmentation. Explain.

3. Define swapping. What are the motivations for providing swapping? Show how this technique enables a reasonable response time to be given to each user of an interactive system. In what situation is swapping not effective?

4. Why is CPU utilization improved when swapping is upgraded from that where only one user process is allowed in memory at a time to one where more than one user process is allowed in memory at a time.

5. Outline one method of protecting the memory of a multi-user system. Specifically answer the question of how to protect the systems area (without totally preventing other users from accessing the said area as long as it is done correctly) and the areas allocated to other users.

6. Compaction usually introduces a high overhead because it has to consider the binding of user's variables to memory locations. Explain.

7. Differentiate temporal from spatial locality. Illustrate the two using access to the memory by the computer system.

8. Why is it impossible to share the code of a process that allows modification on the code itself.

9. Given the following segment table:
Segment NumberBaseLimit
050150
11000100
2500200
325050

What are the equivalent real addresses of the following virtual addresses:

a) (0, 10)
b) (1, 150)
c) (2,100)
d) (3, 25)

10. Assuming a page frame size of 1024 and given the following page table:
Page NumberBase
01024
13072
25120
32048

What are the equivalent real addresses of the following virtual addresses:
a) (0, 64)
b) (1, 1048)
c) (2, 1)
d) (3, 1024)

No comments: