Virtual Memory
To understand why "this doesn't work", a few things need to be explained.
How CPUs gets data from "memory"
A CPU gets data from memory by requesting an address to the memory system. In the old days, the CPU had direct access to it and it was responsible for all the memory management (using software routines). Since this obviously takes up CPU cycles, something was created to manage memory
Here comes the Memory Management Unit (MMU)
The MMU's job, as the name implies, is to handle data requests from the CPU. So the CPU can go "MMU, I want X bytes from Y location" and the MMU does the rest. If the CPU is requesting a location that doesn't exist or there's some other issue, the MMU can deny the request and the CPU can notify whatever software was running on it there was a problem. For example, if the MMU can address up to 4GB of memory, but there's only 1GB of memory installed, if the CPU tries to access a location that would be between 1GB and 2GB, the MMU will deny the request because it doesn't exist.
But way back when in like the 80s and 90s, RAM was a precious resource. So things were done to make it appear as if there's more memory to the system and have a way to better utilize memory
Virtual Memory, or making software think there's more memory than there really is
The idea of virtual memory is instead of having the memory space be limited to how much RAM you have installed, it's limited by the MMU and the side of the OS that manages data in RAM. Virtual memory is typically comprised of two memory spaces: the actual physical RAM installed (physical memory), and the so-called swap space. The swap space is typically the storage drive, but for some hardware, like video cards, the swap space is physical memory as they have they VRAM that they'll use first. In Windows, the swap space is a file located in C:\ called "pagefile.sys"
As an example, say you have 1GB of RAM installed but the MMU can support a total of 4GB. The OS goes "okay, I'll create 3GB of swap space." Applications will believe that the computer has 4GB of memory and when they request data, the OS and MMU handle the conversion from virtual memory space to physical memory space.
The point of the swap space is that if the OS thinks there's data an application hasn't used in a while or ever and another application wants more memory, it will transfer the unused data to the swap space to free up room in physical memory.
So to answer the question
The reason why expanding "virtual memory" didn't increase the computer's "memory" is because all you did was increase the swap space. Unfortunately, swap space and virtual memory tend to be interchanged.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now