You are on page 1of 2

Operating System

Name: Ashwin Pawar Roll no: 23


Practical no: 15

Practical code:

#include <stdio.h>
#define MAX_FRAMES 3
int isPageInMemory(int page, int frames[], int frameCount) {
for (int i = 0; i < frameCount; i++) {
if (frames[i] == page) {
return 1;
}
}
return 0;
}
int main() {
int referenceString[] = {1, 2, 3, ,2,1,5,2,1,6,2,5,6,3,1,3,6,1,2,4,3};
int frameCount = 0;
int frames[MAX_FRAMES];
int pageFaults = 0;
for (int i = 0; i < MAX_FRAMES; i++) {
frames[i] = -1;
}
int referenceStringLength = sizeof(referenceString) / sizeof(referenceString[0]);
for (int i = 0; i < referenceStringLength; i++) {
int page = referenceString[i];
if (!isPageInMemory(page, frames, frameCount)) {
if (frameCount < MAX_FRAMES) {
frames[frameCount] = page;
frameCount++;
} else {
for (int j = 0; j < frameCount - 1; j++) {
frames[j] = frames[j + 1];
}
frames[frameCount - 1] = page;
}
pageFaults++;
}
printf("Current Pages in Memory: ");
for (int j = 0; j < frameCount; j++) {
printf("%d ", frames[j]);
}
printf("\n");
}
printf("Total Page Faults: %d\n", pageFaults);
return 0;}

1
Operating System

OUTPUT:

You might also like