• 大小: 3KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: Java
  • 标签: java  Clock  Lru  Fifo  

资源简介

操作系统os 页面置换算法 (java实现) Clock.java Lru.java Opt.java Fifo.java

资源截图

代码片段和文件信息



import javax.swing.*;

public class Clock {
// 时钟页面置换算法Clock
public static final int PROGRAMLEN = 12;
public static final int PROGRAMNUM = 5;
public static final int PAGELEN = 3;

public static void main(String[] args) {

int[] program = new int[PROGRAMLEN]; // program为要装入的程序
for (int i = 0; i < PROGRAMLEN; i++) {
program[i] = (int) (Math.random() * PROGRAMNUM + 1);
}
// int[] program = { 5 5 5 5 1 5 2 3 1 3 3 4 };//------5
// int[] program = { 2 3 2 1 5 2 4 5 3 2 5 2 };// ------8
// int[] program = { 4 3 5 5 1 5 3 4 1 1 4 2 };//------6
// int[] program = { 3 1 3 2 5 2 3 4 1 4 3 5 };// ------7
for (int pro : program)
System.out.print(“ “ + pro);
System.out.println(““);

int[] page = new int[PAGELEN];
for (int i = 0; i < PAGELEN; i++)
page[i] = 0;

int[] index = new int[PAGELEN];
for (int i = 0; i < PAGELEN; i++)
index[i] = 0;

int lostPage = 0;
int pointer = 0;
for (int i = 0; i < PROGRAMLEN; i++) {
int j = 0;
for (j = 0; j < PAGELEN; j++)
if (page[j] == program[i]) {
index[j] = 1;
break;
}
if (j < PAGELEN)
continue;

lostPage++;
while (index[pointer] == 1) {
index[pointer++] = 0;
pointer %= PAGELEN;
}
page[pointer] = program[i];
index[pointer++] = 1;
pointer %= PAGELEN;
}

JOptionPane.showMessageDialog(null “时钟页面置换算法(Clock)缺页 “ + lostPage+ “ 次“);
}

}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1615  2010-12-02 18:48  Fifo.java

     文件       1789  2010-12-02 18:46  Lru.java

     文件       1789  2010-12-02 18:46  Opt.java

     文件       1550  2010-12-02 18:47  Clock.java

----------- ---------  ---------- -----  ----

                 6743                    4


评论

共有 条评论