I know that for standard page tables each process would have its own page table and for inverted the OS would have it.
But other than this what are the main differences between a standard page table and an inverted one?
Computer Science Stack Exchange is a question and answer site for students, researchers and practitioners of computer science. It only takes a minute to sign up.Sign up to join this community
The purpose of this inverted page table is to reduce the amount of physical memory needed to track virtual-to-physical address translations. We accomplish this savings by creating a table that has one entry per page of physical memory, indexed by the pair <process-id, page-number>. Because they keep information about which virtual memory page is stored in each physical frame, inverted page tables reduce the amount of physical memory needed to store this information.
Each inverted page-table entry is a pair <process-id, page-number> where the process-id assumes the 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 is then searched for a match. If a match is found—say, at entry i— then the physical address <i, offset> is generated. If no match is found, then an illegal address access has been attempted.
Although this scheme decreases the amount of memory needed to store each page table, it increases the amount of time needed to search the table when a page reference occurs. (because we might search the whole table to find a match).
Also with inverted page tables, only one mapping of a virtual address to the shared physical address may occur a any given time. A reference by another process sharing the memory will result in a page fault and will replace the mapping with a different virtual address.
More information : Operating System Concepts, 10th Edition | Abraham Silberschatz, Greg Gagne, Peter B. Galvin