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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

FCFS和SJF调度算法1.docx

1、FCFS和SJF调度算法1以下参考的别人的:FCFS和SJF调度算法思想和实现算法算法思想:设计程序模拟进程的先来先服务FCFS和短作业优先SJF调度过程。假设有n个进程分别在T1, ,Tn时刻到达系统,它们需要的服务时间分别为S1, ,Sn。分别采用先来先服务FCFS和短作业优先SJF进程调度算法进行调度,计算每个进程的完成时间,周转时间和带权周转时间,并且统计n个进程的平均周转时间和平均带权周转时间。源程序:#include #include staticconstint N=100;intarrivalTimeN;/到达时间intserviceTimeN;/服务时间intfinishTi

2、meN;/完成时间intWholeTimeN;/周转时间double WeightWholeTimeN;/带权周转时间double averageWT,averageWWT;/平均周转时间intserviceTime_SJFN;int n=0;intnowTime=0;/记录当前时间inti;void FCFS() coutn=FCFS调度算法=n; for(i=0;inowTime) nowTime=arrivalTimei; nowTime+=serviceTimei; finishTimei=nowTime; for(inti=0;in;i+) WholeTimei=finishTime

3、i-arrivalTimei; for(inti=0;in;i+) WeightWholeTimei=(double)WholeTimei/(double)serviceTimei; for(inti=0;in;i+) averageWT+=(double)WholeTimei/n; averageWWT+=(double)WeightWholeTimei/n; void SJF()coutn=SJF调度算法=n; int min=0; nowTime=arrivalTime0+serviceTime0; finishTime0=nowTime; serviceTime_SJF0=100; i

4、ntallin=0,j,k; for(i=1;in;i+) k=1; min=0; if(allin=0) j=0; while(arrivalTimej=nowTime& jn) allin=1; else j=n; j=j-1; while(kserviceTime_SJFk) min=k; k+; serviceTime_SJFmin=0; nowTime+=serviceTimemin; finishTimemin=nowTime; for(inti=0;in;i+) WholeTimei=finishTimei-arrivalTimei; for(inti=0;in;i+) Weig

5、htWholeTimei=(double)WholeTimei/(double)serviceTimei; averageWT=0;averageWWT=0; for(inti=0;in;i+) averageWT+=(double)WholeTimei/n; averageWWT+=(double)WeightWholeTimei/n; void sortOn()/进程按照到达或者服务时间进行排序 int temp; for(inti=0;in;i+) for(int k=0;kn-i-1;k+) if(arrivalTimek+1arrivalTimek) temp=arrivalTime

6、k+1; arrivalTimek+1=arrivalTimek; arrivalTimek=temp; temp=serviceTimek+1; serviceTimek+1=serviceTimek; serviceTimek=temp; void input() coutn; cout100|n=0) cout进程个数必须大于0且小于等于100!请重新输入进程个数endl; cout请输入这N个进程的到达时间:nn; for(inti=0;iM; arrivalTimei=M; coutendl;cout请输入这N个进程的对应的服务时间:nn; for(inti=0;iM; servic

7、eTimei=M; serviceTime_SJFi=M; coutendl; cout您输入的这N个进程的信息如下:nn; sortOn();/进程按照到达时间进行排序 cout进程名tt; for(inti=0;in;i+) char c=i+65; coutct; coutn到达时间t; for(inti=0;in;i+) coutarrivalTimeit;coutn服务时间t; for(inti=0;in;i+) coutserviceTimeit; coutendlendl;void output()cout进程名tt;for(inti=0;in;i+) char c=i+65;

8、coutct; cout平均n到达时间t; for(inti=0;in;i+) coutarrivalTimeit;coutn服务时间t; for(inti=0;in;i+) coutserviceTimeit; coutn完成时间t; for(inti=0;in;i+) coutfinishTimeit; coutn周转时间t; for(inti=0;in;i+) coutWholeTimeit; coutaverageWTsetprecision(3)n带权周转时间t;for(inti=0;in;i+) coutWeightWholeTimeit;coutaverageWWTsetprecision(3)endl; void main() coutc; getchar();

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

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