- An attempt is made for accessing the page.
- If page is present in the memory the usual instructions are followed.
- If page is not there i.e., is invalid then a page fault is generated.
- Memory reference to a location in the virtual memory is checked if it is valid or not. If it’s an illegal memory access then the process is terminated. If not the requested page has to be paged in.
- The disk operations are scheduled for reading the requested page in to the physical memory.
- Restarting the instruction that raised the page fault trap.
Tuesday, June 25, 2013
These are two very important concepts of memory management strategies in the computer operating systems namely demand paging and paging replacements.
About Demand Paging
- Demand paging is just the opposite concept of the anticipatory paging.
- Demand paging is actually a memory management strategy developed for managing the virtual memory.
- The operating system that makes use of demand paging technique, a copy of the disk page is made and kept in the physical memory whenever a request is made for it i.e., whenever a page fault occurs.
- It is obvious that the execution of a process starts with none of its page loaded in to the main memory and follows by a number of page faults occurring one after the other until all of its required pages have been loaded in to the main memory.
- Demand paging comes under the category of the lazy loading techniques.
- This strategy follows that only if the process in execution demands a page, then only it should be brought in to the main memory.
- That’s why the strategy has been named as demand paging. Sometimes it is even called as the lazy evaluation.
- Page table implementation is required for using the demand paging technique.
- The purpose of this table is to map the physical memory to the logical memory.
- This table uses a bit wise operator for marking a page as valid or invalid.
The following steps are carried out whenever a process demands for a page:
- The nature of this strategy is itself of great advantage.
- Upon availability of more space in the physical memory, it allows execution of many processes leading to a decrease in the context switching time.
- At the time of program start up, less latency occurs during loading.
- This is because the inflow and outflow of the data between main memory and secondary memory is very less.
About Page Replacement
- When less number of real memory frames is available, it leads to invoking a page stealer.
- This stealer searches through the PFT (page frame table) for pages to steal.
- This table stores references to the pages which are required and modified.
- If the requested page is found by the page stealer, it does not steal it but the reference flag is reset for that page.
- So in the pass when the page stealer comes across this page, it steals this page.
- Note that in this pass the page was flagged as un-referenced.
- Any change made to the page is indicated by means of the modify flag.
- If the modify flag of the page to be stolen is set, then a page out call has to be made before the page stealer does its work.
- Thus, the pages that form a part of the currently executing segments are written to so called paging space and the persisting segments are in turn written to the disk.
- The page replacement is carried by the algorithms called the page replacement algorithms.
- Besides this, these also keep a track of the faults.