Which of these activities are performed by the CPU while execution the instructions and which by the Operating System (OS) interrupt handler that manages page faults? I am not sure about the distinction between the two's functions in virtual memory access.
- Translate virtual memory address to a physical memory (DRAM) address
- Mark a page as recently referenced
- If a page is not in DRAM, decide which existing page in DRAM needs to be removed to make room for it
- Load a page from disk into DRAM
- Update the page table to indicate that the loaded page is now in DRAM
- If the program instruction corresponds to a store instruction, indicate in the page table entry that the page is dirty