Memory Allocation
Each student will be able to:
- Describe the difference(s) between dynamic and static linking.
Explain at least one relative advantage of each.
- Describe the buddy system of dynamic memory allocation.
- Consider dynamic memory allocation.
Given an ordered list of allocation and deallocation requests
show the how a binary buddy system will allocate and deallocate
memory to implement that list of allocation and
deallocation requests.
- Given a fixed size buffer, arranged in a boundary-tag
paradigm for dynamic memory allocation
and an ordered list of allocation and deallocation requests
show the behavior of the allocation processes using each
of the following heuristics.
- first fit
- best fit
- worst fit
- Describe the "problem" that virtual memory is
designed to solve?
- Within the context of a virual memory system,
given an "address" at run time, show the steps that
are necessary to actually access the "data" at
that location.
- When considering the relative advantages and disadvantages of
(programmer) overlays and virtual memory,
describe one advantage of overlays? Describe one
advantage of virtual memory?
- Given a CPU clock speed, the number of cycles needed for
a successful access of main memory, the amount of time needed
to access a disk (when a miss occurs in main memory),
and the page fault rate, compute the average number of
cycles required to access main memory.
- We discussed 5 scheduling policies recommended for choosing
a page to remove from memory when bringing a new page in.
Those are FIFO, Random, Optimal, LRU, and LRU approximation.
Describe how each of those policies work. Give relative
advantages and disadvantages of each.
- Given a fixed number of pages, and a trace of which pages are
accessed when during "program execution", show, for each of the
replacement policies listed below, both 1) how the contents of the
fixed number of pages would change during the time indicated by the
page trace, and 2) the number of page faults that would occur in
the given page trace.