实验原理:在内存运行过程中,若其所要访问得页面不在内存而需要把她们调入内存,但内存已经没有空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据送磁盘得对换区中。但应将那个页面调出,需根据一定得算法来确定.通常,把选择换出页面得算法成为页面置换算法.置换算法得好坏,将直接影响到系统得性能。一个好得页面置换算法,应具有较低得页面更换频率.从理论上讲,应将那些以后不再会访问得页面置换出,或者把那些在较长时间内不会在访问得页面调出.目前存在着许多种置换算法(如 FIFO,OPT,LRU),她们都试图更接近理论上得目标。实验目得:1.熟悉F IFO,O P T与L RU 算法2.比较三种算法得性能优劣实验内容:写出 FIFO,O P T 与LR U 算法得程序代码,并比较它们得算法性能.实验步骤:代码如下:#inc lu de <stdio、h>#define M 4 //物理页数#d e fine N 2 0ﻩ//需要调入得页数t ype d ef struct page{int n um;i nt time;}Page;ﻩ//物理页项,包括调入得页号与时间 P a ge mm[M]; //4 个物理页int qu e ue1[2 0],que u e2[20],queue 3[20];ﻩ//记录置换得页int K=0,S=0,T=0;ﻩ//置换页数组得标识int pos=0;//记录存在最长时间项//初始化内存页表项及存储内存情况得空间vo i d IN I T(){int i;for(i=0;i<M;i++){ﻩmm[i]、n um =-1;ﻩﻩm m[i]、ti me =0;}}//取得内存中存在时间最久得位置i n t Get M ax(){ﻩi nt m ax=—1;i nt i;fo r(i=0;i〈M;i++){ﻩﻩif(m m[i]、t i me 〉 max){ﻩmax=mm[i]、time ;ﻩpo s=i;ﻩ}}ﻩr e tur n pos;}//检查最长时间不使用页面 int l o n gesttim e(int fold){ﻩin t i;int m ax=-1;ﻩf or(i=fold;i〈N;i++){ﻩﻩif(m m[0]、n um!=i){ﻩmm[0]、ti m e++;}ﻩﻩﻩif(mm[1]、n um!=i){ﻩﻩﻩmm[1]、ti m e++;{ﻩﻩﻩﻩi f(mm[2]、num!=i){ﻩmm[2]、t i me++;{ﻩﻩﻩﻩif(m m[3]、num!=i){ﻩm m[3]、time++;ﻩﻩ}}f or(i=0;i〈M;i++){if(mm[i]、ti m e>m ax){ﻩmax=mm[i]、time;ﻩﻩﻩpo s=i;ﻩ}}ﻩr etu r n pos;}//检查某页就是否在内存int E qu at i on(int fold){int i;f...