关于“用C语言实现模拟操作系统进程调度先来先服务”代码中的问题



代码如下,其中从for循环开始,至函数截止所表达的意思和作用我不太明白,求大神尽快解答!!!麻烦了,谢谢!!!

float response_ratio(jobtable job[],int n)/*模拟当前作业表的调度过程*/
 {   int i,j,temp;
     float average_time,ratio1,ratio2;
     job[0].begin_run=job[0].in_well;
     job[0].end_run=job[0].begin_run+job[0].run_time;
     job[0].turnover_time=job[0].end_run-job[0].begin_run;
     average_time=job[0].turnover_time;
     for(i=1;i<n;i++)
     {  if(job[i].in_well<=job[i-1].end_run)
        {  j=i+1;temp=i;
           ratio1=1+(job[i-1].end_run-job[i].in_well)*1.0/job[i].run_time;
           while(j<n&&job[j].in_well<=job[i-1].end_run)
           { 
              ratio2=1+(job[i-1].end_run-job[j].in_well)*1.0/job[j].run_time;
              if(ratio2>ratio1)  temp=j;
              j++;
           }
           if(temp!=i) 
              swap(job,i,temp);
        }
      job[i].begin_run=job[i-1].end_run;
      job[i].end_run=job[i].begin_run+job[i].run_time;
      job[i].turnover_time=job[i].end_run-job[i].in_well;
      average_time=average_time+job[i].turnover_time;
    }
    return(average_time/n);
 }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值