非抢占式高优先级调度算法.doc

非抢占式高优先级调度算法.doc

ID:57217183

大小:16.00 KB

页数:3页

时间:2020-08-06

非抢占式高优先级调度算法.doc_第1页
非抢占式高优先级调度算法.doc_第2页
非抢占式高优先级调度算法.doc_第3页
资源描述:

《非抢占式高优先级调度算法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/*非抢占式高优先级调度算法(优先数越大级别越高)算法思想:在按进程达到时间由小到大的顺序输入进程信息后,先对其优先数进行排列,将最先到达的进程的到达时间设为开始时间,计算结束时间,然后对后面到达的时间与该进程的结束时间进行比较,如若小于该进程的结束时间,记录进程的个数,再对其优先数逐个进行比较,将优先数最大的提到前面,每次进程结束都要进行比较,得到执行序列,在依次输出结果*/#include#defineMAX100structhrfs{charname[10];floatarrvitetime;floatstarttime;floatservietime

2、;floatfinishtime;intpriority;//优先数intorder;//进程执行次序intrun_flag;//标记进程状态};hrfsp[MAX];intcount;//排列到达时间//按到达时间与优先数计算执行序列voidHRfs(){floattemp_time=0;inti=0,j;intk,temp_count;intmax_priority;max_priority=p[i].priority;j=1;while((jp

3、[i].priority){max_priority=p[j].priority;i=j;}j++;}k=i;p[k].starttime=p[k].arrvitetime;//开始时间=达到时间p[k].finishtime=p[k].starttime+p[k].servietime;p[k].run_flag=1;temp_time=p[k].finishtime;p[k].order=1;temp_count=1;while(temp_count

4、结束时间并且非处在运行状态if((p[j].arrvitetime<=temp_time)&&(!p[j].run_flag))//判断进程优先数是否大于最大优先数,如果大于,就将其值赋给max_priorityif(p[j].priority>max_priority){max_priority=p[j].priority;k=j;}}p[k].starttime=temp_time;p[k].finishtime=p[k].starttime+p[k].servietime;p[k].run_flag=1;temp_time=p[k].finishtime;temp_co

5、unt++;p[k].order=temp_count;}}voidinput(){inti;printf("请输入进程名到达时间运行时间优先数,例如:a01001");for(i=0;i

6、ti;floatturn_round_time=0,f1,w=0;floatright_turn_round_time;printf("-------------------------------进程完成信息------------------------------------");printf("进程名优先级达到时间运行时间开始时间结束时间周转时间带权周转时间运行次序");for(i=0;i

7、time=f1/p[i].servietime;w+=(f1/p[i].servietime);printf("%s%5d%10.2f%8.2f%8.2f%8.2f%8.2f%8.2f%8d",p[i].name,p[i].priority,p[i].arrvitetime,p[i].servietime,p[i].starttime,p[i].finishtime,f1,right_turn_round_time,p[i].order);}printf("平均周转时间=%5.2f",turn_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。