资源简介
操作系统课程设计时间片轮转和最高响应比优先调度算法
代码片段和文件信息
/*** 武汉理工大学 计科院
*** 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
- 上一篇:软件设计模式大作业样例
- 下一篇:旧城 锁电脑木马生成器
相关资源
- 设计一个按时间片轮转法实现处理机
- 设计一个按时间片轮转法实现处理器
- 时间片轮转算法的进程调度程序
- 进程调度 时间片轮转与优先级 作业调
- 操作系统进程调度算法 先来先服务
- 操作系统实验二 时间片轮转RR进程调
- 操作系统实验六 设计一个按时间片轮
- 使用动态优先权和时间片轮转的进程
- 进程调度模拟设计—时间片轮转、非
- 时间片轮转、最高响应比优先调度算
- 时间片轮转算法在单片机程序设计中
- 操作系统实验报告 时间片轮转算法
- 模拟进程调度------进程的FCFS、动态优
- 操作系统 基于优先数的时间片轮转调
- 操作系统实验++时间片轮转法++静态优
- 操作系统实验——基于时间片轮转法
- 进程调度时间片轮转银行家算法作业
- 时间片轮转RR进程调度算法
- 操作系统实验报告-进程管理实验-时间
- 进程调度 时间片轮转法 操作系统实验
- UCOS 时间片轮转调度算法详解
评论
共有 条评论