Page fault can be handled by using an external pager. Advantage of this method is that it is highly flexible. Disadvantage is that, processing overhead is increased. Here are the components involved:
1) Page Fault Handler: It is in the kernel space and handles paging. It is in machine-independent code.
2) External Pager: It is in user space and is used for accessing a page in disk.
3) Memory management unit (MMU) handler: It takes care of the memory management. It is in machine-dependent code.
Working: After a process has started, external pager is informed to create a process page map and for creating a backup in the disk. On the occasion of a page fault, page fault handler informs about it to the external pager. Then, external pager looks for a virtual page from disk and it saves it in its address space. After that it notifies the page fault handler about the location of the page. Then, unmapping of page is done from the address space of the external pager. Then it is sent to MMU handler. MMU handler puts the page to the specific address space of the user. After that the process is started again.