newfifo.c
来自「能够实现操作系统中页面置换算法(先进先出算法)」· C语言 代码 · 共 59 行
C
59 行
#include<stdio.h>
void main()
{
int m,k; //m为内存块数
int i=0,j=0,count=0; //count计算缺页次数,s为缺页率
int page[32],block[32]; //定义数组长度
printf("请输入内存容量m:");
scanf("%d",&m);
printf("请输入页面次序:\n");
for(i=0;i<12;i++)
{scanf("%d",&page[i]);}
for(j=0;j<m;j++)//初始化block[j];使等于-1,表示开始时内存中无页面.
{
block[j]=-1;
}
i=0,j=0;
while(i<12)
{
for(k=0;k<m;k++)
{
if(block[k]==page[i])
{
printf("内存中有这个页面,直接访问.\n");
break;
}
} // 判断内存中是否有该页面.
if(k==m)
{
if(block[m-1]<0)
{
block[j]=page[i];
printf("%d页面进入内存,",block[j]);
count++;
printf("产生%d次缺页\n",count);
j++;
j=j%m;
}//开始的m个页面进入内存
else
{
count++;
printf("%d页面被置换出去,产生%d次缺页\n",block[j],count);
block[j]=page[i];
j++;
j=j%m;
}
}//if
i++;
}//while
}//main
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?