What are the hardware and software requirements for virtual memory?
The hardware required for virtual memory is a secondary memory and page table. The page table should have the ability to mark an entry as valid or invalid. The secondary memory is the one that holds the pages that are not present in the memory. It is generally a high speed disk and the section used is called swap space.
The main software requirement can be restart any instruction after a page fault occurs. If a page fault take place during instruction fetch the instruction is to be restarted moreover if it occurs during fetch of an operand then the instruction is to be fetched and decoded and then fetches the operand.