一、目的和要求
1. 实验目的

(1)加深对作业调度算法的理解;

(2)进行程序设计的训练。

2.实验要求

用高级语言编写一个或多个作业调度的模拟程序。

二、实验内容
根据指定的实验课题,完成设计、编码和调试工作,完成实验报告。

三、实验环境
可以采用TC,也可以选用Windows下的利用各种控件较为方便的VB,VC等可视化环境。也可以自主选择其他实验环境。

四、实验原理及核心算法参考程序段

#include<stdio.h>
#define N 5
typedef struct JOB
{
char name[N];
int clock;
int time;
char zt;
}JOB;
//void FCFS(int n,JOB job[]);
//void SJF(int n,JOB job[]);
//void HRRN(int n,JOB job[]);
void main(){
    int n;    
    int i,m;
    JOB job[N];
    printf("请输入作业个数:(2到5个)");
    scanf("%d",&n);

    for(i=0;i<n;i++)
    {
        printf("按顺序输入第%d个作业的作业名,到达时间,完成作业所需时间\n",i+1);
        scanf("%s",&job[i].name);
        getchar();
        scanf("%d",&job[i].clock);
        getchar();
        scanf("%d",&job[i].time);
        printf("第%d个作业的作业名为%s,到达时间为%3d,完成作业所需时间为%3d\n",i+1,job[i].name,job[i].clock,job[i].time);

    }
    printf("请选择算法:\n");
    printf("选择先来先服务算法请输入1;\n");
    printf("选择短作业优先算法请输入2;\n");
    printf("选择最高相应比算法请输入3;\n");
    scanf("%d",&m);
    if(m==1)    FCFS(n,job);
    else if(m==2)    SJF(n,job);
    else if(m==3) HRRN(n,job);
    else printf("!!输入错误!\n");
}

 

五、实验结果

六、实验总结

在完成这个实验的时候,具体作业调度算法是会的,但是由于还需要按到达时间或是完成所需时间排序,这里卡住了,

总体来说,实验内容的核心已经理解了。

 

 

 

 posted on 2015-04-30 09:33  19-胡晓瑜  阅读(250)  评论(0编辑  收藏  举报