So as we know when page fault occurs:
(1)the hardware traps to the kernel
(2) saves program counter on the stack
(3)assembly-code routine saves all registers on corresponding process table entry
(4)page fault handler discovers which virtual page is needed
(5)if everything is valid and no page frames are free, the page replacement algorithm is run to select a victim
(6) If the page frame selected is dirty, the page is scheduled for transfer to the disk, and a context switch takes place, suspending the faulting process and letting another one run until the disk transfer has completed
(7)and after step 6 is another 4 steps to bring in the corresponding page from backing store in RAM and so on ......
what i dont understand is that when at step 6 context switch occurs this means that page fault handler must suspend until disk transfer has completed , but how is it then posible to resume page fault handler at step 7>? as i know all handlers(Interrupt , trap , fault) are running in kernel and they are not processes