<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wikimd.com/index.php?action=history&amp;feed=atom&amp;title=Virtual_memory</id>
	<title>Virtual memory - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wikimd.com/index.php?action=history&amp;feed=atom&amp;title=Virtual_memory"/>
	<link rel="alternate" type="text/html" href="https://wikimd.com/index.php?title=Virtual_memory&amp;action=history"/>
	<updated>2026-04-04T12:11:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wikimd.com/index.php?title=Virtual_memory&amp;diff=5640241&amp;oldid=prev</id>
		<title>Prab: CSV import</title>
		<link rel="alternate" type="text/html" href="https://wikimd.com/index.php?title=Virtual_memory&amp;diff=5640241&amp;oldid=prev"/>
		<updated>2024-04-21T13:30:32Z</updated>

		<summary type="html">&lt;p&gt;CSV import&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:Virtual_memory.svg|Virtual memory|thumb]] [[File:University_of_Manchester_Atlas,_January_1963.JPG|University of Manchester Atlas, January 1963|thumb|left]] &amp;#039;&amp;#039;&amp;#039;Virtual memory&amp;#039;&amp;#039;&amp;#039; is a [[memory management]] technique that provides an &amp;quot;idealized abstraction of the storage resources that are actually available on a given machine&amp;quot; which &amp;quot;creates the illusion to users of a very large (main) memory.&amp;quot; The [[operating system]] uses a combination of hardware and software to enable the total [[virtual address space]] available to an application or process to be larger than the physical [[memory]] in the computer. The concept of virtual memory is central to modern [[computer architecture]], [[operating systems]], and [[programming models]].&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Virtual memory involves the separation of logical memory from physical memory. This separation allows an extremely large [[virtual memory]] to be provided for programmers when only a smaller physical memory is available. Following this model, the concept of a virtual address space is used, where an address does not directly correspond to a physical location in memory. Instead, the [[operating system]] maintains a [[page table]] that maps virtual addresses to physical addresses. These mappings may change over time in response to the needs of the application and the system.&lt;br /&gt;
&lt;br /&gt;
==How Virtual Memory Works==&lt;br /&gt;
When a program tries to access a location in its virtual address space, the operating system checks the page table to determine whether the page is in physical memory (RAM). If it is, the operating system translates the virtual address to a physical address, allowing the CPU to access the data. If the page is not in RAM, a [[page fault]] occurs, prompting the operating system to load the required page into physical memory. This process may involve swapping out another page to a [[swap file]] or [[swap partition]] on the disk, a process known as paging or swapping.&lt;br /&gt;
&lt;br /&gt;
==Benefits==&lt;br /&gt;
Virtual memory offers several benefits:&lt;br /&gt;
* It allows more processes to run simultaneously than would otherwise be possible, by sharing the physical memory among multiple processes.&lt;br /&gt;
* It simplifies memory management by providing each process with a contiguous block of addresses.&lt;br /&gt;
* It isolates each process from others, improving security and stability.&lt;br /&gt;
* It enables applications to use more memory than is physically available on the system.&lt;br /&gt;
&lt;br /&gt;
==Challenges==&lt;br /&gt;
However, virtual memory can also introduce challenges:&lt;br /&gt;
* Accessing disk storage is much slower than accessing RAM, so performance can suffer if the system has to swap pages frequently (a situation known as thrashing).&lt;br /&gt;
* The complexity of managing virtual memory can increase the overhead of the operating system.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
The implementation of virtual memory can vary between different [[operating system]]s and hardware architectures. However, common elements include the use of page tables to map virtual addresses to physical addresses and the use of a [[Memory Management Unit (MMU)]] to automate the translation of addresses at runtime.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Memory management]]&lt;br /&gt;
* [[Page fault]]&lt;br /&gt;
* [[Swap file]]&lt;br /&gt;
* [[Memory Management Unit (MMU)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Computer architecture]]&lt;br /&gt;
[[Category:Operating systems]]&lt;br /&gt;
[[Category:Memory management]]&lt;br /&gt;
&lt;br /&gt;
{{computing-stub}}&lt;/div&gt;</summary>
		<author><name>Prab</name></author>
	</entry>
</feed>