1.实验目的
用高级语言模拟页面置换算法LRU,加深对LRU算法的认识。 2.实验要求
用高级语言模拟页面置换算法LRU,加深对LRU算法的认识。
3.实验过程描述
原理(思路)
其基本原理为:当进程在CPU上运行时,如指令中涉及逻辑地址时,操作系统自动根据页表得到页号相关信息。 如果某一个页面被访问了,它很可能还要被访问;相反,如果它长时间不被访问,再最近未来是不大可能被访问的。
4.实验代码
package 实验四;
public class Lru {
static int[][] LRU=new int[3][2];
private static int[][] add(int i) {
int max=-1;
int index=0;
if (NoExist(i)==-1){
for (int j = 0; j < LRU.length ; j++) {
if (LRU[j][1]>max){
index=j;
max=LRU[j][1];
}
}
LRU[index]=new int[]{i,-1};
}else {
for (int j = 0; j < LRU.length ; j++) {
if (LRU[j][0]==i){
LRU[j][1]=-1;
break;
}
}
}
for (int j = 0; j <LRU.length ; j++) {
LRU[j][1]++;
}
return LRU;
}
private static int NoExist(int i) {
for (int j = 0; j <LRU.length ; j++) {
if (i==LRU[j][0])return j;
}
return -1;
}
}
public static void main(String[] args) {
int[] page_table={1,2,1,3,6,1,2,3,1,2,3,4,1,3};
System.out.println("页号 页号 页号 ");
for (int i :page_table) {
LRU=add(i);
for (int[] J: LRU) {
System.out.print(J[0]+" ");
}
System.out.println();
}
}
5.实验结果
如果本文章对你有用 记得点赞哦 ( ̄∇ ̄)