Difficult conceptual topic. Explain how to use memory maps to do whatever the hell you're supposed to use them for.
TODO: check gui tags.
When a program is launched, the system assigns it a unique process ID
(PID) and its instructions and data are loaded into memory
in pages. The page table of each process maps the correspondence
between its pages in virtual memory and their location in physical memory.
The
If multiple copies of a program are running, the instructions (or text) of the program only need to be loaded once into physical memory. Each time a new instance of the program is launched (as a unique process with its own virtual memory pages), its page table maps the location of the text in virtual memory to those instructions in the original real memory location. In addition, any dynamic shared libraries used by the process appear as distinct in virtual memory, but are shared references to a single copy of the library's text segment in real memory. When accounting for the total memory use of a process, it is important to note that the cost of shared libraries loaded into memory can be spread across all processes currently using them.
When the system needs more pages of memory than are available, some of the
existing pages will be paged out or written to the