• 大小: 19KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: 其他
  • 标签:

资源简介

操作系统课程设计时间片轮转和最高响应比优先调度算法

资源截图

代码片段和文件信息

/*** 武汉理工大学 计科院
 ***  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


评论

共有 条评论