Trap to the operating system (save registers and state).
Operating system looks at the process PCB to decide whether:
- Not in logical address space ? abort the process.
- Page is not in memory ? continue:
Allocate a free frame in memory. ???
Schedule a disk read of the page to the free frame.
Allocate the CPU to some other process.
Interrupt from the disk (I/O completed).
Save registers and state for currently running process.
Update original process page table (the desired page is in memory).
Move original process to ready queue - will wait for CPU allocation.
Restore registers and state then restart the trapped instruction.