Paged Virtual Memory Management (VMM). Tyler Fetters 11.21.2012 CS201 – Systems Programming. Outline. Warm Up Question Define VMM Memory Layout and Costs VMM Parable Vocabulary History of VMM Reason for VMM VMM implementation Summary. To run slow or not to run at all?
CS201 – Systems Programming
To run slow or not to run at all?
That is the question….
Memory management policy that separates physical from logical memory. In particular, virtual memory can create the impression that a larger amount of memory is addressable than is really available on the target.
Main memory actually available physically to a processor. Antonym: Logical memory.
Attribute of a page (or of any memory object) referenced by executing code: Object is physically in memory, then it is resident, or is not in memory, then it is non-resident.
A portion of physical memory that is aligned and fixed in size able to hold one page. It starts at a boundary evenly divisible by the page size. Total physical memory should be an integral multiple of the page size. Logical memory is an integral multiple of page size by definition.
A list of addresses of user Pages. Typically each page table consumes an integral number of pages, e.g. 1. In addition to page addresses, each entry also contains information about presence, access rights, dirty, global, etc. similar to Page Directory entries.
A list of addresses for Page Tables. Typically this directory consumes an integral number of pages as well, e.g. 1 page. In addition to page table addresses, each entry also contains information about presence, access rights, written to or not, global, etc. similar to Page Table entries.
Transfer of a page of information from secondary storage to primary storage (into a page frame in memory); from disk to physical memory.
Transfer of a page of information from primary to secondary storage; from physical memory to disk.
Excessive amount of swapping. When this happens, performance is severely degraded. This is an indicator for the working set being too small.
That number of allocated physical page frames to guarantee that the program executes without thrashing. Working set is unique for any piece of software; moreover varies by the input data for a particular execution of such a piece of SW.