Assume the page size is 100 bytes for this example. We divide the program into pages and memory is already divided into page frames. Suppose that free list of frames (i.e., physical pages) is (0,1,2,4,6,7,8). We can use the first five to hold our program:
Virtual Program Physical Memory
page page frame contents
+--------+ +--------+
0 | page 0 | 0 | page 1 |
+--------+ +--------+
1 | page 1 | 1 | page 0 |
+--------+ +--------+
2 | page 2 | 2 | page 2 |
+--------+ +--------+
3 | page 3 | 3 | |
+--------+ +--------+
4 | page 4 | 4 | page 3 |
+--------+ +--------+
5 | |
+--------+
6 | page 4 |
+--------+
7 | |
+--------+
8 | |
+--------+