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

📄 fifopagereplacement.java

📁 进程调度和存储管理模拟
💻 JAVA
字号:
package cn.edu.cauc.crab.ossimulate;import java.util.*;import javax.swing.*;/** * <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 {    JTextArea out;    /**     * @param memoryBig init the memory page number.     */    public FIFOPageReplacement(int memoryBig) {        super(memoryBig);    }    public FIFOPageReplacement(int memoryBig, JTextArea out) {        super(memoryBig);        this.out = out;    }    void printMemory() {        if (out == null)            System.out.print("内存:");        else            out.append("内存:");        Iterator p = memory.iterator();        while (p.hasNext()) {            Page page = (Page)p.next();            if (out == null)                System.out.print("" + page.number + " ");            else                out.append("" + page.number + " ");        }        if (out == null)            System.out.print("\n");        else            out.append("\n");    }    public void start() {        while (!pageList.isEmpty()) {            Page page = (Page)pageList.remove(0);            if (inMemory(page)) {                if (out == null)                    System.out.print("命中:" + page.number + "\n");                else                    out.append("命中:" + 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -