Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Virtual memory
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Usage == Virtual memory is an integral part of a modern [[computer architecture]]; implementations usually require hardware support, typically in the form of a [[memory management unit]] built into the [[central processing unit|CPU]]. While not necessary, [[emulators]] and [[virtual machine]]s can employ hardware support to increase performance of their virtual memory implementations.<ref>{{cite web|title = AMD-Vβ’ Nested Paging|url = http://developer.amd.com/wordpress/media/2012/10/NPT-WP-1%201-final-TM.pdf|publisher = AMD|access-date = 28 April 2015}}</ref> Older operating systems, such as those for the [[mainframe computer|mainframes]] of the 1960s, and those for personal computers of the early to mid-1980s (e.g., [[DOS]]),<ref>{{cite web |title=Windows Version History |url=http://support.microsoft.com/kb/32905 |date=23 September 2011 |publisher=Microsoft |access-date=9 March 2015 |archive-url=https://web.archive.org/web/20150108044055/http://support.microsoft.com/kb/32905 |archive-date=8 January 2015}}</ref> generally have no virtual memory functionality,{{Dubious|Prevalence of virtual memory operating systems in the 1960s and early 1970s|reason=a lot of paging computers were shipped in the 1960|date=November 2010}} though notable exceptions for mainframes of the 1960s include: * the [[Atlas Supervisor]] for the [[Atlas (computer)|Atlas]] * [[THE multiprogramming system]] for the [[Electrologica X8]] (software based virtual memory without hardware support) * [[Burroughs MCP|MCP]] for the [[Burroughs Corporation|Burroughs]] [[B5000]] * [[Michigan Terminal System|MTS]], [[TSS/360]] and [[CP/CMS]] for the [[IBM System/360 Model 67]] * [[Multics]] for the [[GE-600 series|GE 645]] * The [[Time Sharing Operating System]] for the [[RCA Spectra 70]]/46 During the 1960s and early '70s, computer memory was very expensive. The introduction of virtual memory provided an ability for software systems with large memory demands to run on computers with less real memory. The savings from this provided a strong incentive to switch to virtual memory for all systems. The additional capability of providing virtual address spaces added another level of security and reliability, thus making virtual memory even more attractive to the marketplace. Most modern operating systems that support virtual memory also run each [[process (computing)|process]] in its own dedicated [[address space]]. Each program thus appears to have sole access to the virtual memory. However, some older operating systems (such as [[OS/VS1]] and [[OS/VS2 (SVS)|OS/VS2 SVS]]) and even modern ones (such as [[IBM i]]) are [[single address space operating system]]s that run all processes in a single address space composed of virtualized memory. [[Embedded system]]s and other special-purpose computer systems that require very fast and/or very consistent response times may opt not to use virtual memory due to decreased [[Deterministic algorithm|determinism]]; virtual memory systems trigger unpredictable [[trap (computing)|traps]] that may produce unwanted and unpredictable delays in response to input, especially if the trap requires that data be read into main memory from secondary memory. The hardware to translate virtual addresses to physical addresses typically requires a significant chip area to implement, and not all chips used in embedded systems include that hardware, which is another reason some of those systems do not use virtual memory.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)