-
大小: 23KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-29
- 語言: 其他
- 標(biāo)簽: 操作系統(tǒng)??Swing??GUI??進(jìn)程調(diào)度??
資源簡介
多級反饋隊列進(jìn)程調(diào)度GUI實(shí)現(xiàn),使用Swing編寫的一個可視化界面,支持進(jìn)程的動態(tài)創(chuàng)建,進(jìn)程調(diào)度過程可視化。

代碼片段和文件信息
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(“進(jìn)程調(diào)度模擬(多級反饋隊列)“);
????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“);
????//設(shè)置優(yōu)先級最高(即49)的隊列的時間片大小默認(rèn)值(單位:秒)
????public?static?double?timeSlice?=?0.5;
????public?static?double?PCBsQueuesTimeSlice[]?=?new?double[50];
????//多級反饋隊列
????public?static?PCBsQueue[]?PCBsQueues?=?new?PCBsQueue[50];
????//記錄已經(jīng)使用的pid
????public?static?int[]?pidsUsed?=?new?int[101];
????//當(dāng)前內(nèi)存中的進(jìn)程數(shù)
????public?static?int?currentPCBsNum?=?0;
????//內(nèi)存中能夠容納的最大進(jìn)程數(shù)(這里取決于可分配的pid的個數(shù))
????public?static?final?int?PCBS_MAX_NUM?=?100;
????//是否停止調(diào)度
????public?static?boolean?isStopScheduling;
????//很短的main函數(shù)
????public?static?void?main(String[]?args)
????{
????????new?MFQSimulation().initWindow();
????}
????//執(zhí)行窗口初始化
????public?void?initWindow()
????{
????????//設(shè)置窗口風(fēng)格為Windows風(fēng)格
????????setWindowsstyle();
????????//創(chuàng)建菜單欄
????????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);
????????//為控件綁定監(jiān)聽器
????????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個文件信息
評論
共有 條評論