The memory management subsystem is one of the most important parts of
the operating system. Since the early days of computing, there has been
a need for more memory than exists physically in a system. Strategies
have been developed to overcome this limitation and the most successful
of these is virtual memory. Virtual memory makes the system appear to
have more memory than it actually has by sharing it between competing
processes as they need it.