多级队列调度算法可视化界面_操作系统:多级反馈队列调度算法模拟(Java实现)...

这是一个Java程序,实现了多级反馈队列调度算法的模拟。程序包括三个队列,每个队列有不同的CPU时间片。进程根据到达时间、运行时间和需要时间进行调度,并在每个时间片后更新其状态。用户可以输入进程数和时间片长度来运行模拟。
摘要由CSDN通过智能技术生成

package com.algorithm.multiStageFeedback;

import java.util.*;

/** * @Class MSFQS * @Description 多级反馈队列调度算法 * @Author Naren * @Date 2020/5/30 10:46 * @Version 1.0 */

public class MSFQS {

/*三个队列*/

private static Queue firstQueue = new LinkedList<>();

private static Queue secondQueue = new LinkedList<>();

private static Queue thirdQueue = new LinkedList<>();

private static int firstTime; //第一队列cpu时间片

private static int secondTime; //第二队列cpu时间片

private static int thirdTime; //第三队列cpu时间片

private static int proNum; //进程数量

private static Scanner sc = new Scanner(System.in);

/** * 内部进程类:模拟进程 */

private static class Progress implements Comparable {

String id; //进程标识符

int reachTime; //到达时间

int cpuTime; //运行时间

int needTime; //仍需时间

char state; //进程状态

/*重排输出格式*/

@Override

public String toString() {

System.out.println();

return String.format("进程%s: %10d %7d %8d %7c\n", id, reachTime, cpuTime, needTime, state);

}

/*重写比较器*/

@Override

public int compareTo( Progress b ) {

//按reachTime从小到大排序

return Float.compare(reachTime, b.reachTime);

}

}

/** * 进程调度算法:Multi-stage feedback queue scheduling algorithm */

private static void progressScheduling(Progress[] pro){

int firstCpu = firstTime;

int secondCpu = secondTime

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值