
There is another teensy weensy problem.
Microsoft using various means, does not allow legal modification of windows
core by "outsiders" to allow relocation to "unused" memory.
Since hardware, with a proper memory manager, in hardware and software,
usually can do such things, the problem ends up going back to Microsoft's
code.
After all, memory mapping is a very old technique, going back to the
minicomputers, if not farther back in history. Some of the minicomputers
had an rough equivalent to Windows swap file, in that if enough memory was
installed, resided in memory rather than only on disk. At one point, some
of HP's systems swapped out almost anything that was not currently in use.
The ops system maintained a table that was used to find everything.
(1970's) long before Apple, etc. One of the major problems is the
compatibility issue with older P/C hardware and "standards" that are the
result of "IBM compatibility", based on a crippled hardware design intended
to prevent competition with mainframe capabilities and save hardware costs.
The older schemes also were usually intended for use with multiusers, be the