What is Page Fault? Explain

2 years ago
Operating System

A page fault occurs when a
 program attempts to access data
 or code that is in its

address space, but is not currently located in the system RAM. occurs then following sequence of events happens:
 So when page fault

⦁    The computer hardware
 traps to the kernel and program
 counter (PC) is saved

on the stack. Current instruction state information is saved in CPU registers.
⦁    An assembly program is started to save the general registers and other volatile information to keep the OS from destroying it.

⦁    Operating system finds that a page fault has occurred and tries to find out which virtual page is needed. Sometimes hardware register contains this required information. If not, the operating system must retrieve PC, fetch instruction and find out what it was doing when the fault occurred.
⦁    Once virtual address caused page fault is known, system checks to see if address is valid and checks if there is no protection access problem.
⦁    If the virtual address is valid, the system checks to see if a page frame is free. If no frames are free, the page replacement algorithm is run to remove a page.
⦁    If frame selected is dirty, page is scheduled for transfer to disk, context switch takes place, fault process is suspended and another process is made to run until disk transfer is completed.
⦁    As soon as page frame is clean, operating system looks up disk address where needed page is, schedules disk operation to bring it in.
⦁    When disk interrupt indicates page has arrived, page tables are updated to reflect its position, and frame marked as being in normal state.
⦁    Faulting instruction is backed up to state it had when it began and PC is reset. Faulting is scheduled, operating system returns to routine that called it.
⦁    Assembly Routine reloads register and other state information, returns to user space to continue execution.

0
Sanisha Maharjan
Jan 14, 2022
More related questions

Questions Bank

View all Questions