#include int main() { int no, frame[10], a[50], n, avail, count = 0; int i, j, k; printf("Enter the number of frames: "); scanf("%d", &no;); printf("Enter the number of pages: "); scanf("%d", &n); printf("Enter the page reference string: "); for (i = 0; i < n; i++) { scanf("%d", &a[i]); } for (i = 0; i < no; i++) { frame[i] = -1; } j = 0; printf("Page reference string: "); for (i = 0; i < n; i++) { printf("%d ", a[i]); } printf("\n\nFrame allocation:\n"); for (i = 0; i < n; i++) { avail = 0; for (k = 0; k < no; k++) { if (frame[k] == a[i]) { avail = 1; break; } } if (avail == 0) { frame[j] = a[i]; j = (j + 1) % no; count++; for (k = 0; k < no; k++) { if (frame[k] != -1) { printf("%d ", frame[k]); } else { printf("- "); } } printf("\n"); } } printf("\nTotal page faults: %d\n", count); return 0; }