资源简介
多级反馈队列进程调度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个文件信息
相关资源
- 升腾Win终端系统升级方法新版.doc
- Uninstall_Cortana_WINCLIENT.CN.rar
- STM32基于rt_thread操作系统的SDHC卡文件
- 操作系统 LRU算法 实验报告 及 程序代
- [免费]车载CE6.0操作系统
- 分页系统模拟实验 操作系统 课程设
- 模拟段页式虚拟存储管理中地址转换
- 操作系统实验——虚存管理实验
- 广工操作系统实验
- 广东工业大学操作系统实验四文件系
- Bochs入门教程[操作系统第一步]
- 操作系统课程设计完整版
- 磁盘调度算法的模拟实现及对比
- 模拟一个文件管理系统
- 二级文件系统(操作系统)
- uCOS编译环境建立 BC45 TASM
- Linux 操作系统实验(全)
- 操作系统实验综合设计【附代码】
- 操作系统共享内存实验
- 操作系统循环首次适应算法
- 操作系统课程设计实现可变分区存储
- 基于GTK的Linux环境下的简易任务管理器
- 操作系统课程设计 二级文件管理系统
- 加快Windows XP操作系统开机速度
- 操作系统教程课后答案华中科技大学
- 51单片机中使用ucos ii的优缺点转
- 51单片机中使用ucos ii的优缺点
- 嵌入式实时操作系统ucos-II 第二版 源
- 计算机操作系统课后_汤小丹_第四版
- 计算机操作系统(第四版)汤小丹课
评论
共有 条评论