Virtual memory: Difference between revisions
imported>Eric M Gearhart (added blurb about 'page faults') |
imported>Pat Palmer m (grammar) |
||
Line 1: | Line 1: | ||
{{subpages}} | {{subpages}} | ||
'''Virtual memory''' is a concept in [[computer science]] that lets a program use more memory than | '''Virtual memory''' is a concept in [[computer science]] that lets a program use more memory than is physically available for it. The [[operating system]] will keep the needed parts of the program's memory in main memory, and put the parts that are not currently used on the disk. The parts on the disk will then be swapped into memory as needed. The concept of virtual memory was first described by Fotheringham in 1961<ref>John Fotheringham. ''Dynamic storage allocation in the Atlas computer, including an automatic use of a backing store'', in Communications of the ACM, Volume 4 , Issue 10 (October 1961). Pages: 435 - 436 ([http://portal.acm.org/citation.cfm?doid=366786.366800# ACM])</ref>. | ||
There are two components in virtual memory. The first part is exactly equal to the amount of real memory, and is physically stored in in real memory. The second part is the space having addresses above the real memory. This part is stored on a external paging device, usually a [[hard disk]].<ref>W. S. Davies and T. M. Rajkumar. ''Operating Systems: A systematic view''. Pearson Education, 2005. Page 127</ref>. | There are two components in virtual memory. The first part is exactly equal to the amount of real memory, and is physically stored in in real memory. The second part is the space having addresses above the real memory. This part is stored on a external paging device, usually a [[hard disk]].<ref>W. S. Davies and T. M. Rajkumar. ''Operating Systems: A systematic view''. Pearson Education, 2005. Page 127</ref>. |
Revision as of 12:04, 16 January 2008
Virtual memory is a concept in computer science that lets a program use more memory than is physically available for it. The operating system will keep the needed parts of the program's memory in main memory, and put the parts that are not currently used on the disk. The parts on the disk will then be swapped into memory as needed. The concept of virtual memory was first described by Fotheringham in 1961[1].
There are two components in virtual memory. The first part is exactly equal to the amount of real memory, and is physically stored in in real memory. The second part is the space having addresses above the real memory. This part is stored on a external paging device, usually a hard disk.[2].
Paging
Most virtual memory systems use a technique called paging. The virtual address space is divided into units called pages, and the corresponding units in physical memory are called page frames. Transfers between main memory and the external paging device are always in units of a page. A virtual address is mapped to a physical address by a Memory Management Unit (MMU)[3]. When pages are pulled from swap space back into main memory this is called a 'page fault.'
References
- ↑ John Fotheringham. Dynamic storage allocation in the Atlas computer, including an automatic use of a backing store, in Communications of the ACM, Volume 4 , Issue 10 (October 1961). Pages: 435 - 436 (ACM)
- ↑ W. S. Davies and T. M. Rajkumar. Operating Systems: A systematic view. Pearson Education, 2005. Page 127
- ↑ Andrew S. Tannenbaum. Modern Operating Systems. Prentice-Hall 2001. Page 202-203