Facebook
From mythrean, 2 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 161
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.     int no, frame[10], a[50], n, avail, count = 0;
  5.     int i, j, k;
  6.  
  7.     printf("Enter the number of frames: ");
  8.     scanf("%d", &no;);
  9.  
  10.     printf("Enter the number of pages: ");
  11.     scanf("%d", &n);
  12.  
  13.     printf("Enter the page reference string: ");
  14.     for (i = 0; i < n; i++) {
  15.         scanf("%d", &a[i]);
  16.     }
  17.  
  18.     for (i = 0; i < no; i++) {
  19.         frame[i] = -1;
  20.     }
  21.  
  22.     j = 0;
  23.  
  24.     printf("Page reference string: ");
  25.     for (i = 0; i < n; i++) {
  26.         printf("%d ", a[i]);
  27.     }
  28.     printf("\n\nFrame allocation:\n");
  29.  
  30.     for (i = 0; i < n; i++) {
  31.         avail = 0;
  32.  
  33.         for (k = 0; k < no; k++) {
  34.             if (frame[k] == a[i]) {
  35.                 avail = 1;
  36.                 break;
  37.             }
  38.         }
  39.  
  40.         if (avail == 0) {
  41.             frame[j] = a[i];
  42.             j = (j + 1) % no;
  43.             count++;
  44.  
  45.             for (k = 0; k < no; k++) {
  46.                 if (frame[k] != -1) {
  47.                     printf("%d ", frame[k]);
  48.                 } else {
  49.                     printf("- ");
  50.                 }
  51.             }
  52.             printf("\n");
  53.         }
  54.     }
  55.  
  56.     printf("\nTotal page faults: %d\n", count);
  57.  
  58.     return 0;
  59. }
  60.