Main
int num1[100], num2[100], total[100]
for i = 0 to 99
do
total[i] = num1[i] + num2[i];
done
Least recently used
Main paged in
| Data | VM Page |
| 3K Total | |
| 2K Num2 | |
| 1K Num1 | |
| 0K Main | 0 |
|
|
N1 paged in and element stored in accumulator
| Data | VM Page |
| 3K Total | |
| 2K Num2 | |
| 1K Num1 | 1 |
| 0K Main | 0 |
|
|
N2 paged in and element added to accumulator
| Data | VM Page |
| 3K Total | |
| 2K Num2 | 2 |
| 1K Num1 | 1 |
| 0K Main | 0 |
|
| Frame | Data |
| 2K | N2 |
| 1K | N1 |
| 0K | M |
|
Because Main is the drive and is invoking the total reference, it stays.
Total paged in after N1 paged out and total written from accumulator
| Data | VM Page |
| 3K Total | 1 |
| 2K Num2 | 2 |
| 1K Num1 | |
| 0K Main | 0 |
|
| Frame | Data |
| 2K | N2 |
| 1K | T |
| 0K | M |
|
Next itteration
N1 paged in after N2 paged out
| Data | VM Page |
| 3K Total | 1 |
| 2K Num2 | |
| 1K Num1 | 2 |
| 0K Main | 0 |
|
| Frame | Data |
| 2K | N1 |
| 1K | T |
| 0K | M |
|