请高手帮忙——模拟进程调度算法
模拟进程调度算法(本题100分)【问题描述】
进程调度算法FCFS+SJF模拟。编写FCFS+SJF算法,输入一组若干个进程的调度信息,输出根据先来先服务和短进程优先算法的调度结果。(提示:短进程优先算法仅在进程的到达时间一样时,才启用)。完成源程序 os.cpp中fcfs_sjf函数的编写。提醒:每个输出数据之前输出1个‘\t’。
【输入】
输入文件os.in中,第一行数字表示作业或进程总数,如4个作业输入4。第二行开始每行输入1个进程的调度信息,包括进程作业号、进程到达时间和进程估计运行时间。
【输出】
输出文件os.out将得到所输入的进程信息和调度结果的输出。
【输入输出样例1】
os.in os.out
4
1 0 70
2 0 20
3 0 40
4 0 5 输入作业顺序:
1 0 70
2 0 20
3 0 40
4 0 5
FCFSsjf调度结果:
开始时间 作业号 到达时间 运行时间 完成时间 等待时间 周转时间
0 4 0 5 5 0 5
5 2 0 20 25 5 25
25 3 0 40 65 25 65
65 1 0 70 135 65 135
【输入输出样例2】
os.in os.out
5
1 0 70
2 0 20
3 10 40
4 20 5
5 0 10 输入作业顺序:
1 0 70
2 0 20
3 10 40
4 20 5
5 0 10
FCFSsjf调度结果:
开始时间 作业号 到达时间 运行时间 完成时间 等待时间 周转时间
0 5 0 10 10 0 10
10 2 0 20 30 10 30
30 1 0 70 100 30 100
100 3 10 40 140 90 130
140 4 20 5 145 120 125
【数据规模】
对于30%的数据, n<=10;
对于70%的数据, n<=20;
对于100%的数据,n<=30。