页面置换算法中的先进先出算法和最近最久未使用算法的C语言源代码
时间: 2023-07-26 13:44:36 浏览: 135
先进先出算法(FIFO)的C语言源代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_FRAMES 10
int main()
{
int frames[MAX_FRAMES], pages[MAX_FRAMES], n, faults = 0, pointer = 0, flag1, flag2, i, j;
printf("Enter number of frames: ");
scanf("%d", &n);
printf("Enter number of pages: ");
scanf("%d", &flag1);
printf("Enter page reference string: ");
for(i = 0; i < flag1; ++i){
scanf("%d", &pages[i]);
}
for(i = 0; i < n; ++i){
frames[i] = -1;
}
for(i = 0; i < flag1; ++i){
flag2 = 0;
for(j = 0; j < n; ++j){
if(frames[j] == pages[i]){
flag2 = 1;
++faults;
break;
}
}
if(flag2 == 0){
frames[pointer] = pages[i];
++faults;
pointer = (pointer + 1) % n;
}
printf("\n");
for(j = 0; j < n; ++j){
printf("%d\t", frames[j]);
}
}
printf("\n\nTotal Page Faults: %d", faults);
return 0;
}
```
最近最久未使用算法(LRU)的C语言源代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_FRAMES 10
int main()
{
int frames[MAX_FRAMES], pages[MAX_FRAMES], n, faults = 0, pointer = 0, flag1, flag2, i, j, pos[MAX_FRAMES];
printf("Enter number of frames: ");
scanf("%d", &n);
printf("Enter number of pages: ");
scanf("%d", &flag1);
printf("Enter page reference string: ");
for(i = 0; i < flag1; ++i){
scanf("%d", &pages[i]);
}
for(i = 0; i < n; ++i){
frames[i] = -1;
}
for(i = 0; i < flag1; ++i){
flag2 = 0;
for(j = 0; j < n; ++j){
if(frames[j] == pages[i]){
flag2 = 1;
++faults;
pos[j] = i;
break;
}
}
if(flag2 == 0){
int min = pos[0], pos_min = 0;
for(j = 1; j < n; ++j){
if(pos[j] < min){
min = pos[j];
pos_min = j;
}
}
frames[pos_min] = pages[i];
++faults;
pos[pos_min] = i;
}
printf("\n");
for(j = 0; j < n; ++j){
printf("%d\t", frames[j]);
}
}
printf("\n\nTotal Page Faults: %d", faults);
return 0;
}
```
阅读全文
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-gzip](https://img-home.csdnimg.cn/images/20250102104920.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)