When page fault happens in virtual memory management, what is the steps of OS to handle this situation?
- Check an internal table for this process, to determine whether the reference was a valid or invalid memory access
- If the reference was invalid, we terminate the process. If it was valid, but we have not yet brought in that page, we now page it in
- We find a free frame
- We schedule a disk operation to read the desired page into the newly allocated frame
- When the disk read is complete, we modify the internal table kept with the process and the page table to indicate that the page is now in memory
- We restart the instruction that was interrupted by the illegal address trap. The process can now access the page as though it had always been in memory