- 1. Memory Mapped File. A memory mapped file is a file which is mapped into
memory, this allows the file contents to be addressed directly as though it
were memory and not a file. Memory Mapped files are an efficient way of
accessing a file, as sections (pages) of the file are only loaded from disk
on demand and written automatically when dirty (i.e. changed). The file can
be mapped entirely or only a section of the file, as required. Memory mapped
files also provide a very efficient way of sharing data between different
processes - each process can map the same file into memory at the same time,
allowing each to read and write the same memory mapped file.
Since memory mapped files require that the file (or the desired part of the file) to be mapped into the available address space of the computer it should be appreciated that:
- this does not extend the address space. So even when using memory mapped files a 32bit computer can still only address a maximum of 4GB of RAM (real or virtual).
- the computer requires a free contiguous block in the address space at which to map the file. If the address space is fragmented and the file large then the situation may arise where the file cannot be mapped because there is no free contiguous address space large enough. This may give rise to application errors where the application works for a while and then fails.
Most modern operating systems provide the facility for memory mapped files. Similarly most modern operating systems use a memory mapped file to allow more memory to be addressed than is physically available in the computer - this is known as virtual memory and is synonymous with a paging file.
For more information see:
- http://msdn2.microsoft.com/en-us/library/ms810613.aspx - Article on Managing Memory -Mapped files in Win32 from Microsoft.
- 2. Make Money Fast. Originally used to refer to a specific type of scam email (a pyramid scheme), but can be used equally of any money making scam.