The Demand Paging is also same with the Simple Paging. But the Main Difference is that in the Demand Paging Swapping is used. Means all the Pages will be in and out from the Memory when they are required. When we specify a Process for the Execution then the Processes is stored firstly on the Secondary Memory which is also known as the Hard Disk.
But when they are required then they are Swapped Backed into the Memory and when a Process is not used by the user then they are Temporary Swapped out from the Memory. Means they are Stored on the Disk and after that they are Copied into the Memory.
So Demand Paging is the Concept in which a Process is Copied into the Logical Memory from the Physical Memory when we needs them. A Process can load either Entire, Copied into the Main Memory or the part of single Process is copied into the Memory so that is only the single Part of the Process is copied into the Memory then this is also called as the Lazy Swapping.
For Swapping the Process from the Main Memory or from the Physical Memory, a Page Table must be used. The Page Table is used for Storing the Entries which Contains the Page or Process Number and also the offset Number which indicates the address of the Process where a Process is Stored and there will also be the Special or Extra Bit which is also Known as the Flag Bit which indicates whether the Page is Stored into the Physical Memory.
The Page Table Contains two Entries those are used as valid and invalid means whether the Process is Stored into the Page Table. Or Whether the Demand Program is Stored into the Physical Memory So that they can be easily swapped. If the Requested Program is not stored into the Page Table then the Page Table must Contains the Entries as v and I means valid and invalid along the Page Number.
When a user Request for any Operation then the Operating System perform the following instructions:-
1) First of all this will fetch all the instructions from the Physical Memory into the Logical Memory.
2) Decode all the instructions means this will find out which Operation has to be performed on the instructions.
3) Perform Requested Operation.
4) Stores the Result into the Logical Memory and if needed the Results will be Stored into the Physical Memory.