Multilevel Paging in OS
Entry of each page of a process is recorded into its page table. If the page table size exceeds its frame, then OS further divides the table into equal frame sizes. So, that page table could easily be accommodated into the frame. It is all multilevel paging in OS.
Page Table Base Register value is stored in the Outermost table of that process. We move the outermost to the innermost table to find the required address.
In the same way, if the size of the second level page table is greater than the frame size, then we again divide the 2 level page table into equal frame sizes, and the third level page table is generated, and so on.
Multilevel paging with example
If there is a process of 8 pages and its page table size is 8MB while the frame size of main memory is 2MB. The page table cannot fit into a single frame, so we have to load this table into multiple frames.
As the Page table size is 8MB, divide it into four equal page tables of 2MB each. These 4-page tables are loaded into different frames, as shown in the diagram.