⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getrandom.java

📁 模拟实现以下页面置换算法
💻 JAVA
字号:
package myprojects.os;
import java.util.Random;
import java.io.*;
//GetRandom类,用于产生400个0~399间的随机数指令地址及其相对应的页地址
class GetRandom{
	String str="";
	public GetRandom(){}	//缺省构造函数
	public int[] getRandom(){ //产生400个0~399间的随机数指令地址的方法,并返回
		int[] dictate = new int[400];	//存放这些指令的数组首地址	
		Random b= new Random();		//创建一个Random类的对象
		int i;
		int j;
		for(i=0;i<400;i=i+5){
			dictate[i]=b.nextInt(400);	//获取随机数(循环一次获取5个指令数)
			dictate[i+1]=dictate[i]+1;
			dictate[i+2]=b.nextInt(dictate[i+1]);
			dictate[i+3]=dictate[i+2]+1;
			dictate[i+4]=dictate[i+3]+1+b.nextInt(398-dictate[i+3]);					
		}
		return dictate;			//返回数组首地址
	}
		
	public int[] getPage(){		//将指令数组转换为其相应的页地址方法
		int[] page = new int[400];
		int[] dic = new int[400];
		dic=getRandom();	//取得指令数组首地址
		int i;
		for(i=0;i<400;i++)
			page[i]=dic[i]/10;	//变换	
		return page;		//返回存放页地址的数组的首地址
	}
		
	public String outRandom()throws IOException{	//	将指令及相应页面转换为一字符串函数
		int[] d = new int[400];
		int[] p = new int[400];
		d=getRandom();	//取得指令数组首地址
		p=getPage();	//获取存放页地址的数组的首地址
		int i;
		for(i=0;i<400;i++){          //	将指令及相应页面以字符串存放
		 	str=str+"["+String.valueOf(d[i])+"  "+String.valueOf(p[i])+"]"+"  ";
			if(i%10==9)              
				str=str+"\n";	
		}
		return str;//返回该字符串
	}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -