• 实验二(作业调度)FCFS


    #include<stdio.h>
    #define N 24

    typedef struct node
    {
    char name[10]; /*作业名*/
    int proc; //进程优先数*/ 
    int ArriTime;//到达时间
    int StartTime;//开始时间
    int NeedTime; /*进程所需时间*/ 
    int RunTime; /*运行时间*/
    int EndTime;//结束时间
    int ZzTime;//周转时间
    float Zznum;
    char state; //进程的状态*/

    /*struct node *next; 链指针*/
    /*int round; 进程时间轮转时间片*/ 
    /*int count; 计数器*/
    }JCB;

    int main(void){
    JCB job[N];
    int n;
    void input();
    input(job,&n);
    void FCFS();
    FCFS(n);

    }

    void input(JCB job[],int n){

    int tot; //作业个数
    int i;

    printf("请输入作业个数:[2-24] ");
    scanf("%d",&tot);
    for(i=0;i<tot;i++){
    job[i].proc=i;
    printf("输入第[i+1]个作业的作业名,到达时间,所需时间 ");
    scanf("%s",&job[i].name);
    scanf("%d",&job[i].ArriTime);
    scanf("%d",&job[i].NeedTime);
    //scanf("%d",&job[i].EndTime);
    //scanf("%d",&job[i].ZzTime);
    //scanf("%4f",&job[i].Zznum);
    }
    printf("作业名 到达时间 所需时间 ");
    for(i=0;i<tot;i++)
    {
    printf("%s ",job[i].name);
    printf("%5d ",job[i].ArriTime);
    printf("%5d ",job[i].NeedTime);
    //printf("%5d ",job[i].EndTime);
    // printf("%5d ",job[i].ZzTime);
    //printf("%2.1f ",job[i].Zznum);
    }

    }


    void FCFS(int num) //先来先服务算法计算 

    int i,j; 
    for(i=0;i<num;i++)//顺序执行进入队列的作业 
    { if(i==0) //第一个进程 

    job[i].RunTime=job[i].NeedTime; 
    job[i].EndTime=job[i].StartTime+job[i].RunTime; 

    else 

    if(job[i].StartTime>job[i-1].EndTime)//如果当前有作业在执行 

    job[i].RunTime=job[i].NeedTime; 
    job[i].EndTimejob[i].StartTime+job[i].RunTime; 

    else 

    job[i].RunTime=job[i].NeedTime+job[i-1].EndTime-job[i].StartTime;
    job[i].EndTime=job[i].StartTime+jobc[i].RunTime; 

    }

     

  • 相关阅读:
    手动异常处理
    CGRectXXX笔记
    UICollectionView高级实践
    关于流媒体(m3u8)的播放与下载
    关于检测应用安装和流量信息研究
    分析Tapjoy的模式—分发用于ios设备的企业级应用程序
    分析支付宝客户端的插件机制
    Unity3D for iOS初级教程:Part 3/3
    Unity3D for iOS初级教程:Part 2/3
    Unity3D for iOS初级教程:Part 1/3
  • 原文地址:https://www.cnblogs.com/baoan/p/4483942.html
Copyright © 2020-2023  润新知