资源简介
通过gui实现算法,包括fifo,LRU等算法,很详细,入门级别。
代码片段和文件信息
package FIFO;
import java.util.*;
public class FIFO {
private int N; //页框大小
private int yekuang[]; //页框数组
private int xulie[]; //访问页面序列数组
private int size; //判断页框是否已满
private Listlist=null;
private double queyelv;
public FIFO(String strint N){
size=0;
Scanner scan=new Scanner(System.in);
// System.out.println(“请依次输入页面访问序列,中间以空格隔开:“);
list=new ArrayList();
// String s=scan.nextLine();
// String []s1=s.split(“ “);
String []s1=str.split(“ “);
int m=s1.length;
xulie=new int[m];
for (int i=0;i list.add(Integer.valueOf(s1[i]));
for(int i=0;i xulie[i]=list.get(i);
// System.out.println(“请输入页框大小(3-10):“);
// N=scan.nextInt();
this.N=N;
this.yekuang=new int[N];
for(int i=0;i this.yekuang[i]=-1;
}
}
public boolean isExist(int num){ //判断页框中是否存在该数
for(int i=0;i if(yekuang[i]==num){
return true;
}
}
return false;
}
public String[] execute(){ //主执行方法
int queyeshu=0;
double zongyeshu=this.xulie.length;
String str[]=new String[50];
for(int i=0;i<50;i++){
str[i]=““;
}
int strLen=0;
int k=0; //访问页面序列计数
while(size if(isExist(xulie[k])==false){ //若该数不存在
queyeshu++;
this.yekuang[size]=xulie[k]; //将数存入页框,页框计数size加一
for(int i=0;i str[strLen]+=“[“+this.yekuang[i]+“]“;
}
str[strLen++]+=“\t***页框有空***a!---即将访问页面““+xulie[k]+“”---!b不存在页框内c将页面““+xulie[k]+“”存入页框【“+(size+1)+“】“;
k++;
size++;
}
else{ //该数已存在于页框中
for(int i=0;i str[strLen]+=“[“+this.yekuang[i]+“]“;
}
str[strLen++]+=“\t***页框未满***a!---即将访问页面““+xulie[k]+“”---!b已经存在c不做置换“;
k++; //仅将访问页面序列加一
}
/* for(int i=0;i System.out.print(yekuang[i]+“ “);
}
System.out.println();
*/
}
int n=0; //先进先出,从第一个页框开始置换
while(k if(isExist(xulie[k])==false){ //不存在
queyeshu++;
int temp=this.yekuang[n];
this.yekuang[n]=xulie[k]; //将数放入指定页框
for(int i=0;i str[strLen]+=“[“+this.yekuang[i]+“]“;
}
str[strLen++]+=“\t***页框满!***a!---即将访问页面““+xulie[k]+“”---!b不存在页框内c将页面““+xulie[k]+“”存入页框【“+(n+1)+“】,置换出页面““+temp+“”“;
k++;
n++;
}
else{
for(int i=0;i str[strLen]+=“[“+this.yekuang[i]+“]“;
}
str[strLen++]+=“\t***页框满!***a!---即将访问页面““+xulie[k]+“”---!b已经存在c不做置换“;
k++;
}
if(n==N){ //当交换三次后,归零,又从第一个页框开始置换
n=0;
}
/* for(int i=0;i System.out.print(yekuang[i]+“ “);
}
System.out.println();
*/
}
System.out.println(queyeshu+“ “+zongyeshu);
this.queyelv=queyeshu/zongyeshu;
str[strLen++]=“缺页率为 “;
str[strLen]=this.queyelv+““;
return str;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// int xulie[]={12243511202};
String str=“1 2 2 4 3 5 1 1 2 0 2“;
FIFO f=new FIFO(str3);
String s[]
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-07-03 13:54 页面置换算法gui(无时钟)\
文件 295 2018-12-29 15:45 页面置换算法gui(无时钟)\.classpath
文件 365 2018-12-29 15:45 页面置换算法gui(无时钟)\.project
目录 0 2019-07-03 13:54 页面置换算法gui(无时钟)\.settings\
文件 587 2018-12-29 15:45 页面置换算法gui(无时钟)\.settings\org.eclipse.jdt.core.prefs
目录 0 2019-07-04 00:31 页面置换算法gui(无时钟)\bin\
目录 0 2019-07-04 00:31 页面置换算法gui(无时钟)\bin\FIFO\
文件 4012 2019-07-04 00:31 页面置换算法gui(无时钟)\bin\FIFO\FIFO.class
目录 0 2019-07-04 00:31 页面置换算法gui(无时钟)\bin\LRU\
文件 4453 2019-07-04 00:31 页面置换算法gui(无时钟)\bin\LRU\LRU.class
目录 0 2019-07-04 00:31 页面置换算法gui(无时钟)\bin\Main\
文件 8867 2019-07-04 00:31 页面置换算法gui(无时钟)\bin\Main\Page_Replacement.class
目录 0 2019-07-04 00:31 页面置换算法gui(无时钟)\bin\OPT\
文件 5228 2019-07-04 00:31 页面置换算法gui(无时钟)\bin\OPT\OPT.class
文件 112 2018-12-29 15:45 页面置换算法gui(无时钟)\README.md
目录 0 2019-07-03 13:54 页面置换算法gui(无时钟)\src\
目录 0 2019-07-03 13:54 页面置换算法gui(无时钟)\src\FIFO\
文件 3388 2018-12-29 15:45 页面置换算法gui(无时钟)\src\FIFO\FIFO.java
目录 0 2019-07-03 13:54 页面置换算法gui(无时钟)\src\LRU\
文件 3890 2018-12-29 15:45 页面置换算法gui(无时钟)\src\LRU\LRU.java
目录 0 2019-07-03 13:54 页面置换算法gui(无时钟)\src\Main\
文件 11273 2018-12-29 15:45 页面置换算法gui(无时钟)\src\Main\Page_Replacement.java
目录 0 2019-07-03 13:54 页面置换算法gui(无时钟)\src\OPT\
文件 3946 2018-12-29 15:45 页面置换算法gui(无时钟)\src\OPT\OPT.java
- 上一篇:labview做的转速采集vi
- 下一篇:思科服务器raid卡驱动
相关资源
- 简单的C/S模式的学生管理系统
- CS61a--作业
- 压缩和解压缩字符串
- JNative使用
- 10_BooksManagement_Design.zip
- 应用服务器直接上传视频文件到抖英
- 订票系统详细设计说明书
- 2019年大数据国赛试题
- 深入理解计算机系统原书第三版超高
- 亚信科技笔试题目就是亚信
- guns 完整视频(未加密)
- Robocode-robots集合
- 单机火车票购票系统
- webSocket 搭建
- web项目概要设计文档模板
- 亲戚关系计算机
- UDP动态温度曲线图
- 微服务监控模板
- 亚信培训项目文档--框架及开发需求(
- M3u8视频工具
- ECharts V3.1.6 最新图表控件修复版兼容
- Struts2.3.15.1版本升级到2.3.32详细流程
- 软件测试 三角形测试
- 计算机网络课程设计:简单FTP客户端
- 使用modbus4j获取数据的源代码
- 桌面弹球游戏代码以及个人总结
- 使用Socket传输视频
- 使用Socket传输音频
- 定义一个接口Assaultable(可攻击的),
- J2ME斜45度游戏引擎
评论
共有 条评论