Those computer users who are lucky to find the glorious heyday of systems based on 8086-compatible processors know very well how important the amount of installed memory was at that time. The bill went literally in kilobytes: in order to exceed the base 640 kb and reach the “fantastic” 736 kb, a special external expansion module was purchased, which is a weighty board in a relatively large case. However, computer technology quickly evolved and soon a psychological barrier of 1 megabyte was passed. RAM modules have become much more compact, in addition, there are processors that use it to the full. The applications did not lag behind. A significant event was the release of Windows third version, which used virtual memory. However, these were only timid steps in a direction that would subsequently become the standard of all operating systems.
What is virtual memory? Imagine two identical computers running Windows 3, only 1 MB of memory is installed, and 2 MB is installed in the other. Selecting software applications based on volume means doom the programmers to hard labor, because they will have to optimize their products for 1, 2, etc. megabyte. To create a program designed for a standard minimum of 640 kb means to abandon some features by “dropping” the application into the framework. And focusing on 2 MB means losing potential buyers who have only 1 MB in computers. Microsoft also understood this, so a mechanism called "virtual memory" was proposed. Programmers no longer need to know how much is installed on each computer. Of course, some limitations are nevertheless taken into account, but on the whole, the operating system took care of how to “make friends” the resource-demanding application and computer components. Of course, no miracles happen. The principle of operation is extremely simple.
Take, for example, the case when an application developed for 2 MB is launched on a computer with 1 MB. Part of the volume is occupied by the system itself, so out of 1 MB only 500 KB are available to the user (conditionally). We launch the application. If the virtual memory is not used or disabled, then the program takes up all 500 kb and stops working, giving an error message. But everything is completely different, if the mechanism is turned on: those 500 kb are involved, if the next memory request is in progress, then the data block is written to a special file on the disk, freeing up the amount of RAM. For the application, the mechanism is transparent. In fact, virtual memory is part of the operating memory, but located not on the chips, but on the disk. Such a solution was so successful that work is still underway to improve it. So, in the latest Windows 8, the swapfile, intended only for metro applications, was added to the already familiar pagefile paging file .
Sometimes users may see a system message stating that virtual memory is running out. How to explain this in the light of all the above? Moreover, it is not clear if we consider that free disk space on the hard drive may still remain. One of the most likely reasons for this lies in the incorrect settings of the virtual memory mechanism. Although by default the system selects the automatic swap file size control mode, manual adjustment with the indication of hard frames is allowed. Whether it is necessary to do this or not, each user decides independently, but if an error occurs due to lack of volume, you will have to raise the allowed upper limit. This is configured in the performance settings (you can get through the "My Computer" properties or from the control panel).