broken into "pages", usually 4 KB. Most pages will not be used.
broken into page-sized block called frames.
virtual page can be unallocated, uncached (allocated in disk), cached (allocated in memory).
If we access a page not in physical memory, HW generates a page fault exception. Then the OS will bring in the page to physical memory (possibly evicting another page)
page size should be fairly large
pages in main memory should be fully-associative to reduce conflicts and maximize page hits