import java.util.*;
class PageTable {
private final int[] pageFrames;
private final int[] pageReferences;
private int pageFaults_OPT;
private int pageFaults_FIFO;
private int pageFaults_LRU;
public PageTable(int[] pageReferences1,int n) {
this.pageFrames = new int[n];
for (int i = 0; i < n; i++) {
pageFrames[i] = -1;
}
this.pageReferences=pageReferences1;
this.pageFaults_OPT = 0;
this.pageFaults_FIFO = 0;
this.pageFaults_LRU = 0;
}
//OPT
private void optPageReplacement() {
int [] hash = new int[41];
for(int i=0;i<41;i++)
{
hash[i]=0;
}
for (int i = 0; i < pageReferences.length; i++) {
hash[pageReferences[i]]++;
}
for(int j=0;j<pageReferences.length;j++) {
boolean flag = false;
for (int i = 0; i < pageFrames.length; i++) {
if(pageReferences[
页面置换算法的模拟实现及命中率对比
于 2024-04-28 18:17:23 首次发布
文章详细描述了一个使用Java编写的PageTable类,实现了OPT、FIFO和LRU三种页面替换算法,用于管理内存并计算不同策略下的页面命中率。通过随机生成访问地址序列来模拟实际应用情况。

最低0.47元/天 解锁文章
7873

被折叠的 条评论
为什么被折叠?



