Multi-level page tables, Operating System

Assignment Help:

Multi-level page tables are tree-like structures to hold page tables. As an example, consider a two- level page table, again on a 32-bit architecture with 212 = 4 kbyte pages. Now, we can divide the virtual address into three parts: say 10 bits for the level-0 index, 10 bits for the level-1 index, and again 12 bits for the offset within a page.

The entries of the level-0 page table are pointers to a level-1 page table, and the entries of the level-1 page table are PTEs as described above in the single-level page table section. Note that on a 32-bit architecture, pointers are 4 bytes (32 bits), and PTEs are typically 4 bytes.

So, if we have one valid page in our process, now our two-level page table only consumes (210

level-0 entries)(22
bytes/entry)+1(210
level-1 entries)(22
bytes/entry) = 2212
bytes = 8 kbytes:

For processes with sparse virtual memory maps, this is clearly a huge savings, made possible by the additional layer of indirection.

Note that for a process which uses its full memory map, that this two-level page table would use slightly more memory than the single-level page table (4k+4M versus 4M). The worst-case memory usage, in terms of ef?ciency, is when all 210 level-1 page tables are required, but each one only has a single valid entry.

In practice, most page tables are 3-level or 4-level tables. The size of the indices for the different levels are optimized empirically by the hardware designers, then these sizes are permanently set in hardware for a given architecture.


Related Discussions:- Multi-level page tables

Explain why sstf scheduling tends to favor middle cylinders, Explain why SS...

Explain why SSTF scheduling tends to favor middle cylinders over the innermost and outermost cylinders. The center of the disk is the location having the fewest average distanc

#title:cs604, Consider a scenario of post mailbox, there are two processes ...

Consider a scenario of post mailbox, there are two processes named sender S and receiver R. Both processes can communicate with each other by name along with message. You need to I

Define the global vs. local variables, Define the Global vs. local variable...

Define the Global vs. local variables It is also important to discuss the scope of resources being granted to the application program.  Variable scoping is defined as the acces

Operating system strectures, with the aid of diagrams describe the followin...

with the aid of diagrams describe the following os structures monolithic , layered, client server

What is the information associated with an open file, What is the informati...

What is the information associated with an open file? Various pieces of information are associated with  an open file which may be: File pointer Disk location of th

Explain the basic concepts of segmentation, Explain the basic concepts of s...

Explain the basic concepts of segmentation. Segmentation definition User view of program Hardware used with diagram-segment table, base, limit & offset Protection and

Define analysis for syntactic structure of source statement, An analysis, w...

An analysis, which defines the syntactic structure of the source statement, is known as Syntax analysis defines the syntactic structure of the source statement

Program, i need the job to be done within 3days

i need the job to be done within 3days

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd