《操作系统》实验三
作业调度算法模拟(验证性2学时)
1、实验目的:
掌握作业调度的主要功能及算法。
通过模拟作业调度算法的设计加深对作业管理基本原理的理解。
熟悉Linux环境下应用程序的编程方法。
2、实验内容:
(1)作业调度算法(FCFS)编程模拟:
编制一段程序,对所输入的若干作业,输入、输出数据样例如下表所示。按FCFS算法模拟调度,观察、记录并分析调度的输出结果情况。
【输入输出样例1:FCFS算法】
输入
输出
A 0 4
B 1 3
C 2 5
D 3 2
E 4 4
A 0 0 4 4
B 1 4 7 6
C 2 7 12 10
D 3 12 14 11
E 4 14 18 14
#include <>
#include <>
#define SIZE 5
struct Job_type
{
char no[2]; //作业名
int tb; //作业开始时间(分)
int tr; //运行时间(分)
}x,job[5];
void load()
{ int i;
printf("\nEnter the Jobs' datas:\n");
for(i=0;i<SIZE;i++)
scanf("%s%d%d",&job[i].no,&job[i].tb,&job[i].tr);
printf("输入作业顺序:\n");
for(i=0;i<SIZE;i++)
printf("\t%s\t%d\t%d\n",job[i].no,job[i].tb,job[i].tr);
}
void fcfs()
{ 。。。。
}
void main()
{
load();
fcfs();
}
(2)作业调度算法(SJF)编程模拟:编程实现由短作业优先算法对模拟作业的调度,输入、输出数据样例如下表所示。观察分析运行结果。
【输入输出样例2:SJF算法】
输入
输出
A 0 4
B 0 3
C 0 5
D 0 2
E 0 1
A 0 6 10 4
B 0 3 6 3
C 0 10 15 5
D 0 1 3 2
E 0 0 1 1
#include <>
#include <>
#define SIZE 5
struct Job_type
{
char no[2]; //作业名
int tb; //作业开始时间(分)
int tr; //
操作系统实验三 来自淘豆网m.daumloan.com转载请标明出处.