Multi level page table: Multi level page tables are used so that all pages should not be in the memory at all times. The page tables which are not frequently used can be kept aside. A two level page table is given below. Multi level page tables can use any level of page tables like three, four, etc. depending on the complexity. It is usually used for 32-bit machines.
Here, there is a top level page table which acts like a master table and has the index to second level page tables. In second level page table, there are three tables for handling text, data and stack.
Virtual address of a two level page table will look like:
Here, PTA field is used as an index in top level page table and provides page frame number of a second level page table. PTB field is used as an index in second level page table and is used for locating the page frame number for a particular page. Offset is used for creating the physical address.
Inverted page table: In an inverted page table there is one entry for every page frame in real memory. By this the amount of space required for virtual address space is greatly reduced. It is usually used for 64-bit machines. In Inverted page table, mapping of virtual to physical address space is difficult. To solve this problem a hash table is used.