FIFO页面置换算法
实验题目:页面置换算法(FIFO)院系:
班级学号:
姓名:
指导老师:
二0 一四年上学期
◆实验题目:页面置换FIFO算法
◆实验内容:编程实现页面置换FIFO算法。
◆实验目的:理解并掌握模拟分页式虚拟存储管理的缺页中断,
以及选择页面调度算法处理缺页中断。
◆实验原理:问题分析及算法设计(流程图)
实验源代码:
#include "stdio.h"
#define n 20
#define m 4
void main()
{
int ym[n],i,j,q,mem[m]={0},table[m][n];
char flag,f[n];
printf("请输入页面访问序列\n");
for(i=0;i scanf("%d",&ym[i]); printf("\n"); for(i=0;i { q=0; while((ym[i]!=mem[q])&&(q!=m)) q++; if(q==m) flag='*'; //缺页,则置标志flag为‘*’else flag=' '; if(flag=='*') { for(j=m-1;j>0;j--) //淘汰最先调入的页面调入当前访问的 mem[j]=mem[j-1]; mem[0]=ym[i]; } for(j=0;j table[j][i]=mem[j]; f[i]=flag; } printf("输出结果为下表(0代表为空,*代表有缺页):\n"); for(i=0;i { for(j=0;j printf("%3d",table[i][j]); printf("\n"); } for(i=0;i printf("%3c",f[i]); } 实验结果:(截图) 实验总结:(心得体会) 先进先出页面置换算法是最早出现的置换算法。算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列并设置一个指针,称为替换指针使其总指向最老的页面。