Operating System Virtual Memory - Operating System

What is system virtual memory?

A computer will have the capacity to address more memory than the sum that is physically introduced on the framework. This additional memory is known as virtual memory and it is a segment of a hard circle which is set up for imitating the PC's RAM.

Primary advantage of this plan is that projects will be bigger than the physical memory. Virtual memory will fill two needs. To begin with, it will permit to broaden the use of physical memory with the utilization of circle. Second, it will permit to have memory security as each virtual deliver will be meant a physical address.

Below are the situations, when entire program does not have to be loaded fully in main memory.

  • User written error handling routines will be used only when an error occurred in the data or computation.
  • Some options and features of a program can be used rarely.
  • Many tables will be assigned a fixed amount of address space even though only a small amount of the table is actually used.
  • The ability of executing a program which is only partially in memory may contradict many benefits.
  • Less number of I/O will be required to load or swap each user program into memory.
  • A program will not be controlled by the amount of physical memory which is available.
  • Each user program can take less physical memory; more programs can be run at the same time with equivalent increase in CPU utilization and throughput.

Current microchips proposed for universally useful utilize, a memory administration unit, or MMU will be incorporated with the equipment. MMU's activity is to make an interpretation of virtual locations into physical locations. An essential illustration is demonstrated as follows.


Virtual memory is by and large actualized by request paging and it can likewise be executed in a division framework. Request division is likewise utilized for giving virtual memory.

Demand Paging

Demand paging system is like a paging framework with swapping where procedures will dwell in optional memory and pages will be stacked just on request, not ahead of time. At the point when a setting switch happens, the working framework won't duplicate any of the old program's pages out to the plate or any of the new program's pages into the principle memory Instead, it will simply start executing the new program in the wake of stacking the main page and it will fetche that program's pages as and when they are referenced.


Amid the execution of a program, if the program is referencing a page which isn't accessible in the primary memory as it was swapped out somewhat prior, processor will regard this invalid memory reference as a page blame and it will exchange control from the program to the working framework to request the page over into the memory.


Below are the advantages of Demand Paging

  • Large virtual memory.
  • More efficient use of memory.
  • No limit on degree of multiprogramming.


  • Number of tables and the amount of processor overhead to handle page interrupts is greater when compared to the simple paged management techniques.

Page Replacement Algorithm

Page substitution calculations are the strategies utilized by an Operating System to choose which memory pages to swap out, write to plate when a page of memory requires to be designated. Paging happens at whatever point a page blame happens and a free page won't be utilized for assignment reason bookkeeping to reason that pages won't be accessible or the quantity of free pages is lower than the required pages.

At the point when a page which is chosen for substitution and is paged out, is referenced once more, it should read in from circle and this is required for I/O finishing. This procedure will decide the nature of the page substitution calculation: the lesser the time sitting tight for page-ins, the better is the calculation.

A page substitution calculation will take a gander at the restricted data to get to the pages gave by equipment and it will attempt to choose which pages ought to be swapped for limiting the aggregate number of page misses, while adjusting it with the expenses of essential stockpiling and processor time of the calculation itself. There are various page substitution calculations and every calculation can be assessed by running it on a particular string of memory reference and figuring the quantity of page shortcomings.

Reference String

The string of memory references is known as reference string. Reference strings will be produced misleadingly or by following a given framework and recording the address of every memory reference. The last decision will deliver a substantial number of information, where we note two things.

  • For a given page estimate, we ought to consider just the page number yet not the whole address.
  • When we have a reference to a page p, at that point any instantly following references to page p will never cause a page blame. Page p will be in memory after the main reference; the promptly following references won't blame.
  • For instance, consider the accompanying grouping of addresses − 123,215,600,1234,76,96
  • On the off chance that page estimate is 100, at that point the reference string is 1,2,6,12,0,0
  • To start with In First Out (FIFO) calculation
  • Most seasoned page in fundamental memory is the one which will be chosen for substitution.
  • It is anything but difficult to execute, keeps a rundown, replaces pages from the tail and include new pages at the head.

First In First Out (FIFO) algorithm

  • Oldest page in main memory is the one which will be selected for replacement.
  • It is easy to implement, keeps a list, replaces pages from the tail and add new pages at the head.


Optimal Page algorithm

  • An optimal page-replacement algorithm will have the lowest page-fault rate of all algorithms. An optimal page-replacement algorithm exists and is known as OPT or MIN.
  • Replace the page which will not be used for the longest period of time and use the time when a page is to be used.


Least Recently Used (LRU) algorithm

  • Page which is not used for the longest time in main memory will be selected for replacement.
  • Easy to implement, keep a list, replace pages by looking back into time.


Page buffering algorithm

  • User should keep a pool of free frames to start a process quickly.
  • On page fault, select a page to be replaced.
  • Write the new page in the frame of free pool and mark the page table and restart the process.
  • Now write the dirty page out of disk and place the frame holding replaced page in free pool.

Least frequently Used (LFU) algorithm

  • Page with the smallest count will be selected for replacement.
  • This algorithm will suffer from the situation in which a page is used heavily during the initial phase of a process, but it will not be used again.

Most frequently Used (MFU) algorithm

  • This algorithm will be based on the argument that the page with the smallest count was probably just brought in and is yet to be used.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

Operating System Topics