Issue:
- Page table has one entry for each page that the process is using. So a page table can have millions of entries. These tables may consume large amounts of physical memory, which is required to keep track of how the other physical memory is being used.
Solution:
- we can use inverted page table for the above issue.
Working:
- An inverted page table has one entry for each real page of memory.
- Each entry consists of the virtual address of the page stored in that real memory location; with information about the process that owns that page.
- Thus only one page table is in the system and it has only one entry for each page of physical memory.
- An inverted page table requires an address space identifier stored in each entry of the page table.
- Storing the address space identifier ensures the mapping of a logical page for a particular process to the corresponding physical page frame.
- Each virtual address in the system consists of a triple
<process-id, page-number, offset>
- Each inverted page table entry is a pair
<process-id, page-number>
- Process-id –role of the address-space identifier.
- When a memory reference occurs ,part of the virtual address, consisting of
<process-id, page-number> is presented to the memory subsystem.
- The inverted page table then searches for a match.
- If a match is found at entry i then the physical address< i, offset> is generated.
- If no match is found, then an illegal address access has been attempted.
Example:
- Systems using inverted page table are 64-bit UltraSPARC and PowerPC.
No comments:
Post a Comment