Multi-level page tables, Operating System

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.

Posted Date: 3/12/2013 5:40:03 AM | Location : United States







Related Discussions:- Multi-level page tables, Assignment Help, Ask Question on Multi-level page tables, Get Answer, Expert's Help, Multi-level page tables Discussions

Write discussion on Multi-level page tables
Your posts are moderated
Related Questions
List two types of system directories A) Device directory:- Describing physical properties of files. B) File directory :- Giving logical properties of the files.

draw a state diagram showing the transissions of a process from creation to termination


There are three kinds of Data Abstraction: Physical level: The minimum level of abstraction defines how data are saved. Logical level: The next bigger level of a

What is the basic approach of page replacement? If no frame is free is available, find one that is not presently being used and free it. A frame can be freed by writing its con

Multitasking - An Operating systems that is proficient of allowing multiple software processes to be run at the same time. Below are some instances of multitasking Operating Syste

Describe paging technique used in UNIX systems. When a process begin in UNIX, not every its memory pages are read in from the disk at once. In its place, the kernel loads into

A UNIX file system has 1-KB blocks and 4-byte disk addresses. What is the maximum file size if i-nodes contains 10 direct entries, and one single, double, and triple indirect entry

Question: a) What is an Input/Output module and what are the five categories their functions fall into? b) What is an Operating System? Briefly describe the two objectives

Explain the OS/2 Operating System Like NetWare, OS/2 manage resources at three levels, as shown in Figure 4.5 Resources may be maintained at the session, process, and thread le