资源简介
页面置换算法的模拟程序。用随机数方法产生页面走向,根据页面走向,分别采用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语言程序设计叶乃文 程序代码
- 下一篇:课程设计报告 数独游戏
相关资源
- 操作系统作业 (pv,作业管理,等5个
- 重庆大学操作系统试卷2015
- 操作系统 生产者消费者问题 Java代码
- 基于安卓操作系统的应用软件开发论
- 基于ARM的11种嵌入式操作系统大盘点
- 操作系统课程设计题目四单处理器系
- Java模拟操作系统实验之四种进程调度
- 操作系统课程设计题目四单处理器系
- 2017-广东工业大学操作系统课程设计银
- 页面置换算法 操作系统作业 java模拟
- 操作系统,页面置换算法
- 用JAVA 编写的一个模拟操作系统含文件
- JAVA-计算机操作系统 多级反馈队列调
- 操作系统 java模拟
- 操作系统概念Linux虚拟机及源代码
- 操作系统实验一进程调度
- java 缓存 cache lru
- 操作系统课程设计 java编写 文档+代码
- 操作系统课程设计--模拟进程调度管理
- Android照片结合LruCache和DiskLruCache Dem
- Android瀑布流照片墙实现,体验不规则
- Weka 3.7.9 windows操作系统
- 操作系统课程设计——模拟生产者与
- 纯java编写的操作系统
- 操作系统 进程调度算法实现Android实现
- 基于Java的移动臂磁盘调度算法
- Java模拟银行前后台简单操作系统
- 用三个线程分别计算平均值,最大值
- 天津理工操作系统实验三java带界面
- 东北大学软件学院最新操作系统实验
评论
共有 条评论