fifopagereplacement.java~17~

来自「进程调度和存储管理模拟」· JAVA~17~ 代码 · 共 84 行

JAVA~17~
84
字号
package cn.edu.cauc.crab.ossimulate;import java.util.*;/** * <p>Title: OS simulate</p> * <p>Description: This is my home work.</p> * <p>Copyright: Copyleft (c) 2004</p> * <p>Company: CAUC</p> * @author Crab * @version 0.1 *//** * To simulate first in first out page replacement. * * @author Crab * @version 0.1 * @see cn.edu.cauc.crab.ossimulate.PageReplacement */public class FIFOPageReplacement extends PageReplacement {    /**     * @param memoryBig init the memory page number.     */    public FIFOPageReplacement(int memoryBig) {        super(memoryBig);    }    void printMemory() {        System.out.print("内存:");        Iterator p = memory.iterator();        while (p.hasNext()) {            Page page = (Page)p.next();            System.out.print("" + page.number + " ");        }        System.out.print("\n");    }    public void start() {        while (!pageList.isEmpty()) {            Page page = (Page)pageList.remove(0);            if (inMemory(page)) {                System.out.print("命中:" + page.number + "\n");            } else { // 未命中                if (memory.size() < memoryBig) {                    memory.add(page);                    //out put the memory                    printMemory();                } else {                    memory.remove(0);//out the first                    memory.add(page);                    //out put the memory                    printMemory();                }            }        }    }    public static void main(String[] args) {        PageReplacement pR = new FIFOPageReplacement(3);        pR.addPage(7);        pR.addPage(0);        pR.addPage(1);        pR.addPage(2);        pR.addPage(0);        pR.addPage(3);        pR.addPage(0);        pR.addPage(4);        pR.addPage(2);        pR.addPage(3);        pR.addPage(0);        pR.addPage(3);        pR.addPage(2);        pR.addPage(1);        pR.addPage(2);        pR.addPage(0);        pR.addPage(1);        pR.addPage(7);        pR.addPage(0);        pR.addPage(1);        pR.start();    }}

⌨️ 快捷键说明

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