OS 12 b
OS 12 b
}
// Page not found - page fault occurs
if (!found) {
// Find least recently used (smallest counter value)
least = counter[0];
pos = 0;
for (j = 1; j < frames; j++) {
if (counter[j] < least) {
least = counter[j];
pos = j;
}
}
frame[pos] = pageSeq[i];
time++;
counter[pos] = time;
faults++;
// Print frame content
printf("%d\t", pageSeq[i]);
for (k = 0; k < frames; k++) {
if (frame[k] == -1)
printf("- ");
else
printf("%d ", frame[k]);
}
printf("\n");
} else {
printf("%d\tNo page fault\n", pageSeq[i]);
}
}
printf("\nTotal Page Faults = %d\n", faults);
Sprno:9223
return 0;
}
OUTPUT:
Enter number of frames: 3
Page Frames
1 1--
3 13-
0 130
3 No page fault
5 530
6 536
3 No page fault