资源简介
页面置换算法的模拟程序。用随机数方法产生页面走向,根据页面走向,分别采用FIFO和LRU算法进行页面置换,统计缺页率。
代码片段和文件信息
package os3;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
class MainGUI implements ActionListener{
Jframe frame;
JLabel llengthlmemlpage;
JTextField tlengthtmemtpage;
JLabel lnull;
JLabel lmiss;
JButton bFIFObLRUbNew;
JTable table;
int lengthmempage;
DefaultTableModel tableModel;
Vector vcolumn = new Vector();
Vector vdata = new Vector();
Vector vpage = new Vector();
int break_num;
Vector vmem = new Vector();
MainGUI(){
frame = new Jframe(“页面置换算法模拟程序“);
llength = new JLabel(“页面走向长度:“);
lmem = new JLabel(“可用内存块:“);
lpage = new JLabel(“页表长度:“);
lnull = new JLabel(“ “);
tlength = new JTextField(10);
tmem = new JTextField(10);
tpage = new JTextField(10);
bFIFO = new JButton(“FIFO“);
bLRU = new JButton(“LRU“);
bNew = new JButton(“生成新页面走向“);
lmiss = new JLabel();
lmiss.setHorizontalAlignment(JLabel.CENTER);
tableModel = new DefaultTableModel(vdatavcolumn);
table = new JTable(tableModel);
JScrollPane sp = new JScrollPane(table);
frame.setLayout(new BorderLayout());
JPanel pn = new JPanel();
pn.setLayout(new GridLayout(21));
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
p1.add(llength);
p1.add(tlength);
p1.add(lmem);
p1.add(tmem);
p1.add(lpage);
p1.add(tpage);
p2.add(bFIFO);
p2.add(bLRU);
p2.add(bNew);
pn.add(p1);
pn.add(p2);
JPanel pnull = new JPanel();
pnull.add(lnull);
JPanel pnulll = new JPanel();
pnulll.add(lnull);
frame.add(pn BorderLayout.NORTH);
frame.add(sp BorderLayout.CENTER);
frame.add(pnull BorderLayout.WEST);
frame.add(pnulll BorderLayout.EAST);
frame.add(lmiss BorderLayout.SOUTH);
frame.setVisible(true);
frame.setSize(650 650);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(Jframe.DISPOSE_ON_CLOSE);
bFIFO.addActionListener(this);
bLRU.addActionListener(this);
bNew.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == bFIFO ){
funcFIFO();
}
if(e.getSource() == bLRU){
funcLRU();
}
if(e.getSource() == bNew){
length = Integer.parseInt(tlength.getText());
mem = Integer.parseInt(tmem.getText());
page = Integer.parseInt(tpage.getText());
vpage = new Vector();
Random random = new Random();
vcolumn.removeAllElements();
vcolumn.add(“页面访问序列“);
for(int i=0;i vcolumn.add(“ “);
}
vcolumn.add(“缺页标记“);
vdata.removeAllElements();
for(int i=0;i Integer page_num = random.nextInt(page);
- 上一篇:Java语言程序设计叶乃文 程序代码
- 下一篇:课程设计报告 数独游戏
相关资源
- java实现LRU虚拟内存替换算法.zip
- 操作系统存储管理地址变换算法演示
- 操作系统生产者与消费者java源代码
- 操作系统实验报告-文件管理系统
- Java操作系统课设之模拟进程管理系统
- java编写整合操作系统五个算法
- java页面置换算法的模拟实现
- 操作系统 高相应比优先java实现带界面
- Linux操作系统高性能集群监控管理之道
- 操作系统页面置换算法-java界面化实现
- 史上最强大的java版的银行家算法
- FIFO置换算法java代码实现
- 操作系统概念JAVA实现第七版.rar
- java实现银行家算法操作系统
- java编写的操作系统
- 读者写者问题 JAVA
- 操作系统实验java版
- 操作系统的模拟实现
- 操作系统课程设计——“生产者消费
- 操作系统进程状态模拟
- 操作系统os页面置换算法java实现Cloc
- 操作系统页面置换算法之-LRU(最近最
- OS实验+银行家算法报告+实验完整版
- 操作系统主存储器空间的分配和回收
- 操作系统大作业-理发师问题
- Java模拟操作系统内存管理,进程管理
- Java 操作系统课设之模拟进程管理系统
- JAVA实现FIFO、LRU、OPT页面置换算法,有
- 2017-广东工业大学操作系统之进程调度
- 操作系统课程设计Java实现
评论
共有 条评论