資源簡介
操作系統課程設計時間片輪轉和最高響應比優先調度算法

代碼片段和文件信息
/***?武漢理工大學?計科院
?***??0708?陳揚
?***??(最高響應比)?時間輪轉法
?*/
package?HRN;
import?java.awt.*;
import?java.awt.event.*;
import?java.awt.event.*;
import?java.util.*;
import?javax.swing.*;
public?class?test1?extends?Jframe?implements?ActionListener?{
//最大進程數和臨時變量
int?max_size=6;
float?itemp=0;
ArrayList?al?=?new?ArrayList(); //重點,用于保存進程類的數組
//?界面一變量和控件
int?pro_count?=?0; //進程數初始化為0
JPanel?jp1?=?new?JPanel();
JButton?jp1jb1?=?new?JButton(“確定“);
JTextField?jp1jt1?=?new?JTextField();
JLabel?jp1jl1?=?new?JLabel(“請輸入進程數:“);
Jframe?jf1?=?new?Jframe();
JTextArea?jp1jl2?=?new?JTextArea(“進程調度模擬設計--時間片輪轉、最高響應比優先調度算法“?+?‘\n‘
+?“問題描述??:“?+?‘\n‘?+?“模擬進程調度,能夠處理以下的情形“?+?‘\n‘
+?“⑴?能夠選擇不同的調度算法(要求中給出的調度算法)“?+?‘\n‘
+?“⑵?能夠輸入進程的基本信息,如進程名、到達時間和運行時間等“?+?‘\n‘?+?“⑶?根據選擇的調度算法顯示進程調度隊列“
+?‘\n‘?+?“⑷?根據選擇的調度算法計算平均周轉時間和平均帶權周轉時間。“+‘\n‘
+“?????????????????????????武漢理工:0708“+‘\n‘
+“?????????????????????????作者:陳揚“);
//?界面二變量和控件
JPanel?jp2?=?new?JPanel();
JLabel[]?jp2jl?=?{?new?JLabel(“進程名“)?new?JLabel(“提交時間“)
new?JLabel(“運行時間“)?};
JTextField?jtemp[][];
JButton?jp2jb1=new?JButton(“確定“);
//界面三變量和控件
Jframe?jf2=new?Jframe();
JPanel?jp3?=?new?JPanel();
JLabel?jp3jl1[]?=?{?new?JLabel(“次序“)?new?JLabel(“進程名“)?new?JLabel(“提交時間“)
new?JLabel(“運行時間“)?new?JLabel(“開始時間“)?new?JLabel(“完成時間“)
new?JLabel(“周轉時間 “)?new?JLabel(“帶權周轉時間“)?};
JButton?jp3jb?=?new?JButton(“進入時間輪轉法“);
JLabel?jp3jl3[]={new?JLabel(“平均周轉時間:“)new?JLabel()new?JLabel(“平均帶權周轉:“)new?JLabel()};;
JLabel?jp3jl2[][];
JLabel?jp3jl=new?JLabel(“最高響應比算法計算如下:“);
/***?初始化?
?***顯示界面一?
?***輸入進程數
?***/
public?test1()?{
jp1.setLayout(null);
jp1.setVisible(true);
jp1.add(jp1jl1);
jp1jl1.setBounds(30?30?100?50);
jp1.add(jp1jt1);
jp1jt1.setBounds(160?30?100?50);
jp1.add(jp1jb1);
jp1jb1.setBounds(80?100?100?50);
jp1jb1.addActionListener(this);
jp1.setBackground(Color.green);
jp1jl2.setBounds(0?200?350?300);
jp1jl2.setBackground(Color.green);
jp1jl2.setFont(new?Font(“宋體“?Font.BOLD?16));
jp1jl2.setLineWrap(true);
jp1jl2.setEditable(false);
jp1.add(jp1jl2);
jf1.add(jp1);
jf1.settitle(“時間輪轉法(HRN)“);
jf1.setDefaultCloseOperation(EXIT_ON_CLOSE);
jf1.setBounds(100?100?355?500);
jf1.setVisible(true);
jf1.setResizable(false);
}
/***
?***界面一,界面二按鈕事件的響應
?*/
public?void?actionPerformed(ActionEvent?e)?{
//?界面一的按鈕事件——創建界面二,?輸入各進程的信息
if?(e.getSource()?==?jp1jb1)?{
try?{
if?(jp1jt1.getText().equals(““))?{??//空輸入為錯
JOptionPane.showMessageDialog(null?“請輸入進程數:“);
jp1jt1.setText(““);
}?else?if?(Integer.parseInt(jp1jt1.getText())?>?max_size)?{?//輸入進程數過大
JOptionPane.showMessageDialog(null?“哇,怎么多進程,待會要死機啦“);
jp1jt1.setText(““);
}?else?{
Jframe2(); ?//界面切換
jp1.setVisible(false); //界面一隱藏
}
}?catch?(Exception?ex)?{??? //輸入字符為錯,因為Jframe2中用了將字符轉換為int類型的函數
JOptionPane.showMes
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????379??2010-01-13?16:43??HRN\.project
?????文件????????232??2010-01-13?16:43??HRN\.classpath
?????文件???????3612??2010-01-23?00:18??HRN\bin\HRN\test3.class
?????文件????????723??2010-01-17?16:56??HRN\bin\HRN\test2.class
?????文件???????5121??2010-01-17?18:50??HRN\bin\HRN\test1$jpanel3.class
?????文件???????5998??2010-01-17?18:50??HRN\bin\HRN\test1.class
?????文件???????2248??2010-01-23?00:18??HRN\bin\HRN\test3$refill.class
?????文件???????2764??2010-01-23?00:18??HRN\bin\HRN\test3$fill.class
?????文件??????10674??2010-01-17?18:50??HRN\src\HRN\test1.java
?????文件????????525??2010-01-17?16:56??HRN\src\HRN\test2.java
?????文件???????7472??2010-01-23?00:18??HRN\src\HRN\test3.java
?????目錄??????????0??2010-01-27?22:43??HRN\bin\HRN
?????目錄??????????0??2010-01-27?22:43??HRN\src\HRN
?????目錄??????????0??2010-01-27?22:43??HRN\bin
?????目錄??????????0??2010-01-27?22:43??HRN\src
?????目錄??????????0??2010-01-27?22:43??HRN
-----------?---------??----------?-----??----
????????????????39748????????????????????16
- 上一篇:軟件設計模式大作業樣例
- 下一篇:舊城 鎖電腦木馬生成器
評論
共有 條評論