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:
- 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.
- 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.
No comments:
Post a Comment