Virtual memory is a mechanism that creates the illusion of having a very big main memory. With the concept of virtual memory, the user can store processes with size bigger than the available main memory. Virtual memory is a technique that allows the execution of processes that are not completely in memory. This technique frees programmers from the concerns of memory-storage limitations.
We do not require the whole code/data at any instant, or even within a finite time – we can bring it in only as needed. For example,
Therefore, in the virtual memory mechanism, the system stores large programs in form of pages during their execution and only the required pages or portions of processes are loaded into the main memory thereby creating an illusion of having very large memory that can accommodate large programs in it.
According to the concept of virtual memory, for the execution of any process, only a few pages of a process are required at any instant of time.
However, to decide which pages of a process will reside in the main memory, the system will load into the main memory the page that contains its first instruction. After that, the system loads a page from secondary storage to main memory only when the process explicitly demands that page This technique is known as demand paging.
A demand-paging system is similar to a paging system with swapping. When we want to execute a process, we swap it into memory. Rather than swapping the entire process into memory, however, we use a lazy swapper or pager as shown in the figure below.
The system makes use of a valid and invalid bit to identify whether a page resides in the main memory or not. It uses the valid bit to indicate residency. The meaning of invalid bit is twofold. Firstly, the system uses it to indicate the legal page is currently not present in the main memory. Secondly, it can be used to indicate a page not present in memory because the address is illegal.
The page fault occurs when the system accesses the page which is not present in the main memory. In other words, the page with an invalid bit.
Handling Page fault
The above discussion has been summarized in the form of a PPT with animations below.
Note: Click within the slide area for animations. Clicking on the “next” slide button will not display any animation
Segmentation Page Replacement Algo’s