Professional Documents
Culture Documents
Page Fault
Page Fault
the number of pages that can be held in RAM at any given time. Assume the pages are accessed by
some program in the order shown below, from left to right. Also, assume that the program has just
started, so the frames are initially empty. How many page faults will be generated assuming that the
LRU (Least Recently Used) algorithm is being used?
A page fault occurs when a program tries to access a page that is mapped in address space, but not
loaded in the physical memory (the RAM). In other words, a page fault occurs when a program can
not find a page that its looking for in the physical memory, which means that the program would have
to access the paging file (which resides on the hard disk) to retrieve the desired page.
The term page fault is a bit misleading as it implies that something went seriously wrong. Although
page faults are undesirable as they result in slow accesses to the hard disk they are quite common
in any operating system that uses virtual memory.
Now, we need to actually solve the problem. The easiest way to do this is to break the problem down
into 12 steps (where 12 is the number of pages) to see what happens each time a page is referenced by
the program, and at each step see whether a page fault is generated or not. Of course, we want to keep
track of what pages are currently in the physical memory (the RAM). The first four page accesses will
result in page faults because the frames are initially empty. After that, if the program tries to access a
page thats already in one of the frames then theres no problem. But if the page that the program is
trying to access is not already in one of the frames then that results in a page fault. In this case, we
have to determine which page we want to take out (or swap) from the RAM, and for that we use the
LRU algorithm.
Some other algorithm could be used as well FIFO and NRU are other possibilities and as a group
these are known as page replacement algorithms. Applying the LRU algorithm to this problem is
fairly straightforward you simply remove the page that was least recently used. Proceeding in this
manner leads to the chart shown below you should try this out yourself before looking at the answer.
Page referenced
Page Fault
Resulting List
3,4
3,4,2
3,4,2,1
3,2,1,4
2,1,4,7
1,4,7,2
4,7,2,5
7,2,5,3
2,5,3,6
5,3,6,1
5,6,1,3