资源简介
多级反馈队列进程调度GUI实现,使用Swing编写的一个可视化界面,支持进程的动态创建,进程调度过程可视化。
代码片段和文件信息
package com.wuchangi;
/*
* @program: MFQ
* @description: MFQSimulation
* @author: WuchangI
* @create: 2018-05-20-22-04
**/
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.util.Arrays;
import java.util.linkedList;
public class MFQSimulation
{
private static Jframe frame = new Jframe(“进程调度模拟(多级反馈队列)“);
private static JPanel panel = new JPanel();
private static JScrollPane scrollPane = new JScrollPane(panel ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
//菜单组件
private static JMenuBar menuBar = new JMenuBar();
private static JMenu processSettingsMenu = new JMenu(“Process Settings“);
private static JMenuItem createProcessItem = new JMenuItem(“Create A Process“);
private static JMenuItem startMFQItem = new JMenuItem(“Start Scheduling“);
private static JMenuItem stopMFQItem = new JMenuItem(“Stop Scheduling“);
private static JMenuItem setTimeSliceItem = new JMenuItem(“Set Time Slice“);
private static JMenuItem exitSystemItem = new JMenuItem(“Exit“);
private static JMenu helpMenu = new JMenu(“Help“);
private static JMenuItem aboutItem = new JMenuItem(“About“);
//设置优先级最高(即49)的队列的时间片大小默认值(单位:秒)
public static double timeSlice = 0.5;
public static double PCBsQueuesTimeSlice[] = new double[50];
//多级反馈队列
public static PCBsQueue[] PCBsQueues = new PCBsQueue[50];
//记录已经使用的pid
public static int[] pidsUsed = new int[101];
//当前内存中的进程数
public static int currentPCBsNum = 0;
//内存中能够容纳的最大进程数(这里取决于可分配的pid的个数)
public static final int PCBS_MAX_NUM = 100;
//是否停止调度
public static boolean isStopScheduling;
//很短的main函数
public static void main(String[] args)
{
new MFQSimulation().initWindow();
}
//执行窗口初始化
public void initWindow()
{
//设置窗口风格为Windows风格
setWindowsstyle();
//创建菜单栏
processSettingsMenu.add(createProcessItem);
processSettingsMenu.addSeparator();
processSettingsMenu.add(startMFQItem);
processSettingsMenu.addSeparator();
processSettingsMenu.add(stopMFQItem);
processSettingsMenu.addSeparator();
processSettingsMenu.add(setTimeSliceItem);
processSettingsMenu.addSeparator();
processSettingsMenu.add(exitSystemItem);
helpMenu.add(aboutItem);
menuBar.add(processSettingsMenu);
menuBar.add(helpMenu);
frame.setJMenuBar(menuBar);
initMemory();
panel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
frame.setContentPane(scrollPane);
frame.setSize(800 700);
frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
frame.setVisible(true);
//为控件绑定监听器
setComponentsListen
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 289 2018-05-26 00:19 MFQTest\.idea\artifacts\MFQTest_jar.xm
文件 277 2018-05-24 09:02 MFQTest\.idea\misc.xm
文件 254 2018-05-24 09:02 MFQTest\.idea\modules.xm
文件 46524 2018-05-26 00:25 MFQTest\.idea\workspace.xm
文件 423 2018-05-24 09:02 MFQTest\MFQTest.iml
文件 644 2018-05-24 12:25 MFQTest\out\production\MFQTest\com\wuchangi\DrawLinePanel.class
文件 639 2018-05-24 12:25 MFQTest\out\production\MFQTest\com\wuchangi\MFQSimulation$1.class
文件 644 2018-05-24 12:25 MFQTest\out\production\MFQTest\com\wuchangi\MFQSimulation$2.class
文件 643 2018-05-24 12:25 MFQTest\out\production\MFQTest\com\wuchangi\MFQSimulation$3.class
文件 638 2018-05-24 12:25 MFQTest\out\production\MFQTest\com\wuchangi\MFQSimulation$4.class
文件 660 2018-05-24 12:25 MFQTest\out\production\MFQTest\com\wuchangi\MFQSimulation$5.class
文件 889 2018-05-24 12:25 MFQTest\out\production\MFQTest\com\wuchangi\MFQSimulation$6.class
文件 2298 2018-05-24 12:25 MFQTest\out\production\MFQTest\com\wuchangi\MFQSimulation$7.class
文件 9156 2018-05-24 12:25 MFQTest\out\production\MFQTest\com\wuchangi\MFQSimulation.class
文件 1261 2018-05-24 09:07 MFQTest\out\production\MFQTest\com\wuchangi\PCB.class
文件 1042 2018-05-24 09:07 MFQTest\out\production\MFQTest\com\wuchangi\PCBsQueue.class
文件 65 2018-05-26 00:19 MFQTest\out\production\MFQTest\me
文件 15848 2018-05-24 12:23 MFQTest\src\com\wuchangi\MFQSimulation.java
文件 1215 2018-05-24 09:06 MFQTest\src\com\wuchangi\PCB.java
文件 751 2018-05-24 09:07 MFQTest\src\com\wuchangi\PCBsQueue.java
文件 65 2018-05-26 00:19 MFQTest\src\me
目录 0 2018-05-24 12:25 MFQTest\out\production\MFQTest\com\wuchangi
目录 0 2018-05-24 09:07 MFQTest\out\production\MFQTest\com
目录 0 2018-05-26 00:19 MFQTest\out\production\MFQTest\me
目录 0 2018-05-26 00:24 MFQTest\out\artifacts\MFQTest_jar
目录 0 2018-05-26 00:19 MFQTest\out\production\MFQTest
目录 0 2018-05-24 12:23 MFQTest\src\com\wuchangi
目录 0 2018-05-26 00:19 MFQTest\.idea\artifacts
目录 0 2018-05-24 09:03 MFQTest\.idea\inspectionProfiles
目录 0 2018-05-26 00:19 MFQTest\out\artifacts
............此处省略10个文件信息
相关资源
- 嵌入式系统外文翻译
- 操作系统课程设计生产者与消费者
- yap 一个基于s3c2440的操作系统
- 进程同步与互斥 生产者与消费者问题
- 操作系统+算法导论+计算机网络知识
- 操作系统实验报告实验一 WINDOWS进程初
- 华中科技大学操作系统实验报告
- 操作系统原理实验-虚拟存储器
- 线程和进/线程管道通信实验操作系统
- 山东大学 操作系统实验报告1-7
- 操作系统实验11
- 计算机操作系统第3版|微课版习题答案
- 东北大学软件学院BB平台操作系统截至
- 天津理工大学,操作系统实验报告*
- 收藏奉献_微机磁盘操作系统07号:P
- 操作系统复习题及答案
- 操作系统实验六 设备管理 实验报告
- 操作系统实验.rar
- 最新操作系统试题及答案
- Linux操作系统实验报告
- 现代操作系统第四版答案.zip
- 操作系统接口:Windows命令接口
- 东北大学博士分布式操作系统2007入学
- 操作系统课程设计进程调度 存储管理
- 操作系统实验,进程调度,作业调度
- 北京大学操作系统期末试题(有答案
- 广工操作系统课设代码及文档
- 操作系统进程调度算法 先来先服务
- 操作系统:真相还原高清版本
- 电子科技大学计算机学院操作系统实
评论
共有 条评论