Understanding Virtual Memory

Written by Barry Dysert (last updated November 23, 2020)

Virtual memory is the name given to the contiguous address range used by a computer program. For a program to run, its instructions must reside in physical memory. However, when there are several programs running simultaneously or when there's not enough physical memory to encompass the amount of memory needed by a program, the computer uses virtual memory to fulfill the program's needs.

For example, if two programs are running at the same time, each program treats memory as if it's one large contiguous block beginning at address zero and extending as far as necessary. Since each program can't access the memory at physical address zero simultaneously, the computer creates blocks (address ranges) of virtual memory that make it seem to each program that it has all of the computer's memory to itself.

Virtual memory is also used when programs need more memory than physically exists in the computer. The computer uses a process called paging to allow programs to access more memory than physically exists. Through paging, the computer keeps track of what blocks of physical memory are currently available, writes the contents of those blocks to disk, and then reads in from disk the previously written data that the currently executing program needs. By using the disk as a temporary storage medium, many different programs can be running at the same time and accessing large portions of memory without ever having to be concerned with whether the data is physically in memory at the time or needs to be paged in from disk.

 This tip (12623) applies to Windows 7, 8, and 10.

Author Bio

Barry Dysert

Barry has been a computer professional for over 35 years, working in different positions such as technical team leader, project manager, and software developer. He is currently a software engineer with an emphasis on developing custom applications under Microsoft Windows. When not working with Windows or writing Tips, Barry is an amateur writer. His first non-fiction book is titled "A Chronological Commentary of Revelation." ...

MORE FROM BARRY

Passing Parameters to a PowerShell Script

Like the older batch-file processor, PowerShell can accept parameters. This allows for flexibility in your script. This ...

Discover More

Allowing Remote Desktop

Remote Desktop allows you to access other systems and operate them from your own system. If you want to use this ...

Discover More

Regaining Control of Your System

The Windows Task Manager is a useful utility that provides information about what's running on your system. You can also ...

Discover More
More WindowsTips

Starting Programs Automatically at Startup

If you have programs that you want to automatically start when your system starts, this tip tells you how to set them up.

Discover More

Running a Program as Administrator

Sometimes a program you're trying to run needs to run with elevated privileges. Assuming you have the authority to do ...

Discover More

Share with a Nearby Computer

Have you ever needed to quickly share something with another computer? With Nearby Sharing, part of the Windows 10 April ...

Discover More
Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] (all 7 characters, in the sequence shown) in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is one more than 9?

There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)


Newest Tips