ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:44.87KB ,
资源ID:16568314      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16568314.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(操作系统实验 四种调度算法文档格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

操作系统实验 四种调度算法文档格式.docx

1、 float excellent; int start_time; /开始时间 int wait_time; /等待时间 int visited; /已读取次数 JOB() number=0; reach_time=0; reach_hour=0; reach_minite=0; need_time=0; privilege=0; excellent=0.0; start_time=0; wait_time=0; visited=0; JOB& Copy(JOB js) int i=0; while(jsi.number&jsi.number0) i+; JOB *js2=new JOBi;

2、for(int j=0;jCopy (job); int current_hour; int current_minute; int total_time=0; /输出作业流 coutendl;endlFIFO调度算法: cout.setf(2);setw(10)作业号:setw(12) 到达时间:setw(12)开始时间:setw(14)周转时间(分): current_hour=jobs0.reach_hour; current_minute=jobs0.reach_minite; for(int i=0;iquantity;i+) jobsi.start_time=current_hou

3、r*100+current_minute; jobsi.wait_time=(current_hour-jobsi.reach_hour) *60+(current_minute-jobsi.reach_minite)+jobsi .need_time; coutjobsi.number jobsi.reach_timejobsi.start_timesetw(14)jobsi.wait_time current_hour=current_hour+(jobsi.need_time+current_minute)/60; current_minute=(jobsi.need_time+curr

4、ent_minute)%60; total_time+=jobsi.wait_time; 总周转时间:total_time 平均周转时间:total_time/quantity /运算时间短的作业优先算法 void Shorter(JOB job,int quantity) int i,j,p; int current_need_time;时间短作业优先算法:作业号:到达时间:所需时间(分):开始时间:周转时间(分): current_hour=jobsquantity-1.reach_hour; current_minute=jobsquantity-1.reach_minite; for(

5、i=0;i+) current_need_time=30000; for(j=0;j+) if(jobsj.visited=0)&(jobsj.need_timecurrent_need_time) p=j; current_need_time=jobsj.need_time; jobsp.start_time=current_hour*100+current_minute; jobsp.wait_time=(current_hour-jobsp.reach_hour) *60+(current_minute-jobsp.reach_minite)+jobsp .need_time;jobsp

6、.numberjobsp.reach_timejobsp.need_timejobsp.start_timejobsp.wait_time1): current_privilege=30000;(jobsj.privilegecurrent_excellent) current_excellent=jobsj.excellent; jobsp.wait_time=(current_hour-jobsp.reach_hour)*60+(current_minute-jobsp.reach_minite)+jobsp .need_time;jobsp.numberjobsp.reach_timej

7、obsp.start_timeint main(void) *调度模拟*nnn int quantity=0; /数量 JOB jobsMAXJOB;请输入作业数据文件名:n; FILE *fp; char fname20; cinfname; fp=fopen(fname,r);/以只读方式打开文件 if(!fp)打开文件错误!) else while(!feof(fp) fscanf(fp,%d %d %d %d, &jobsquantity.number,jobsquantity.reach_time,jobsquantity.need_time,jobsquantity.privile

8、ge); jobsquantity.reach_hour=jobsquantity.reach_time/100; jobsquantity.reach_minite=jobsquantity.reach_time%100; quantity+; /输出初始作业数据 初始作业数据: cout.setf(2);所需时间(分):优先级:1) for(int i=0; coutjobsi.number jobsi.reach_timejobsi.need_timejobsi.privilegelb:请选择调度算法:tt1-先进先出调度算法ntt2-短作业优先ntt3-优先级调度算法ntt4-响应比最

9、高调度算法 int flag=0;la:flag; switch (flag) case 1: FIFO(jobs,quantity); break;/先进先出调度算法 case 2: Shorter(jobs,quantity);break;/短作业优先 case 3: Privilege(jobs,quantity); /优先级调度算法 case 4: Excellent(jobs,quantity); /响应比最高调度算法 default:cout请输入1-4之间的数goto lb; goto la; return 0;数据文件:data.txt1 700 40 12 723 32 23 821 25 34 823 21 45 900 15 66 912 10 47 930 51 5总结及程序简介:1首先将数据存在data.txt文件中,在主函数中读入数据存入数组jobs中2定义类JOB包含属性:int number;int reach_minite; 方法:构造函数JOB() 复制函数Copy()实现一个对象2分别实现调度算法,然后在主函数中依次调用调试结果:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1