From 3107f5c38cd6842d909c30e7f8257d60751ba722 Mon Sep 17 00:00:00 2001 From: SMARTA SANGUI <40299522+SMARTA01@users.noreply.github.com> Date: Sat, 31 Oct 2020 10:02:25 +0530 Subject: [PATCH] FIFO_PRA FIFO Page Replacement Algorithm implementation in C. --- FIFO_PRA | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 FIFO_PRA diff --git a/FIFO_PRA b/FIFO_PRA new file mode 100644 index 0000000..e0b3853 --- /dev/null +++ b/FIFO_PRA @@ -0,0 +1,50 @@ +#include +int main() +{ + int referenceString[30], pageFaults = 0, m, n, s, pages, frames; + printf("\nEnter the number of Pages:\t"); + scanf("%d", &pages); + printf("\nEnter reference string values:\n"); + for( m = 0; m < pages; m++) + { + printf("Value No. [%d]:\t", m + 1); + scanf("%d", &referenceString[m]); + } + printf("\n What are the total number of frames:\t"); + { + scanf("%d", &frames); + } + int temp[frames]; + for(m = 0; m < frames; m++) + { + temp[m] = -1; + } + for(m = 0; m < pages; m++) + { + s = 0; + for(n = 0; n < frames; n++) + { + if(referenceString[m] == temp[n]) + { + s++; + pageFaults--; + } + } + pageFaults++; + if((pageFaults <= frames) && (s == 0)) + { + temp[m] = referenceString[m]; + } + else if(s == 0) + { + temp[(pageFaults - 1) % frames] = referenceString[m]; + } + printf("\n"); + for(n = 0; n < frames; n++) + { + printf("%d\t", temp[n]); + } + } + printf("\nTotal Page Faults:\t%d\n", pageFaults); + return 0; +}