实验内容
- 实验环境和开发平台
1.操作系统:WINDOWS 10及以上
2.开发工具:Eclipse IDE for Java Developers - 2021-12
3.实验设备:PC
- 主要数据结构的定义和描述
class PCB {
String name;//进程名
int arriveTime;//到达时间
int needTime;//要求运行时间
int priority;//优先数
int runTime;//已运行时间
int trunTime;//周转时间
int leftTime;//剩余时间
int overTime;//结束时间
int startTime;//开始时间
int time;//记录是不是第一次运行
}
int n;//进程数
int t;//时间片大小
int count = 0;//当前时间片
int acount = 0;//当前时间
- 程序模块构成
- void noreinput(LinkedList<PCB> noreList) //未进入队列输入
- void readyInput(LinkedList<PCB> aList, LinkedList<PCB> bList, int u) //从aList到bList输入,u用来选择不同处理模式
- void sorted(LinkedList<PCB> list) //未进入队列排序
- void sort(LinkedList<PCB> list) //优先数排序
- void output(LinkedList<PCB> runList, LinkedList<PCB>readyList,LinkedList<PCB> noreList, LinkedList<PCB> endList) //运行队列
- 主要的算法(算法流程图)
- 程序的总体流程图
- 两种的调度算法流程图
- 程序运行的画面截图及说明
- 实验小结
我知道程序里还有很多bug,不过改bug真的蛮辛苦哈哈,日后再继续吧。有需要或建议可以评论区跟我讲,谢谢大家。
- 附录 源程序代码
package operatingSystem;
import java.util.LinkedList;
import java.util.Scanner;
public class RR {
//进程控制块PCB
class PCB {
String name;//进程名
int arriveTime;//到达时间
int needTime;//要求运行时间
int priority;//优先数
int runTime;//已运行时间